Skip to content

KasparMatas/YourButler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YourButler

This repo is for a Discord bot built with the discord.js and discord.js-commando libraries.

Main idea

The main purpose of this bot is to matchmake discord users to different games. Which means that the bot must:

  1. Register players to games
  2. Allocate players randomly to voice channels dedicated to a specific game
  3. Then new allocations can be generated such that players won't play the same game again
  4. The allocations must be valid and fun (No 2 players playing a game meant to be played with 10)

Contributing

The base of the bot has been created and you are free to add whatever you want. (Just don't break anything and don't create crazy merge conflicts!)

To start contributing it is recommended to understand the following material:

Both of the libraries have good documentation available here.

How to run

Step by step instructions to run the bot can be seen in the Wiki!

The bot is run using node.js - also deals with the dependencies specified in package.json. The GitHub token should be stored in a .env file which use is described here.

SQLite usage

To save settings after the bot being shutdown all of the data is stored using the Commando.Provider class to manipulate a SQLite database. The database itself is stored in the my_data.db file which can be viewed in various ways. (You can look it up! I use DB Browser)

How the evening could look like

Below you can find the short version. For a longer discussion check out the Wiki!

  1. The users get invited to a channel (Ideally created by the bot - based on some configuration).
  2. Once joined the channel they should register in various ways.
  3. The users only see general/announcement/registration/introduction text channels and 1 general voice channel they can interact with.
  4. On the day registrations get confirmed by some sign-in mechanism.
  5. Then after allocation guests see more channels (text & voice) for different teams and instructions (done with role with different permissions).

For ice breakers the bot can facilitate bunch of other sillyness

If everything is done perfectly the admins don't have to do anything and everything is automated by the bot. Kind of "just press next slide".

To get inspiration the existing code and commits can be looked at (and the workflow to follow!) or other open source projects can be found on the interwebs.

About

Discord bot for game matchmaking

Resources

License

Stars

Watchers

Forks

Packages

No packages published