A Twitch chat bot that implements RPG gameplay elements, inspired by the Ada RPG bot but with improved code organization and additional features. If there is anything you wanted added, please, create a issue in Github using the 'Enhancement' tag, or if there is a bug, create one with the 'Bug' tag.
-
Class System: Players can choose from different classes including:
- Druid
- Cat
- Bard
- Barbarian
-
Chat Commands:
!start- Begin your adventure by choosing a class!class <classname>- Select your character class!intro- Display bot information!remind <time> [message]- Set a reminder (e.g. "!remind 3m" or "!remind 2h")!followers- Display channel follower count!so <username>- Shoutout another streamer!cwa <message>- Send a channel-wide announcement
- Create a
.envfile with your Twitch credentials:
CLIENT_ID=your_client_id
CLIENT_SECRET=your_client_secret- Install required Python packages:
pip install flask python-dotenv requests- Run the OAuth flow to get initial tokens:
python twitch_oauth_flow.py-
Set up channels to be run on (Do not remove the hashtag): Line 16, channel from '#Starry0Wolf' to '#YOUR-CHANNEL-HERE'
-
Run the main file:
python main.pymain.py- Main bot logic and command handlingtwitch_oauth_flow.py- Handles Twitch authenticationclasses.json- Defines available character classesplayers.json- Stores player data and progress.env- Environment variables (not tracked in git)tokens.json- OAuth tokens (not tracked in git)
The bot is written in Python and uses:
- Socket connections for Twitch IRC chat
- Flask for OAuth token management
- JSON for data storage
- Threading for reminder functionality
This project is open source and available under the MIT License.
Created by Starry0Wolf as an improved alternative to the Ada RPG bot.