An open source bot for Discord Servers to calculate and store the skill of players with Challonge integration. The skill system used can be found here: https://github.com/moserware/Skills
This bot is in a state that is usable, but things such as data formats may be changed without notice and break existing installations. This is because the bot is still in an early and volatile stage of development. Therefore, use this bot and update it at your own risk.
More stable, production-ready versions will be available soon.
Currently working features:
- Match calculations, for N vs M matches. N1 vs N2 vs N3 vs ... will be implemened later.
- Starting of matches and auto deafening/undeafening of users
- Saving of state between instances
- Leaderboard channel send
- Undo functions
- Player Discord linking
- Player ranks
- Skill decay (currently manually activated)
- Match history channel
- Skill change detection
- Logging of internal errors and events
- Match Insertion
- Tournaments
- Challonge integration
- Self-service sign up
- Achievements
Planned features (non-exhaustive):
- Self-service match confirmation
To run OpenSkillBot, you will need the following:
- .NET (
dotnet
). To install, see: https://dotnet.microsoft.com/download
Binaries are not yet provided, so you must clone and run the bot yourself.
- Go to Discord Developers and create an application: https://discord.com/developers/applications
- Open the applicaton. Go to "Bot" in the sidebar. Click "Add Bot".
- Under "Priviliged Gateway Intents", enable "Server Members Intent".
- Click "Click to Reveal Token". Save this token; you will need it later.
- To invite the bot to your server, click "OAuth2" in the sidebar, and enable
Bot
underScopes
. Select the following permissions: Alternatively, the permissions integer is297872464
if you're into that.
- Make sure .NET Core is installed. It MUST be .NET Core. You can follow instructions here for your OS: https://dotnet.microsoft.com/download
- Run the following commands (you can also build it using
dotnet build
if you like):
git clone https://github.com/CAG2Mark/OpenSkillBot
cd OpenSkillBot
dotnet run Program.cs
- Paste in the Discord bot token you wrote down earlier.
- Now, create all the relevant channels, ranks, and link them all up to the bot using the commands. The bot can also automatically set up all the required channels using
!setupchannels
if you prefer.
After you use it, you can see that there will be several JSON files created in the directory. These store the bot's data. You can change certain variables in config.json
, but it is highly recommended that you do not touch any of the other JSON files, as changing them may cause strange behaviour with the bot.
You can use !help to see what commands are available.
NOTE: I would highly recommend enabling Developer Mode in Discord, as much of the bot relies on Discord IDs to run. You can enable it under Discord Settings > Appearance > Developer Mode
.
- This project is not affiliated with Discord (the social platform), Discord.NET, or any other libraries used.
- This project is not affiliated with Challonge.