ENΒ·ESΒ·DEΒ·PTΒ·FR
⌘K

Configuracion del Bot de Discord

Conecta aidaemon a Discord a traves de la API de gateway.

Binarios Precompilados
Si instalaste mediante el script de una linea o Homebrew, el soporte para Discord ya esta incluido. Solo configura config.toml a continuacion. El feature flag solo es necesario al compilar desde el codigo fuente.

Crear una Aplicacion de Discord

  1. Ve al Portal de Desarrolladores de Discord
  2. Haz clic en New Application y dale un nombre (por ejemplo, “aidaemon”)
  3. En Bot, haz clic en Add Bot
  4. Copia el Bot Token — este es tu bot_token
  5. Habilita estos Privileged Gateway Intents:
    • Message Content Intent — leer el texto de los mensajes
    • Server Members Intent — resolver informacion de usuarios
  6. En OAuth2 → URL Generator, selecciona los scopes bot y applications.commands, luego los permisos: Send Messages, Read Message History, Attach Files, Use Slash Commands
  7. Usa la URL generada para invitar al bot a tu servidor

Configuracion

config.toml
[discord]
bot_token = "MTIzNDU2Nzg5MDEyMzQ1Njc4OQ.AbCdEf.xxxxx"
allowed_user_ids = [123456789012345678]
guild_id = 987654321098765432
KeyTypeDefaultDescription
bot_tokenstringToken del bot de Discord desde el Portal de Desarrolladores. Soporta "keychain".
allowed_user_idsarray[]IDs de usuario de Discord (enteros snowflake) permitidos para interactuar. Vacio = sin restriccion.
guild_idintegernullID opcional del servidor/guild. Si se establece, el bot solo responde en ese servidor.

Obtener tu ID de Usuario de Discord

Habilita el Modo Desarrollador en la configuracion de Discord (Apariencia → Avanzado), luego haz clic derecho en tu nombre de usuario y selecciona Copiar ID de Usuario.

Caracteristicas

  • Conexion gateway — conexion WebSocket en tiempo real via el framework serenity
  • Comandos slash — comandos de aplicacion registrados (ver Comandos)
  • Botones interactivos — flujo de aprobacion con botones clicables (ver Flujo de Aprobacion)
  • Transferencia de archivos — enviar y recibir archivos como adjuntos de Discord
  • Division de mensajes — las respuestas largas se dividen para respetar el limite de 2000 caracteres de Discord
  • Auto-reconexion — backoff exponencial en caso de fallo de conexion (5s → 60s maximo)
  • Lista de usuarios permitidos — control de acceso por token de bot
  • Soporte multi-bot — ejecuta multiples bots de Discord con configuraciones separadas

Modelo de Sesion

Las sesiones de Discord se identifican por canal:

  • Mensaje de canal: discord:{channel_id}

Cada canal mantiene su propio historial de conversacion, memoria de trabajo y contexto de hechos.

Control de Acceso
Si allowed_user_ids esta vacio, cualquier persona que pueda enviar mensajes al bot puede interactuar con el. Siempre configura esto en produccion.