lizardman301 / Lizard-bot-rsf

Simple bot built for the r/streetfighter East Coast online weekly tournament to help players see current round and with some commands for TOs. Requires discord.py
Mozilla Public License 2.0
6 stars 4 forks source link

THIS PROJECT IS NOW ARCHIVED. THANK YOU EVERYONE THAT USED THIS BOT. IF YOU WISH TO USE RANDOM SELECT COMMANDS, PLEASE VISIT https://github.com/nogarremi/fgc-random-select-bot

Lizard-BOT

Simple discord bot originally built for the Online Local (formerly r/StreetFighter) East Coast SFV weekly tournament to help players see current round and with some commands for TOs. Support for multiple channels to run multiple tournaments at once and allows for custom prefixes, round flavor text, and more. Requires discord.py and pymysql.

How to Use

In order to get started, you need to invite Lizard-BOT to the discord server you wish to use to run tournaments. Invite link here.

Immediately after the bot joins the server use the command !edit botrole <role> with the role of your choice to make it so that only those with that role can access the commands meant for the Tournament Organizers. From there, feel free to use all the commands listed below to adjust the bot to your needs.

For more information on setting up the bot for use in a Discord server, please see our documentation here

For a more indepth guide to what each command does, please see our documentation here

Note about Challonge

If you have a pro-community, use your custom subdomain e.g., redditfighting of redditfighting.challonge.com.

If you are not a pro-community in Challonge, you will have to find and copy the jumble of symbols that is your community's subdomain. Go to your Challonge community page, and go to community settings. Look for the part that says Subdomain PRO and look for the box beneath it. This is your community subdomain.

If the Challonge community tournament does not add the "LizardBOT" Challonge account as a collaborator or a tournament hosted by a Challonge user, the checkin command WILL work but the seeding and report command will NOT work. This is because tournaments are read-only by default. Any attempts by Lizard-BOT to updating seeding numbers or match results will fail since "LizardBOT" doesn't have permissions.

TO Commands

These commands will only be available to be used by those with the role mentioned above.

!challonge checkin Uses Challonge's API to pull participant data and checks the given bracket for users that are not checked in and users whose Challonge names are not in the server

There must be a valid Challonge link in your !bracket command

!challonge seeding [number of players to seed(Must be integer greater than or equal to 1)] Uses Challonge's API to pull participant data and uses Google Sheets API to seed the tournament based on points in the spreadsheet and the number of players to seed

There must be a valid Challonge link in your !bracket command

!disable [command] Using this with any command (besides !disable, !edit, and !enable) in Lizard-BOT to disable its use throughout the server.

!edit <setting> [channel(s)] <value> There are multiple settings that can be edited to allow customization.

If multiple channels are listed, the setting will be updated to the same value across all listed channels.

Server-wide
Channel-Specific

!enable [command] Using this with any command in Lizard-BOT to enable a previously disabled command.

!refresh Sends a message to the chat to let people know to refresh the bracket page.

!remind <time in minutes> [reason] Allows the admin to set a timed reminder. When used it will ping the user, with the reason for the reminder if specified, after the alloted time. Useful if you are have to handle multiple situations at once.

!reset Resets the round count back to its default value when a tournament is finished.

!round <round number> Changes the current round number to the new value. Can be more than just numbers if you wish to do something different. Immediately sends a status update in the chat.

General commands

Commands everyone can use

!botrole Returns the role that allows access to the administrator commands.

!bracket Shows the current bracket set in the channel.

!challonge here <player's Challonge display name> Uses Challonge's API to checkin the user provided.

!challonge report <score> <winning player's Challonge display name> Uses Challonge's API to pull data for the open matches to update the winner and score of one open match

There must be a valid Challonge link in your !bracket command

!coin-flip A coin is flipped and the result is returned. Either heads or tails.

!draw [mention] <game> Conducts a card draw with the message sender and the user mentioned. Game will default to SFV if no game is given. 7 random characters are drawn, 2 are banned and 4 are picked. Everything is controlled by reactions.

!github Displays the link to the GitHub repository for Lizard-BOT

!glossary <term> Looks up a term using the https://glossary.infil.net/ glossary. Returns the homepage if no term is provided.

!help-lizard Displays a list of all commands.

!lizardbot-discord Displays the invite link to join the Lizard-BOT Discord Server for additional help.

!lizardman Ping! Pong!

!lobby Shows lobby information.

!not-in-discord Repeats last part of challonge checkin command. Tells people discord nick must match challonge name.

!pingtest Explains how to run a ping test using https://testmyspeed.onl/. Can be edited to match the rules for any tournament's specific ping test rules.

!prefix-lizard Prints the prefix currently in use for Lizard-BOT.

!randomselect [character/stage] [game] Returns a randomly selected character or stage from the current the specified game. Assumes SFV if no game is given. Assumes character if character or stage is not specified. Current games are 3s, footsies, gbvs, mk11, samsho, sfv, strive, t7, uni, xrd, +r Current stages are llb, t7

!stats [command] Returns the list of all commands and the amount of times they have been used across all servers. Add a command in the argument to return the count for only that command. The stats database was started on January 22, 2021. Any past uses of commands were not counted.

!status Returns the current round number in a message that can be customized. Will let users know if a tournament has not begun.

!stream Returns the stream link if one is set.

!TOs Sends a message back with all the Tournament Organizers pinged, if set.

How to set up your own instance of Lizard-BOT

Please see our documentation here for more information about initial configuration

Contributers

Other Resources

If you have any further questions or concerns, feel free to contact me via discord @lizardman301#0301.