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.
~games
and set the default game ~game ID
~subscribe ID
Read Messages
, Send Messages
and Embed Links
permissions in the channel(s) it is in to be able to function correctlyBy 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 gameMODBOT 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
or MODIO_TOKEN
MODIO_HOST
(optional)A .env
sample is provided as .env.sample
.
bash
DISCORD_BOT_TOKEN="your token" \
MODIO_API_KEY="your api key" \
./path/to/modbot
Logging can be configured via environment variables.
bash
RUST_LOG=modio=debug,modbot=debug
See the env_logger crate for more information.
Licensed under either of
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.