A feature-rich Discord bot for server management, UFC event notifications, and more. Built with Python.
- UFC Event Monitoring: Automatically fetches, stores, and posts UFC event notifications for today and the week to configured channels (if enabled).
- Wall of Shame: Archive and display notable messages from your server.
- Random Responses: Fetch random responses from a database table.
- Admin Elevation: Automatically grants admin privileges to a specified user on join.
- Python 3.10+
- MySQL/MariaDB database
- Discord bot token
- Docker (optional, for containerized deployment)
- Clone the repository:
git clone https://github.com/x-JR/gromit-discord.git cd gromit-discord
- Install dependencies:
pip install -r requirements.txt
- Configure environment variables:
Create a
.env
file in the project root (see below for required variables).
PREFIX=$
ADMIN_USER_ID=your_discord_user_id
SQL_SERVER=your_db_host
SQL_USER=your_db_user
SQL_PASSWORD=your_db_password
SQL_DATABASE=your_db_name
DISCORD_BOT_TOKEN=your_discord_bot_token
UFC_MONITORING=true
- Set
UFC_MONITORING
totrue
to enable UFC event features.
python bot.py
- Build the image:
docker build -t gromit-discord .
- Run the container:
docker run --env-file .env gromit-discord
- The Dockerfile is configured for unbuffered output so all print statements appear in logs.
ufc_events
: Stores UFC event data.ufc_notify_channels
: List of Discord channel IDs to notify.wall_of_shame
: Stores notable messages.response_table
: Stores random responses.
- Add or remove features by editing
bot.py
andufc_fetch.py
. - Add more commands or event listeners as needed.