Skip to content

Module Overview

The bot is composed of multiple modules, all enabled on demand via the enabled switch in config.yaml (disabled by default). Modules fall into three categories:

  • Command modules: register slash / prefix commands for users to invoke (using the discord.py Cog architecture).
  • Event modules: no commands; listen to Discord events (such as on_message) and run automatically.
  • Service modules: no commands; provide shared capabilities to other modules (such as audit logging).

Module List

ModuleConfig KeyTypeCommandsDocs
Tools / AdmintoolsCommandrandom uuid to-file delete clear-message move-channelView
EmojiemojiCommand/e /emoji info /emoji updateView
Channel LocklockCommand/lock now /lock unlock /lock plan /lock unplanView
Voice ChannelvoicechannelCommand/vc join /vc leaveView
Admin CommandsCommand/sync /reloadView
Dynamic PermissionspermCommand/perm add /perm rm /perm showView
Announcement PushannounceCommand/subscribeView
Chat EnhancechatenhanceCommand / Event/enhance enable /enhance disable /enhance listView
Multilingual— (always enabled)Command/langView
Auto Managementrmmsg / rmtodoEventNoneView
Anti-spamantispamEventNoneView
Audit LogauditServiceNoneView

Command Quick Reference

CommandModulePermissionRate LimitDescription
/randomtoolsEveryoneGenerate a random number within a range
/uuidtoolsEveryoneGenerate a UUID (ephemeral message)
/to-filetoolsEveryoneSend text as a file
/deletetoolsModDelete a single message
/clear-messagetoolsModBatch clear messages by conditions
/move-channeltoolsModMove channel position / category
/eemojiEveryoneSend an emoji from the library
/emoji infoemojiEveryoneView emoji library info
/emoji updateemojiAdminUpdate emoji library data
/lock nowlockModLock a channel
/lock unlocklockModUnlock a channel
/lock planlockModSchedule lock / unlock
/lock unplanlockModCancel a schedule
/vc joinvoiceWhitelist / ModBot joins a voice channel
/vc leavevoiceWhitelist / ModBot leaves a voice channel
/syncadminConfig adminSync the slash command list
/reloadadminAdmin15s CDHot reload modules
/perm addpermAdminAdd a permission rule
/perm rmpermAdminRemove a permission rule
/perm showpermAdminView permission rules
/subscribeannounceModFollow an announcement channel
/enhance enablechatenhanceAdminEnable a chat enhance function
/enhance disablechatenhanceAdminDisable a chat enhance function
/enhance listchatenhanceAdminView chat enhance function status
/langlangEveryone (server scope requires admin permission)Switch / view language preference

For the permission system, see Permission System; for rate limiting, see Rate Limit.

Dual Command Mode

All command modules can control the registration of slash and prefix commands separately via the slash / prefix switches. The prefix for prefix commands is determined by the top-level command_prefix (the example config uses //).

  • Slash command example: /random 1 100
  • Prefix command example: //random 1 100

Complex commands (clear-message, lock plan) use --key=value flags to pass arguments in their prefix form, for example:

text
//lock plan --channel=#announcements --lock-time=22-00 --unlock-time=08-00 --cycle=daily

Released under the MIT License