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
~games
and 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 Messages
andEmbed Links
permissions 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:
~help
show these commands~prefix CHARACTER
change the default prefix from~
to something else~game ID|Name
set the default game~game
return information about the default game~games
return a list of all games~mod ID|Name
return information about the mod(s) requested~mods
return a list of all mods belonging to the default game~popular
return a list of mods ordered by popularity~subscribe ID|Name
subscribe to a game for updates (mods added/edited)~subscriptions
see all games subscribed too~unsubscribe ID|Name
unsubscribe 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_TOKEN
MODIO_API_KEY
orMODIO_TOKEN
MODIO_HOST
(optional)
A .env
sample is provided as .env.sample
.
DISCORD_BOT_TOKEN="your token" \
MODIO_API_KEY="your api key" \
./path/to/modbot
Logging can be configured via environment variables.
RUST_LOG=modio=debug,modbot=debug
See 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.