discord-bot-rs

A multi-instance Discord bot framework written in Rust. AI chat, music, games, moderation, Minecraft integration, and a Model Context Protocol server — all from a single binary.

Features

Everything the framework ships with. Every feature is opt-in, per instance, via config flags.

Multi-instance, one binary

Run one bot or fifty from a single Rust process. Each instance has its own Discord app, personality, database schema, and feature set.

AI chat with tool use

@mention the bot for DeepSeek-powered conversations shaped by your personality file. Web search, moderation, and music tools available to the AI.

Music with passthrough audio

yt-dlp plus ffmpeg produce 256 kbps OGG/Opus that songbird plays without transcoding. Queue, loop, shuffle, button controls.

Built-in games

Wordle, Connections, and virtual stock trading with real-time market data. Each game has its own per-instance state.

Minecraft integration

Discord-to-Minecraft account linking, donator role sync from your Tebex server, and real-time chargeback alerts with interactive staff moderation.

MCP server for Claude Code

Embedded Model Context Protocol server exposing 22 Discord management tools. Plug Claude Code in and manage servers with an AI assistant.

Quick start

Clone, configure, and run. Full ten-minute walkthrough in the docs.

$ git clone https://github.com/MrMcEpic/discord-bot-rs.git
$ cd discord-bot-rs
$ cp -r instances/example instances/mybot
$ cp instances/mybot/.env.example instances/mybot/.env
# Edit instances/mybot/.env with your Discord token + API keys
$ INSTANCE_DIR=./instances/mybot docker compose up -d

The walkthrough, prerequisites, and troubleshooting live in Getting Started.

Built with

Real open source, no reinventing.

Rust stable serenity poise songbird sqlx + PostgreSQL rmcp axum Docker Compose yt-dlp + ffmpeg DeepSeek + Gemini