# twitchbot A [maubot](https://github.com/maubot/maubot) plugin to get Twitch live stream notifications. ## Installation Either download an `.mbp` file from the [release assets](https://laboon.dev/brad/twitchbot/releases) or [build one yourself](#building). Then, [upload](https://docs.mau.fi/maubot/usage/basic.html#uploading-plugins) it to your maubot instance. ## Configuration Before configuring your instance, you must first [register a new application](https://dev.twitch.tv/console/apps/create) using your Twitch account on the dev console. When registering the application, use `http://localhost` as the Redirect URL and "Confidential" as the Client Type. After registration, click "Manage" next to your new application and then click "New Secret" to generate a new client secret. Make note of both the Client ID and Client Secret. This plugin has the following settings you can configure: ### `client_id` Fill this in with the client ID you generated earlier. ### `client_secret` Likewise, fill this in with the client secret you generated earlier. ### `notify_channels` A list of Twitch channels for which you will be notified when they go live. ### `notify_room` The room ID of the Matrix room where notifications will be sent. Make sure your bot user is added to this room. ### `matrix_users` (Optional) A mapping of Twitch users to Matrix users. This will allow the bot to @ mention users when they go live. ### Example config ``` client_id: 'my_client_id' client_secret: 'my_client_secret' notify_channels: - twitch_channel1 - twitch_channel2 - twitch_channel3 notify_room: '!matrix_room:example.com' matrix_users: twitch_channel1: '@matrix_user1:example.com' twitch_channel2: '@matrix_user2:example.com' ``` ## Usage Once configured, notifications will automatically be sent to the specified room whenever one of the specified channels goes live. You can use `!twitch ` to get the current status of any Twitch channel. ## Building Use the `mbc` tool to build this plugin: ``` mbc build ``` Optionally, use the `-u` switch to upload it to your maubot instance, if configured: ``` mbc build -u ``` Since `.mbp` files are just zip archives with a different name, you can also just zip the files of this repository: ``` zip -r twitchbot.mbp * ``` ## License This project is licensed under the GNU Affero General Public License v3.0, see [LICENSE](LICENSE).