Como Configurar OpenClaw no Discord - Guia Completo

Como Configurar OpenClaw no Discord

Transforme seu agente OpenClaw em um bot do Discord que participa de conversas, responde comandos e automatiza tarefas no seu servidor.

Pré-requisitos

  • OpenClaw instalado e funcionando (guia de instalação)
  • Conta no Discord
  • Permissão de administrador em um servidor Discord (ou criar um novo)

Passo 1: Criar Aplicação no Discord

1.1 Acessar Portal de Desenvolvedores

  1. Acesse discord.com/developers/applications
  2. Faça login com sua conta Discord
  3. Clique em “New Application”

1.2 Configurar Aplicação

  1. Dê um nome ao seu bot (ex: “OpenClaw Assistant”)
  2. Aceite os termos de serviço
  3. Clique em “Create”

1.3 Obter Token do Bot

  1. No menu lateral, clique em “Bot”
  2. Clique em “Add Bot” e confirme
  3. Em “TOKEN”, clique em “Reset Token”
  4. Copie e guarde o token em local seguro

⚠️ IMPORTANTE: Nunca compartilhe seu token! Qualquer pessoa com ele pode controlar seu bot.

Passo 2: Configurar Permissões

2.1 Privileged Gateway Intents

No portal de desenvolvedores, seção “Bot”:

  1. Ative “PRESENCE INTENT” (opcional, para status)
  2. Ative “SERVER MEMBERS INTENT” (se precisar ver membros)
  3. Ative “MESSAGE CONTENT INTENT”OBRIGATÓRIO

O Message Content Intent é essencial para o bot ler mensagens.

2.2 Permissões do Bot

Na seção “OAuth2” > “URL Generator”:

Scopes:

  • bot
  • applications.commands (para slash commands)

Bot Permissions:

  • ✅ Read Messages/View Channels
  • ✅ Send Messages
  • ✅ Send Messages in Threads
  • ✅ Embed Links
  • ✅ Attach Files
  • ✅ Read Message History
  • ✅ Add Reactions
  • ✅ Use Slash Commands
  1. Após selecionar permissões, copie o URL gerado
  2. Abra o URL no navegador
  3. Selecione o servidor onde adicionar o bot
  4. Autorize as permissões

Passo 3: Configurar OpenClaw

3.1 Adicionar Credenciais

Edite seu arquivo de configuração do OpenClaw (config.yaml):

channels:
  discord:
    enabled: true
    token: "SEU_TOKEN_AQUI"
    
    # Configurações opcionais
    prefix: "!"              # Prefixo para comandos (ex: !ajuda)
    allowMentions: true      # Responder quando mencionado
    allowDMs: true           # Responder em mensagens diretas
    
    # Controle de acesso
    allowedServers:          # Limitar a servidores específicos
      - "123456789012345678"
    allowedChannels:         # Limitar a canais específicos
      - "987654321098765432"
    allowedRoles:            # Apenas usuários com estas roles
      - "Admin"
      - "Moderador"

3.2 Configuração Mínima

Para começar rapidamente:

channels:
  discord:
    enabled: true
    token: "SEU_TOKEN_AQUI"

3.3 Reiniciar OpenClaw

openclaw gateway restart

Passo 4: Testar a Integração

4.1 Verificar Status

No Discord, o bot deve aparecer online no seu servidor.

4.2 Testar Resposta

Mencione o bot ou use o prefixo configurado:

@OpenClaw Olá, tudo bem?

Ou com prefixo:

!ajuda

4.3 Verificar Logs

openclaw status

Configurações Avançadas

Responder em Threads

channels:
  discord:
    threads:
      enabled: true
      autoCreate: false    # Criar threads automaticamente
      followUp: true       # Continuar em threads existentes

Reações Automáticas

channels:
  discord:
    reactions:
      enabled: true
      onReceive: "👀"      # Reagir ao receber mensagem
      onProcess: "⏳"      # Durante processamento
      onComplete: "✅"     # Ao completar

Múltiplos Servidores

channels:
  discord:
    servers:
      "123456789012345678":  # ID do servidor
        prefix: "!"
        allowedChannels:
          - "canal-bot"
      "987654321098765432":  # Outro servidor
        prefix: "?"
        allowedChannels:
          - "geral"

Rate Limiting

