Discord bot made for the red gladiators server
python3 -m pip install -r requirements.txt
python3 main.py
cogs.applications
cogs.btesting
cogs.hystats
cogs.listeners
cogs.misc
cogs.owner
cogs.polls
cogs.trusted
cogs.checks
cogs.util
Arguments listed in <>
are required, while arguments listed in []
are not.
cogs.applications
cogs.btesting
cogs.hystats
cogs.listeners
cogs.misc
cogs.owner
cogs.polls
cogs.trusted
cogs.checks
cogs.util
cogs.applications
self.bot = bot
json
, requests
, cogs.hystats.hyutil
/apply
=app
command groupstore()
=app
command groupPermission: Officer+
=app force <Member ID> <IGN="placeholder">
- Forces an application to be sent to #app-handling
=app del <appID (user's discord ID)>
- Deletes an application based on a user's ID
store()
- Modified version of cogs.util.store
to R/W from jsonbin.io
APIs
This system uses jsonbin.io to send and recieve requests for applications.
cogs.btesting
self.bot = bot
random
, itertools.accumulate
, slashrequest
, (others based on testing session)/bt
group=bt
command group
/bt
groupPermission: Owner and BT role (selected by =bt enable
)
/info
- Shows brief description of what BT is=bt
command groupPermission: Owner only
=bt enable <roleID (role with BT permissions)>
- Enables beta testing
=bt disable
- Disables beta testing
Beta testing for discord members to test
cogs.hystats
self.bot = bot
requests
hyutil
class/hy
group
hyutil
classNote: This class is imported by other cogs
handlerequest(status_code, err=True)
- Returns a string based on HTTP request and switches between err and success (not implemented yet)testAPIKey(key)
- Checks the status code of the JSON payload and return True/False with err causegetOnline(name)
- Returns online status, with current gamemode or last logoutsbmode(g)
- Currently unused, returns g
toUUID(name)
- Calls mojang API to return a UUID with a player's IGNtoName(uuid)
- Calls mojang API to return a name with a player's UUID
/hy
groupPermission: Guild Member+
/hy profiles <IGN - Minecraft in-game name>
- Displays all skyblock profiles with data for a user
Other commands disabled temporarily:
/hy status
- Displays if a user is online, and for how long or time since last log on
Grabs data from the hypixel API and formats the data in embeds
cogs.listeners
self.bot = bot
on_raw_reaction_add
/on_raw_reaction_remove
on_button_click
on_select_option
on_message
on_message_delete
on_message_edit
on_command_error
Used for the starboard feature (#funny-quotes channel)
Used for handling applications, deleting messages, and polls
Used for MEE6 level messages and verification embed
Used for =expose
command
Used for reporting a NotFound, CheckFailure, or other unknown error
Uses the discord.ext.commands.Cog.listener()
decorator to register listeners in the cog. Called by the bot gateway for each event.
cogs.misc
self.bot = bot
self.annoy = 0
cogs.hystats.hyutil
/frag
/ruff
/senither
/giveaway
Unused:/version
genuser()
getitem()
/frag
- Allows a user to request frag access with asmb
/ruff
- If Ruffr is being annoying, any user can run this command and it will warn him
/senither
- Simple message with the guild senither link
/giveaway
- Allows a non-trusted member to request to start a giveaway
Simple slash commands, not one complete module
cogs.owner
self.bot = bot
sys
, requests
, io
, aioconsole.aexec
=eval
=n
=d
=kickuser
=purge
=genbutton
/=clown
=rrsend
/=rrdel
=role
group=blacklist
group
=role
group=role a <roleid> [member: discord.Member=None]
- Gives a role to an optional member (otherwise user who invoked command)=role d <roleid> [member: discord.Member=None]
- Removes a role from an optional member
=blacklist
groupAliases: bl
=blacklist set/['s', 'a', 'add'] <member> <command> [duration=1h]
- Blacklists a user from using a command=blacklist rem/['d', 'r', 'del'] <member> <command>
- Removes a user from the blacklist for a command
Uncategorized:=eval [-s] <code>
- Runs python code async [-s is for silent]=n * [nickname=None]
- Rename the bot=d <meID>
- Deletes a message with the message ID=kickuser <member: discord.Member> <reason>
- Kicks a member=purge <message (amount of messages to purge)>
- Purges a certain amount of messages from a channel=genbutton [label="Click me!"] [id=None] [message="friendly button"]
- Creates a new button with optional args=clown
- Creates a new button which de-verifies anyone who clicks it=rrsend <roleid> * [embmsg]
- Sends a new reaction role embed=rrdel <messageid>
- Deletes a reaction role
Simple owner and admin commands with the checks.owner_staff
check or the @commands.is_owner
decorator
cogs.polls
self.bot = bot
json
/poll
group
/poll
group/poll create <msg> [polltype=None] [listoptions=None] [hideanswers=False]
- Creates a poll/poll conclude <pollid>
- Concludes a poll
Uses a data host guild to retrieve and store data. The actual events are listened by listeners.on_button_click
or listeners.on_select_option
, which updates the guild as well as the message.