Command System Overview
ArcBot uses slash commands (commands prefixed with /) that are natively integrated with the Discord interface. Commands appear in the menu after typing / in the message field.
Per-guild Synchronization
ArcBot does not register commands globally. Instead, it synchronizes commands separately for each server based on enabled cogs:
- When a cog is enabled in the dashboard → config polling (every 5 seconds) detects the change
- The bot automatically calls
_sync_guild_commandsfor the given server - Commands from the enabled cog immediately appear in the slash commands menu
- Commands from a disabled cog immediately disappear
info
This means each server sees only those commands whose cogs have been activated. There are no unnecessary commands cluttering the menu.
Permission Structure
ArcBot commands use several permission levels:
| Level | Description |
|---|---|
| Everyone | Any server user |
| Moderation Roles | Roles configured in cog_settings.moderation.moderation_roles |
| Custom Roles | Specific roles configured per-cog (e.g., create_roles for polls) |
| Administrator | Required Discord ADMINISTRATOR permission |
| Alliance R4/R5 | Rank in the alliance system |
Command Groups
Some commands are grouped under a single prefix:
/role add,/role remove— role management (moderation)/alliance create,/alliance invite, etc. — alliance system/embed send,/embed list— message builder/event schedule,/event list,/event cancel— scheduled events/duel send,/duel preview— duel reminders
Context Menus
In addition to slash commands, the Translation cog adds two context menus (right-click on a message):
- Translate Message — translates message text
- Transcribe & Translate — transcribes audio and translates
Error Behavior
All commands respond ephemeral (visible only to the user):
- Missing permissions → access denied message
- Role hierarchy error → information about insufficient position
- Missing configuration → instruction to configure in dashboard
- Database / API error → generic message asking to try again
Limits
| Parameter | Limit |
|---|---|
| Reason | max 512 characters |
| Mute duration | 1–40320 minutes (28 days) |
| Clear messages | 1–100 messages |
| Poll options | 2–10 options |
| Poll question | max 256 characters |
| Suggestion content | max 2000 characters |
| Alliance name | 2–32 characters (alphanumeric, spaces, hyphens) |
| Alliance tag | 1–5 characters (alphanumeric) |
| Nickname | 1–32 characters |
List of Cogs with Commands
| Cog | Command Count | Category |
|---|---|---|
| Moderation | 10 | admin |
| Alliances | 10 | dark war survival |
| Polls | 2 | community |
| Suggestions | 1 | community |
| Message Builder | 2 | utilities |
| Translation | 2 + 2 context menus | utilities |
| Schedule Events | 3 | community |
| Duel Reminder | 2 | community |