ModBot is a Discord bot for mod.io using modio-rs and serenity.
You can invite the officially hosted ModBot to join your Discord server using the following URL https://discordbot.mod.io, or you can build and install your own version of ModBot by following the instructions below.
- Invite the ModBot https://discordbot.mod.io/
- View the games list
~gamesand set the default game~game ID - In the channel(s) you want the bot to post updates (mod added / edited), run the command
~subscribe ID - Ensure the bot has
Read Messages,Send MessagesandEmbed Linkspermissions in the channel(s) it is in to be able to function correctly
By default ~ is the prefix used to issue commands to ModBot. Once you have invited ModBot to your server, you can set the default game using the command ~game ID. Now when a user issues the command ~mods, all of the mods for the game you specified will be returned. You can change the default game at any time.
We recommend you also ~subscribe ID to games you are interested in receiving push notifications from. For example in our #bot channel, we have subscribed to a bunch of games and whenever a mod is updated, the channel is notified.
Popular commands include:
~helpshow these commands~prefix CHARACTERchange the default prefix from~to something else~game ID|Nameset the default game~gamereturn information about the default game~gamesreturn a list of all games~mod ID|Namereturn information about the mod(s) requested~modsreturn a list of all mods belonging to the default game~popularreturn a list of mods ordered by popularity~subscribe ID|Namesubscribe to a game for updates (mods added/edited)~subscriptionssee all games subscribed too~unsubscribe ID|Nameunsubscribe from a game
MODBOT is written in Rust, so you'll need to grab a Rust installation in order to compile it. Building is easy:
$ git clone https://github.com/nickelc/modio-bot
$ cd modio-bot
$ cargo build --release
$ ./target/release/modbot
Use the feature sqlite-bundled to compile sqlite3 from source and link against that.
$ cargo build --features sqlite-bundled
$ cargo install --git https://github.com/nickelc/modio-bot
$ $HOME/.cargo/bin/modbot
Set up the environment variables with export or by creating a .env file.
DISCORD_BOT_TOKENMODIO_API_KEYorMODIO_TOKENMODIO_HOST(optional)
A .env sample is provided as .env.sample.
DISCORD_BOT_TOKEN="your token" \
MODIO_API_KEY="your api key" \
./path/to/modbotLogging can be configured via environment variables.
RUST_LOG=modio=debug,modbot=debugSee the env_logger crate for more information.
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


