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
- Acesse o Discord Developer Portal
- Clique em New Application e dê um nome (ex.: “aidaemon”)
- Em Bot, clique em Add Bot
- Copie o Bot Token — este é o seu
bot_token - Habilite estas Privileged Gateway Intents:
Message Content Intent— ler texto das mensagensServer Members Intent— resolver informações de usuários
- Em OAuth2 → URL Generator, selecione os escopos
boteapplications.commands, depois as permissões: Send Messages, Read Message History, Attach Files, Use Slash Commands - 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| Key | Type | Default | Description |
|---|---|---|---|
bot_token | string | — | Token do bot Discord obtido no Developer Portal. Suporta "keychain". |
allowed_user_ids | array | [] | IDs de usuários Discord (inteiros snowflake) autorizados a interagir. Vazio = sem restrição. |
guild_id | integer | null | ID 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.