All extensions, also known as cogs, are contained within this folder. The cogs can be dynamically loaded and unloaded at runtime, which allows for the removal or addition of features without requiring the entire bot to be restarted. The /cogs
command in system cog is responsible for handling this process.
- All cogs must have their own directory. The directory must contain the
cog.py
,__init__.py
andmessages_*.py
file. Other files should have prefix e.g. (features_*.py
,modals_*.py
,views_*.py
) - Name of the directory represents name of the cog. (if you are adding it to extension in config)
- All cogs must inherit from class Base.
- File name is lowercase, class name is CamelCase.
- If there is task in cog it must be initialized in
self.tasks
list. - Comment at the beginning of the file summarizing function of cog.
- All cogs should be included in cogs folder and added to the README with their commands.
Cog for diploma verification. When successful, the user is given Survivor (Bc.) or King (Ing.) role.
Commands:
- /diplom
- /diplom help
Cog controlling auto pinning of messages and priority pins in channels.
Commands:
- /pin_mod add
- /pin_mod remove
- /pin_mod list
- /pin get_all
Cog for handling memes with X number of reactions to be reposted to a specific channel.
Commands:
- /better-meme leaderboard
Cog controlling bookmarks. The bot will send copy of message to user.
Commands:
- react 🔖
- message_command "Bookmark"
Cog for handling vote reactions for contests.
Commands:
- /contest calculate_contribution
- /contest top_contributions
- /contest submit
- /contest_mod get_author
- /contest_mod start
- /contest_mod end
Cog for dynamically changing config.
Commands:
- /config set
- /config append
- /config load
- /config list
- /config get
- /config backup
- /config update
Cog for managing server emojis. Download emojis and stickers. Get full size of emoji.
Commands:
- /emoji all
- /emoji get
Cog for handling command errors. This is mostly for logging purposes.
Errors originating from other than commands (such as reaction handlers and listeners) are handled in rubbergod.py on_error
function.
Cog to parse exams data from website and send it to channel.
Available for each year of study.
Commands:
- /exams
- /terms
- /terms update
- /terms remove_all
- /terms remove
- /terms start
- /terms stop
- /exams
Tasks:
- update_terms_task
Cog for finding rooms on FIT BUT.
Commands:
- /room
Cog implementing management of year roles and database of user logins.
Commands:
- /role_check
- /increment_roles
- /verify_db update
- /verify_db pull
- /verify_db get_login
- /verify_db get_user
- /verify_db reset_login
- /verify_db link_login_user
- /vutapi
- /gen_teacher_info
Cog managing threads in forums (auto-archive, etc.).
Cog containing commands that call random APIs for fun things.
Commands:
- /cat
- /dog
- /fox
- /duck
- /dadjoke
- /yo_mamajoke
- /fuchs
Cog for creating gifs.
Commands:
- /pet
- /catnap
- /bonk
Functions and commands that communicate with the Grillbot API.
Cog containing help command. Only shows commands that user has access to
and are context commands.
Commands:
- ?help
Cog implementing hug commands. Send hug to user and see leaderboard.
Commands:
- /hug hugboard
- /hug huggersboard
- /hug mosthugged
- /hug me
- /hug give
Cog implementing dynamic icon system. Users can assign themselves icons from a list of roles.
Commands:
- /icon
Cog containing commands that get basic information from other sources.
Commands:
- /urban
- /pocasi
- /nasa_daily_image
- /kreditovy_strop
Cog for the IOS subject. Get users on merlin/eva server which have blocking processes running.
Commands:
- /ios
- /ios_task start
- /ios_task stop
- /ios_task cancel
Tasks:
- ios_task
Cog implementing karma system. Users can give each other positive/negative karma points with reactions.
Commands:
- /karma me
- /karma stalk
- /karma getall
- /karma get
- /karma message
- /karma leaderboard
- /karma givingboard
- /karma_mod revote
- /karma_mod vote
- /karma_mod give
- /karma_mod transfer
- user_command Karma uživatele
- message_command Karma zprávy
Cog for interpreting latex commands as images.
Commands:
- ?latex
Cog for meme commands.
Commands:
- /uhoh
Cog for sending and managing messages sent by bot.
Commands:
- /message send
- /message resend
- /message edit
Cog implementing functions for server moderation and help functions for mods.
Implemented logging for tagging @mods.
Commands:
- /slowmode set
- /slowmode remove
Cog for sending name days and birthdays.
Commands:
- /svatek
- /meniny
Tasks:
- send_names
Implementing commands using random module.
Commands:
- /pick
- /flip
- /roll
Cog for handling reactions and delegating to specific cog.
Cog implementing anonymous reporting from users. Commands:
- /report general
- /report message
- /report google_form
- /report_mod unban
- message_command Report message
Cog implementing review system for subjects.
Commands:
- /review get
- /review add
- /review remove
- /review list
- /subject update
- /wtf
- /tierboard
Cog implementing channels and roles management. Copying/creating channels with permissions.
Commands:
- /move_category
- /channel copy
- /channel clone
- /channel create
- /channel add_channels_description
- /channel get_overwrites
- /channel overwrites_to_role
- /channel role_to_overwrites
- /remove_exclusive_roles
Cog implementing streamlinks system. List streams for a subject.
Commands:
- /streamlinks get
- /streamlinks list
- /streamlinks_mod add
- /streamlinks_mod update
- /streamlinks_mod remove
Cog implementing information about office hours of the study department.
Commands:
- /studijni
Cog implementing subscriptions to forum posts based on their tags.
Commands:
- /subscriptions add
- /subscriptions remove
- /subscriptions list
Core cog for bot. Can't be unloaded. Contains commands for cog management.
Commands:
- /git pull
- /get_logs
- /shutdown
- /cogs
- /rubbergod
- /uptime
Containing timeout commands and manipulating with timeout.
Commands:
- /timeout user
- /timeout remove
- /timeout list
- /timeout get_user
- /selftimeout
Tasks:
- refresh_timeout
Cog for verification system. Allows users to verify themselves with xlogin00 and gain access to server.
Commands:
- /verify
- /dynamic_verify create
- /dynamic_verify list
- /dynamic_verify edit
- user_command Verify host
Cog for repost detection.
Commands:
- ?scan
- ?scan history
- ?scan message
Cog containing information about week (odd/even) and its relation to calendar/academic week. Commands:
- /week