Skip to main content
ChimBot uses a dual command system that combines traditional prefix-based commands with AI-interpreted natural language commands.

Command Prefix

All traditional commands use the $ prefix:
$help
$testspam
$statusspam

Command Categories

Commands are organized into three main categories:

User Commands

Basic commands available to all server members

Admin Commands

Server management commands requiring administrator permissions

AI Commands

Natural language commands interpreted by AI

Permission System

ChimBot implements a robust permission system:

Permission Decorators

Commands use Discord.py decorators to enforce permissions:
@commands.has_permissions(administrator=True)  # Requires admin
@commands.has_permissions(manage_messages=True)  # Requires message management

Special Users

  • Zorcuz (ID: 708005339282276392) - Bot creator with special privileges
  • Administrators - Users with server administrator permissions
  • Regular Users - All other server members

Permission Hierarchy

  1. Zorcuz - Full access to all commands (treated as admin for command execution)
  2. Administrators - Access to all admin commands
  3. Regular Users - Access to user-level commands only

Command Execution Flow

1

Message Received

Bot receives a message in a Discord channel
2

Bot Mention Check

If bot is mentioned with @chimbot, attempts AI command interpretation
3

Command Parsing

If starts with $, parses as traditional command
4

Permission Validation

Checks if user has required permissions
5

Command Execution

Executes command and returns response

Error Handling

The bot provides clear error messages:
  • Command not found - “Comando no encontrado. Usa $help para ver los comandos disponibles.”
  • Missing permissions - “No tienes permisos para usar este comando.”
  • Invalid parameters - Command-specific error messages
Source: main.py:819-826

Help System

The help command has multiple subcategories:
$help
# Shows available help categories

Dynamic Command Generation

ChimBot dynamically generates commands from configuration:
# Persona commands are auto-registered from the respuestas dictionary
for nombre in respuestas['personas'].keys():
    bot.command(name=nombre)(crear_comando_persona(nombre))
Source: main.py:614-616 This allows easy addition of new commands without manual registration.

Next Steps

User Commands

Learn about commands available to all users

Admin Commands

Explore administrative commands

Build docs developers (and LLMs) love