A reliable Discord bot for DonutSMP, built in Rust with Serenity. Features include player lookups, stats tracking, leaderboards, auction house browsing, simple team management, and automatic updates of your team’s online/offline status and locations.
- Commands (Discord Interactions)
- /lookup [user] – player info lookup
- /stats [user] – detailed player stats
- /leaderboard [type] [page] – money, kills, deaths, placed/mined blocks, playtime, shards and sell history
- /auction [page] [search] [sort] – auction house listings
- /auction-transactions [page] [search] [sort] – recent transactions
- /team-name [name] – set or view team name
- /team-add [ign] [country] [skills] [rank] [about] [discord]
- /team-remove [ign]
- /team-list – grouped by rank
- /online – quick online check for team members
- /help and /team-help – overview and usage
- Periodic team embed in a channel with:
- Online/offline indicator
- Location of online players
- Rust
- DonutSMP API key
- Clone the repo and create a .env in the project root:
DISCORD_TOKEN=your_discord_bot_token
DONUTSMP_API_KEY=your_donutsmp_api_key
GUILD_ID=your_discord_server_id
ONLINE_CHANNEL_ID=your_team_channel_id
ONLINE_INTERVAL_MINUTES=10- Run the bot:
cargo runHow do I enable/disable the periodic team post?
Set ONLINE_CHANNEL_ID to the target channel ID to enable it. Remove or leave it empty to disable. Interval is controlled by ONLINE_INTERVAL_MINUTES (default 10).
Where is team data stored?
By default in team_data.json next to the binary.
Which permissions/scopes does the bot need?
Invite the bot with the bot and applications.commands scopes. Ensure it can send messages and embed links in the target channels.
Can you extend the bot with extra features?
Yes — please open an issue in this repository with the requested feature(s) and context.
