EN·ES·DE·PT·FR
⌘K

Configuração do Bot Discord

Conecte o aidaemon ao Discord via gateway API.

Binários Pré-compilados
Se você instalou via script de uma linha ou Homebrew, o suporte ao Discord já está incluído. Basta configurar o config.toml abaixo. A feature flag só é necessária ao compilar a partir do código-fonte.

Criar um Aplicativo Discord

  1. Acesse o Discord Developer Portal
  2. Clique em New Application e dê um nome (ex.: “aidaemon”)
  3. Em Bot, clique em Add Bot
  4. Copie o Bot Token — este é o seu bot_token
  5. Habilite estas Privileged Gateway Intents:
    • Message Content Intent — ler texto das mensagens
    • Server Members Intent — resolver informações de usuários
  6. Em OAuth2 → URL Generator, selecione os escopos bot e applications.commands, depois as permissões: Send Messages, Read Message History, Attach Files, Use Slash Commands
  7. Use a URL gerada para convidar o bot para o seu servidor

Configuração

config.toml
[discord]
bot_token = "MTIzNDU2Nzg5MDEyMzQ1Njc4OQ.AbCdEf.xxxxx"
allowed_user_ids = [123456789012345678]
guild_id = 987654321098765432
KeyTypeDefaultDescription
bot_tokenstringToken do bot Discord obtido no Developer Portal. Suporta "keychain".
allowed_user_idsarray[]IDs de usuários Discord (inteiros snowflake) autorizados a interagir. Vazio = sem restrição.
guild_idintegernullID opcional do servidor/guild. Se definido, o bot só responde nesse servidor.

Obter Seu ID de Usuário do Discord

Habilite o Modo Desenvolvedor nas configurações do Discord (Aparência → Avançado), depois clique com o botão direito no seu nome de usuário e selecione Copiar ID do Usuário.

Funcionalidades

  • Conexão via gateway — conexão WebSocket em tempo real via framework serenity
  • Slash commands — comandos de aplicativo registrados (veja Comandos)
  • Botões interativos — fluxo de aprovação com botões clicáveis (veja Fluxo de Aprovação)
  • Transferência de arquivos — enviar e receber arquivos como anexos do Discord
  • Divisão de mensagens — respostas longas são divididas para respeitar o limite de 2000 caracteres do Discord
  • Reconexão automática — backoff exponencial em falha de conexão (5s → 60s máx)
  • Lista de usuários permitidos — controle de acesso por token do bot
  • Suporte a múltiplos bots — execute vários bots Discord com configurações separadas

Modelo de Sessão

As sessões do Discord são identificadas por canal:

  • Mensagem no canal: discord:{channel_id}

Cada canal mantém seu próprio histórico de conversa, memória de trabalho e contexto de fatos.

Controle de Acesso
Se allowed_user_ids estiver vazio, qualquer pessoa que possa enviar mensagem ao bot pode interagir com ele. Sempre defina isso em produção.