Skip to main content

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:

  1. When a cog is enabled in the dashboard → config polling (every 5 seconds) detects the change
  2. The bot automatically calls _sync_guild_commands for the given server
  3. Commands from the enabled cog immediately appear in the slash commands menu
  4. 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:

LevelDescription
EveryoneAny server user
Moderation RolesRoles configured in cog_settings.moderation.moderation_roles
Custom RolesSpecific roles configured per-cog (e.g., create_roles for polls)
AdministratorRequired Discord ADMINISTRATOR permission
Alliance R4/R5Rank 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

ParameterLimit
Reasonmax 512 characters
Mute duration1–40320 minutes (28 days)
Clear messages1–100 messages
Poll options2–10 options
Poll questionmax 256 characters
Suggestion contentmax 2000 characters
Alliance name2–32 characters (alphanumeric, spaces, hyphens)
Alliance tag1–5 characters (alphanumeric)
Nickname1–32 characters

List of Cogs with Commands

CogCommand CountCategory
Moderation10admin
Alliances10dark war survival
Polls2community
Suggestions1community
Message Builder2utilities
Translation2 + 2 context menusutilities
Schedule Events3community
Duel Reminder2community