twitchbot
A maubot plugin to get Twitch live stream notifications.
Installation
Either download an .mbp
file from the release assets or build one yourself.
Then, upload it to your maubot instance.
Configuration
Before configuring your instance, you must first register a new application 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 <channel>
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.