A hackety chat bot I wrote for my twitch stream. I wanted to learn asyncio and this felt like a decent project to dive in on.
Set up a configuration file
{
"username": "...",
"channel": "...",
"oauth_token": "...",
"client_id": "...",
"airnow_api_key": "..."
}
username
: the username of the bot accountchannel
: the irc channel to connect to, for twitch this is the same as
the streamer's channel nameoauth_token
: follow the directions here to get a tokenclient_id
: set up an application for your chat bot hereairnow_api_key
: api key for https://airnowapi.orgUse python3.8 or newer and install the dependencies in requirements.txt
virtualenv venv -ppython3.8
venv/bin/pip install -r requirements.txt
Run! venv/bin/python -m bot
!help
List all the currently supported commands
anthonywritescode: !help
anthonywritescodebot: possible commands: !help, !ohai, !uptime
!ohai
Greet yo self
anthonywritescode: !ohai
anthonywritescodebot: ohai, anthonywritescode!
!uptime
Show how long the stream has been running for
anthonywritescode: !uptime
anthonywritescodebot: streaming for: 3 hours, 57 minutes, 17 seconds
PING ...
Replies PONG
to whatever you say
anthonywritescode: PING
anthonywritescodebot: PONG
anthonywritescode: PING hello
anthonywritescodebot: PONG hello
!discord
Show the discord url
anthonywritescode: !discord
anthonywritescodebot: We do have Discord, you are welcome to join: https://discord.gg/xDKGPaW
!followage [username]
Show how long you or a user you specified have been following the channel
not_cool_user: !followage
anthonywritescodebot: not_cool_user is not a follower!
cool_user: !followage
anthonywritescodebot: cool_user has been following for 3 hours!
some_user: !followage another_user
anthonywritescodebot: another_user has been following for 5 years!
!joke
Get a joke
anthonywritescode: !joke
anthonywritescodebot: The best thing about a Boolean is even if you are wrong, you are only off by a bit.