A simple Discord bot to interact with your Minecraft server.
There are multiple ways to run the bot, or you can build from source.
- Create a
compose.yaml
file with the following content:
version: "3.8"
services:
minebot:
image: ghcr.io/the-noah/minebot:latest
container_name: minebot
restart: unless-stopped
environment:
- DISCORD_TOKEN=your_discord_bot_token
- GUILD_ID=your_discord_guild_id
- MINECRAFT_IP=your_minecraft_server_ip
- Run the bot
docker compose up -d
- Run the bot
docker run -d --restart unless-stopped --name minebot \
-e DISCORD_TOKEN=your_discord_bot_token \
-e GUILD_ID=your_discord_guild_id \
-e MINECRAFT_IP=your_minecraft_server_ip \
ghcr.io/the-noah/minebot:latest
- Install the bot
cargo install minebot
- Create a
.env
file in the root of the project and add the following:
DISCORD_TOKEN=your_discord_bot_token
GUILD_ID=your_discord_guild_id
MINECRAFT_IP=your_minecraft_server_ip
- Run the bot
minebot
The bot will automatically register slash commands when it starts. You can use the following commands:
/ping
- Check if the bot is online/status
- Get the status of the Minecraft server with player info/say
- Send a message in Minecraft chat as the server (requires admin permissions on Discord)/whitelist
/whitelist add <username>
- Add a player to the whitelist (requires admin permissions on Discord)/whitelist remove <username>
- Remove a player from the whitelist (requires admin permissions on Discord)/whitelist list
- List all players on the whitelist (requires admin permissions on Discord)
The bot will also automatically update its status to show the number of players online.
- Clone the repository
git clone https://github.com/The-Noah/minebot.git
- Build bot
cd minebot
cargo build --release
- Create a
.env
file in the root of the project and add the following:
DISCORD_TOKEN=your_discord_bot_token
GUILD_ID=your_discord_guild_id
MINECRAFT_IP=your_minecraft_server_ip
- Run the bot
./target/release/minebot