channels:
  discord:
    rateLimit:
      messagesPerMinute: 20
      messagesPerHour: 200
      cooldownMs: 1000     # Delay entre mensagens

Comandos Slash

Registrar Comandos

O OpenClaw pode registrar slash commands automaticamente:

channels:
  discord:
    slashCommands:
      enabled: true
      commands:
        - name: "ajuda"
          description: "Mostra ajuda do bot"
        - name: "status"
          description: "Status do sistema"
        - name: "lembrete"
          description: "Criar lembrete"
          options:
            - name: "mensagem"
              type: "string"
              required: true
            - name: "tempo"
              type: "string"
              required: true

Usar Comandos

No Discord:

/ajuda
/lembrete mensagem:"Reunião" tempo:"em 30 minutos"

Personalização

Embed Messages

O bot pode enviar mensagens formatadas:

channels:
  discord:
    embeds:
      enabled: true
      color: "#5865F2"     # Cor da barra lateral
      footer: "OpenClaw AI"
      thumbnail: true       # Mostrar avatar

Status do Bot

channels:
  discord:
    presence:
      status: "online"      # online, idle, dnd, invisible
      activity:
        type: "watching"    # playing, streaming, listening, watching
        name: "por mensagens"

Boas Práticas

1. Controle de Acesso

Sempre limite onde o bot pode operar:

channels:
  discord:
    # Modo allowlist: apenas canais listados
    allowedChannels:
      - "bot-commands"
      - "suporte"
    
    # Ou modo blocklist: todos exceto estes
    blockedChannels:
      - "off-topic"
      - "memes"

2. Comportamento em Grupos

No SOUL.md, adicione instruções para Discord:

## Comportamento no Discord

- Não responda a cada mensagem no canal
- Responda quando mencionado diretamente
- Use reações para reconhecer sem inundar o chat
- Mantenha respostas concisas em canais movimentados
- Threads são preferíveis para conversas longas

3. Formatação

Discord suporta Markdown limitado:

**negrito**
*itálico*
~~tachado~~
`código inline`
```código em bloco```
> citação

4. Limites de Mensagem

  • Máximo 2000 caracteres por mensagem
  • Para textos longos, divida em múltiplas mensagens
  • Use embeds para conteúdo estruturado

Solução de Problemas

Bot Não Aparece Online

  1. Verifique se o token está correto
  2. Confirme que o OpenClaw está rodando
  3. Verifique os logs: openclaw status

Bot Não Responde

  1. Confirme que MESSAGE CONTENT INTENT está ativo
  2. Verifique se o canal está na allowlist
  3. Teste em DM para isolar o problema

Erro de Permissão

  1. Reconvide o bot com permissões corretas
  2. Verifique hierarquia de roles no servidor
  3. Confirme permissões do canal específico

Rate Limited

Erro: You are being rate limited

Reduza a frequência de mensagens:

channels:
  discord:
    rateLimit:
      cooldownMs: 2000

Exemplos de Uso

Bot de Suporte

channels:
  discord:
    allowedChannels:
      - "suporte"
    prefix: "!"

SOUL.md:

Você é um assistente de suporte no Discord.
- Responda dúvidas sobre o produto
- Encaminhe problemas complexos para a equipe
- Mantenha tom profissional mas amigável

Bot de Comunidade

channels:
  discord:
    allowMentions: true
    reactions:
      enabled: true

SOUL.md:

Você participa da comunidade do Discord.
- Ajude novatos com informações básicas
- Não domine as conversas
- Use reações para engajar sem poluir o chat

Bot de Moderação Assistida

channels:
  discord:
    allowedRoles:
      - "Moderador"

SOUL.md:

Você auxilia moderadores do Discord.
- Resuma conversas quando pedido
- Identifique padrões de spam
- Sugira ações mas não execute sem confirmação

Integrações Extras

Webhooks

Receba notificações de outros serviços:

channels:
  discord:
    webhooks:
      notifications:
        url: "https://discord.com/api/webhooks/..."
        events:
          - "deploy"
          - "alert"

Logs de Auditoria

channels:
  discord:
    auditLog:
      enabled: true
      channel: "bot-logs"
      events:
        - "command"
        - "error"
        - "moderation"

Próximos Passos


Dica: Comece com configurações simples em um servidor de teste antes de adicionar o bot a servidores maiores. Isso permite ajustar o comportamento sem impactar outros usuários.