Code Monkey home page Code Monkey logo

bot-rscbot's Introduction

RSCBot

RSCBot is a collection of cogs written in Python that can be installed and used with the Red Discord Bot. These cogs are primarily written for use within RSC (Rocket Soccar Confederation), a 3v3 Rocket League Amateur League that runs through Discord.

Installation

Follow the Red Discord Bot installation guide for Windows or Linux/Mac. You'll need to also create a Discord bot account to get a token for use during the bot setup. After you have the bot setup, running, and invited to one of your Discord servers, you can begin installing and loading the cogs to the bot using the following commands in Discord (where <p> represents the prefix you selected your bot to use):

<p>load downloader
<p>repo add RSCBot https://github.com/adammast/RSCBot [branch]
<p>cog install RSCBot <cog_name>
<p>load <cog_name>

Certain cogs depend on another cog being loaded first in order to work correctly. You can see a visualization of the cog dependencies here. Any cog that isn't shown in that chart is a stand-alone cog that can be loaded whenever and will work on its own.

Usage

Many of the RSC league specific cogs rely on roles being set up in the Discord server a certain way or data, such as team names and prefixes, to be added to the bot before they can be used. In this section I'll attempt to explain all the steps required in setting up the league specifics cogs correctly.

Commands

For any command, you can see documentation explaining how to use the command with the format: <p>help <command name>

Franchises/Prefixes

As can be seen in the cog dependencies doc, the prefixManager cog should be the first cog loaded from the league specific cogs. For RSC, a prefix should be added for each franchise within the league. To add a prefix you first need to set up a franchise role with the following name format: <franchise_name> (<GM_name>). After that the <p>addPrefix command can be used to add prefixes one at a time, or the <p>addPrefixes command can be used to add them in bulk. Alternatively, the command <p>addFranchise to complete all necessary steps for adding a single franchise simultaneously.

Tiers

Tiers are added through the teamManager cog using the <p>addTier command. The bot will accept any name for the tier. This will create a role for the tier, which along with the franchise roles, will be used to help determine what team a player is currently on. For each tier added, a corresponding free agent role will also be generated. For example, for a tier named Premier the role Premier and a free agent role named PremierFA will be generated.

Teams

For RSC, each team will need to have a team name, a corresponding GM (General Manager), and a tier that the team plays in (which are generated from previous commands). Each tier should already be loaded into the bot according to the Tiers subsection above. Teams need to be added to the bot in order to use commands such as <p>match, <p>roster, or any of the transaction commands. Most of the commands involving teams are in the teamManager cog. To add a team to the bot the <p>addTeam command can be used to add them one at a time, or the <p>addTeams command can be used to add them in bulk. When a team is added to a franchise, the GM is given the tier role to reflect the addition of the team at that tier.

Matches

The match cog is used for easy propagation of match information within RSC. Both teams involved in the match need to be added to the bot according to the Teams subsection above. Matches need to be added and the match day set in order to use any of the faCheckIn cog commands. To add a match to the bot the <p>addMatch command can be used to add them one at a time, or the <p>addMatches command can be used to add them in bulk. You can use <p>help addMatch and <p>help addMatches in Discord to see documentation explaining how to use each command.

Free Agent Role

Along with the tier specific free agent roles mentioned in the Tiers subsection above, you'll also want a general free agent role named Free Agent. This role is used in some of the transaction commands to determine if a player is a free agent or not.

Draft Eligible Role

For players who are eligible for the league's upcoming draft there should be a role named Draft Eligible. This role is used in some of the transaction commands and also used in the makeDE command from the bulkRoleManager cog.

bot-rscbot's People

Contributors

adammast avatar benjaminhunt avatar hucklebun avatar blister avatar cbc12instructor avatar mikeabney avatar xentrick avatar ajf5393 avatar apowell12 avatar bmorr1123 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.