A comprehensive Discord bot for organizing Realm of the Mad God raids. Features automated run management, dual verification (RealmEye + Screenshot), moderation tools, and staff quota tracking.
View Complete Documentation — Setup guides, command reference, and architecture
- Raid Management: Interactive panels, join buttons, headcount tracking, and automated run timers.
- Verification: Automated RealmEye verification and manual screenshot review system with audit logs.
- Moderation: Warnings, timed suspensions, mutes, bans, and staff notes.
- Quota & Points: Automated tracking for organizers and raiders with leaderboard support.
- Logging: Extensive logging for commands, raids, and moderation actions.
- Bot: Discord.js 14, TypeScript
- Backend: Fastify, Node.js 18+
- Database: PostgreSQL 14+
- Infrastructure: Docker Compose
- Docker & Docker Compose (Recommended)
- Discord Bot Token (Developer Portal)
-
Clone the repository
git clone <repo-url> cd rotmg-raid-bot
-
Configure Environment Create
backend/.envandbot/.env. EnsureBACKEND_API_KEYmatches in both.backend/.env
PORT=4000 BACKEND_API_KEY=your_secret_key DATABASE_URL=postgres://postgres:postgres@db:5432/rotmg_raids
bot/.env
APPLICATION_ID=your_app_id SECRET_KEY=your_bot_token DISCORD_DEV_GUILD_ID=your_guild_id BACKEND_URL=http://backend:4000/v1 BACKEND_API_KEY=your_secret_key
-
Run
docker-compose up -d
For local development without Docker, install dependencies and run npm run dev in both backend and bot directories. Ensure PostgreSQL is running locally.
- Set Roles: Map Discord roles to bot permissions.
/setroles organizer:@RaidLeader security:@Security verified_raider:@Verified ... - Set Channels: Configure log and panel channels.
/setchannels raid:#raids logs:#logs ... - Verify: Run
/run dungeon:Shattersto test.
- Raids:
/run,/headcount,/logrun - Verification:
/configverification,/verify - Moderation:
/warn,/suspend,/find - Quota:
/configquota,/stats,/logkey
This project is licensed under the MIT License - see the LICENSE file for details.