Skip to main content
O adaptador do Discord se conecta ao Discord Gateway por WebSocket, então, como o Telegram, não precisa de URL pública nem abre porta. O bot lê todas as mensagens dos canais e DMs que consegue ver, o que faz das permissões de canal do próprio Discord a forma de decidir quem pode usá-lo.

Configuração

1

Crie a aplicação e o bot

No Discord Developer Portal, crie uma aplicação, adicione um Bot e copie o token.
2

Ligue o intent Message Content

Em Bot → Privileged Gateway Intents, ative o Message Content Intent. O gateway pede esse intent para ler o que as pessoas escrevem; sem ele o Discord recusa a conexão.
3

Convide o bot

Use o gerador de URL do OAuth2 com o escopo bot e as permissões de ler mensagens, enviar mensagens e anexar arquivos, abra a URL e adicione o bot ao seu servidor. Mensagens diretas para o bot também funcionam.
4

Configure o ChatCLI e inicie

Variáveis de ambiente

Quem alcança o bot

O bot responde a toda mensagem de uma pessoa em cada canal de servidor e DM que consegue ler; ele não espera ser mencionado e não tem lista de permitidos. Cada mensagem roda o agente com suas tools e o shell, então dê ao bot acesso só a um canal privado, ou às pessoas que devem usá-lo.
Mensagens escritas por bots, inclusive por ele mesmo, são ignoradas.

Mensagens

  • Texto: o conteúdo da mensagem. Um canal de servidor é uma conversa compartilhada por todos nele; uma DM é a sua própria.
  • Voz: o primeiro anexo de áudio é baixado e transcrito antes de o agente rodar.
  • Imagens: o primeiro anexo de imagem chega ao modelo.
  • Respostas com imagem são enviadas como arquivo na resposta; se falhar, o texto vai sozinho.
  • Respostas longas saem como várias mensagens em ordem, divididas em quebras de linha ou espaços, porque o Discord aceita no máximo 2000 caracteres por mensagem.
  • As respostas são postadas no canal, não como resposta à mensagem original.

Limites

  • Uma resposta é cortada em 3500 caracteres antes de ser dividida, então chega em no máximo duas mensagens.
  • Depois de uma desconexão o bot se reconecta com uma sessão nova; mensagens enviadas no intervalo não chegam a ele.

Solução de problemas

Ative o Message Content Intent no Developer Portal. Sem ele o gateway não consegue ler o texto das mensagens e a conexão é recusada; ~/.chatcli/gateway.log mostra o erro.
Remova a permissão dele de ler esses canais nas configurações do servidor. O bot não tem lista de permitidos própria.

Veja também

Chat gateway

Como as mensagens rodam, voz, imagens, continuidade e os outros canais.

Segurança

Endureça o que o agente pode fazer quando roda sem supervisão.