Radia is the mascot of Inkling Performance Labs. As the lead researcher, her duty is to take care of the teams participating in Low Ink as well as to see growth in the teams and individuals taking part in the tournaments.
This is for staff members, for non-staff members, type !help.
- First, make sure that the bot has the
ICALenvironment variable set up. - Create a calendar event, make sure it's on the calendar that the
ICALvariable points to.- The name of the event will be used to reference the tournament.
- The date of the event will be used to determine the order in the agenda.
- Set the description of the event.
battlefy: <the battlefy tournament id> role: <optionally, you can include a custom captain role id to use, defaults to the Captain role> - The bot will automatically refresh calendar data (along with other data) ever hour, but you can run
!refreshor!syncto see your changes immediately.
- You can run
!agendato get a look at all the scheduled tournaments. The command will also tell you the index of each tournament, this is important. - You can run
!captainto check the current status of captains. This command does NOT assign roles.
You can append the index of any tournament to these commands / subcommands to specify a specific tournament.
!agenda 1!captain 2
- To get the upcoming tournament, you can run
!agenda nextor!agenda 0. This will be the default tournament used by the!captaincommand. - To get the previous tournament, you can run
!agenda prevor!agenda -1. This can be helpful when removing captains.
You can also use the aliases, !cal, or !calendar if you so wish.
Running !captain will only check the status of captains, to assign roles, you have to explicitly state that you want roles assigned.
As said before, you can append the index of a tournament to use that tournament instead of the default.
!captain assignAssigns the captain role for the next tournament. This command automatically send a status check after it is complete.!captain removeRemoves the captain role for the next tournament. Be careful, if you're running this command after the tournament has ended, make sure to specify it to use the previous tournament with!captain remove -1.!captain checkThis is simply an alias for!captain.
- Fork the repository, do NOT create any branches on the source repository.
- Make a new branch to submit your pull request from.
- Submit a pull request to the
masterbranch. Please make sure you select "Allow edits from contributors".
The checkin command group helps with day 2 checkin and bracket management.
In order to check-in, you do !checkin [<team name>], here are some things to note.
- This command is only avaliable to those with a valid bracket role.
- Staff members can check in for a team by specifying team name of the team they want to check in.
Managing the check-in command staff can use these subcommands:
!checkin load [<agenda id>]Loads the battlefy teams using the agenda specified, defaults to the next tournament, see Agenda management for information on how agenda id's work.!checkin assign <bracket> <team name> [<captain>]Assigns a bracket to a team.<bracket>This corresponds toALPHA,BETA, andGAMMA, you can also use the first letter.<team name>The name of the team you are assigning to the bracket, make sure to surround the name in quotes.[<captain>]You can optionally specify a different user to assign the role to, incase the battlefy field is invalid.- You can use
!b aas a shorthand for the command name, anda,b,gare shorthands for the bracket names.
!checkin list [<bracket>]List all of the teams who have checked in, you can optionally filter by bracket.!checkin removeRemoves the bracket roles from every member, this effectively closes check-in.!checkin purgeA utility command that purges a channel of every message, only avaliable in a check-in channel.
- Make sure you have Docker installed.
- A Google API project for the bot.
- Enable the following API
- Go to the API & Services and navigate to
credentialstab - Click on
+ create credentialsand create a newService Accountsfill in the necessary field.- When you get to Role give it
editor.
- When you get to Role give it
- Download the
credentialsfiles and rename itgoogle.json - Share the Google Sheet with the
client_emailfrom the json file. - Copy the gsheet key from the url at
https://docs.google.com/spreadsheets/d/{key}/edit, you will use this in the.env
- Create a MongoDB Database, either locally via a docker or using MongoDB Cloud
- Form a valid URI to access the database. e.g.
mongodb://username:password@localhost:27017 - Place URI into environment variables
Database will create tables as needed and used
-
Create a
.envin the repository root:TOKEN=discord.bot.token GSHEET=gsheet_key ICAL="https://calendar.google.com/calendar/ical/43cm%40group.calendar.google.com/private-1b6d/basic.ics" MONGOURI="Your MongoDB Connection URI" DATABASENAME=DatabaseName MONGOURI=MongoDbURI SENTRY="System Environment" # Optional DEBUG=1 # Optional SENDOU_API_KEY="Sendou.ink API Key"
Please know that there are no
trueorfalsevalues in.envfiles. If you want to set a key to false, set it to0 -
Run
docker-compose upin the repository root.