A Discord bot written in Python featuring a fantasy rat innkeeper named Sławek who provides dice rolling functionality, scheduling features, and AI-powered character interactions.
- Standard dice rolling with
.rollor.r- Supports standard D&D dice notation (e.g.,
1d20,2d6+3) - Advantage/disadvantage rolls with
adv/diskeywords
- Supports standard D&D dice notation (e.g.,
- Multiple rolls with
.multirollor.rr- Roll the same dice multiple times
- Iterative rolls with
.iterrollor.rrr- Roll against DC with success tracking
- Custom critical success/failure messages
- Markdown-formatted output
- Weekly game scheduling automation
- Reaction-based availability tracking
- Custom emoji support
- Automatic day/time aggregation
- Threshold-based availability indicators
- Interactive fantasy rat innkeeper character
- Context-aware responses based on channel categories
- Character memory system
- Custom response strategies per user
- Natural language processing using GPT-4
- Python 3.10+
- Discord Bot Token
- OpenAI API Key
Create a .env file with:
DISCORD_TOKEN=your_discord_bot_token
OPENAI_API=your_openai_api_key
SCHEDULE_CHANNEL=your_schedule_channel_id- Clone the repository:
git clone https://github.com/Butterski/evil-rat-bot.git
cd evil-rat-bot- Install dependencies:
pip install -r requirements.txt- Configure the bot:
- Copy
cogs/askRat/channelconfig_template.jsontochannelconfig.json - Copy
cogs/askRat/charinfos_template.jsontocharinfos.json - Update both files with your server's configuration
- Copy
chmod +x run.sh
./run.shdocker build -t evil-rat-bot .
docker run -d evil-rat-bot{
"categories": [category_id_1, category_id_2],
"channels": [channel_id_1, channel_id_2]
}{
"user_nickname": {
"info": "General information about the user",
"character": "User's character description",
"response_strategy": "How the bot should respond to this user"
}
}- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Submit a pull request
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
- Uses the d20 rolling system
- Powered by OpenAI's GPT-4
- Built with discord.py