An Evermizer bot for Discord.
!completed <HH:MM:SS>
: Add your name to the leaderboard for the weekly race or override your time in the leaderboard with a new one. Also gain access to the spoiler channel.!forfeit
: Forfeit the weekly, but gain access to the spoiler channel. WIll add you to the leaderboard as DNF.!leaderboard [weekNumber]
: Display specified week's leaderboard. Without parameters, display this week's leaderboard (only if in spoiler channel).
- .Net Core: https://dotnet.microsoft.com/download
- DSharpPlus: https://github.com/DSharpPlus/DSharpPlus
For all commands to work, the following permissions must be given to the bot on discord:
- Send Messages
- Manage Messages
- Manage Roles (only required for roles defined in
config.json
) - Access Channels
- Add Reactions (optional, used to confirm execution of a command)
First, follow these guidelines to set up a discord bot account: https://dsharpplus.github.io/articles/basics/bot_account.html
You'll then need to create a config.json
file with the OAuth token
required for the bot to authenticate itself with Discord. Look for
config/config_template.json
in the repository for an example, or see below:
{
"prefix": "!",
"token": "my-token-goes-here",
"weeklyCompletedRole": "did the evermizer weekly",
"weeklyForfeitedRole": "forfeited the evermizer weekly",
"weeklyChannel": "weekly",
"weeklySpoilerChannel": "weekly_spoilers"
}
You can copy your config.json
in either:
config/
$HOME/narisbot/config/
To compile the bot, run dotnet build
in the project root.
The executable will be located at NarisBot/bin/Debug/netcoreapp3.1/NarisBot.dll
.
A daemon script for Linux is provided at linux/narisbotd
.
You can also build in release mode by running dotnet build -c Release
.
The executable will then be located at NarisBot/bin/Release/netcoreapp3.1/NarisBot.dll
.
Note that the daemon assumes we have a fresh release build.