Como Usar Webhook do Discord para Crosspost em Canais de Anúncio
🔍 WiseChecker

Como Usar Webhook do Discord para Crosspost em Canais de Anúncio

Você quer enviar um único anúncio para vários canais de anúncio em servidores diferentes do Discord sem copiar e colar manualmente a mensagem cada vez. Os webhooks do Discord permitem automatizar essa tarefa, postando o mesmo conteúdo em qualquer canal que aceite webhooks de entrada. Este artigo explica como criar um webhook em um servidor, como configurá-lo para postar em vários canais de anúncio e como configurar o fluxo de crosspost usando um bot ou um script simples.

Principais Conclusões: Usando Webhooks do Discord para Crosspost de Anúncios

  • Configurações do Servidor > Integrações > Webhooks: Crie uma URL de webhook para cada canal de anúncio de destino.
  • Bot de terceiros como Webhook Manager: Envia a mesma mensagem para várias URLs de webhook de uma só vez.
  • Script personalizado com curl ou Python: Automatiza o crosspost sem configuração manual de bot.

ADVERTISEMENT

O Que é um Webhook do Discord e Como Funciona o Crosspost

Um webhook do Discord é uma forma simples de enviar mensagens automatizadas para um canal de texto específico. Diferente de um bot, um webhook não precisa ficar online ou ouvir comandos. Você cria uma URL de webhook nas configurações do canal, e qualquer aplicativo ou script que envie uma requisição HTTP POST para essa URL entregará uma mensagem ao canal.

Crosspost significa publicar a mesma mensagem em vários canais. No Discord, o recurso nativo de crosspost só funciona dentro do mesmo servidor e apenas para canais de anúncio que são seguidos. Para enviar uma mensagem para canais de anúncio em servidores diferentes, você precisa usar webhooks. Cada canal de destino deve ter sua própria URL de webhook. Você então envia o mesmo payload para cada URL.

A mensagem do webhook pode incluir texto, embeds, arquivos e menções. O Discord aplica os mesmos limites de taxa aos webhooks que às mensagens regulares: uma postagem por segundo por webhook. Para crosspost em muitos canais, você deve espaçar as requisições ou usar uma fila.

Pré-requisitos para Configurar Crosspost com Webhooks

Antes de começar, você precisa do seguinte:

  • Permissão Gerenciar Webhooks no servidor de origem e em cada servidor de destino. Sem essa permissão, você não pode criar ou usar webhooks.
  • O ID ou nome do canal para cada canal de anúncio de destino. Você pode obter o ID do canal ativando o Modo Desenvolvedor em Configurações do Usuário > Avançado.
  • Uma ferramenta para enviar requisições HTTP: um bot de terceiros como Webhook Manager, um script personalizado usando curl ou Python, ou um serviço como IFTTT ou Zapier.
  • Token de bot do Discord (opcional) se você quiser automatizar o processo com um bot em vez de webhooks puros.

ADVERTISEMENT

Passos para Criar um Webhook para Cada Canal de Destino

  1. Abra as Configurações do Servidor no servidor de destino
    Vá para o servidor onde você quer que o anúncio apareça. Clique no nome do servidor no canto superior esquerdo e selecione Configurações do Servidor no menu suspenso.
  2. Navegue até Integrações > Webhooks
    Na barra lateral esquerda, clique em Integrações e depois em Webhooks. Se você não vir essa opção, não tem a permissão Gerenciar Webhooks.
  3. Crie um novo webhook
    Clique no botão Criar Webhook. Dê um nome ao webhook, como “Bot de Crosspost”. Selecione o canal de destino no menu suspenso Canal. Opcionalmente, faça upload de um avatar para o webhook.
  4. Copie a URL do Webhook
    Após criar o webhook, clique em Copiar URL do Webhook. Salve essa URL em um arquivo de texto seguro ou gerenciador de senhas. Repita esse processo para cada canal onde você deseja fazer crosspost.

Métodos para Enviar uma Mensagem para Vários Webhooks

Depois de ter todas as URLs de webhook, você precisa de uma forma de enviar a mesma mensagem para cada uma. Abaixo estão três métodos, do mais fácil ao mais flexível.

Método 1: Usar um Bot de Terceiros

Vários bots do Discord são projetados para lidar com múltiplos webhooks. Uma opção popular é o Webhook Manager. Convide o bot para seu servidor de origem e dê a ele as permissões necessárias. Em seguida, use um comando como:

!webhook send <webhook_url_1> <webhook_url_2> --message "Seu texto de anúncio aqui"

O bot envia a mensagem para cada URL de webhook em sequência. Verifique a documentação do bot para a sintaxe exata e recursos adicionais, como suporte a embeds.

Método 2: Usar um Script Personalizado com curl

Se você se sente confortável com a linha de comando, pode usar curl para enviar o mesmo payload para várias URLs. Crie um arquivo de texto chamado webhooks.txt com uma URL por linha. Em seguida, execute este script bash:

#!/bin/bash
MESSAGE='{"content":"Seu texto de anúncio aqui"}'
while IFS= read -r url; do
  curl -H "Content-Type: application/json" -d "$MESSAGE" "$url"
done < webhooks.txt

Este script lê cada URL do arquivo e envia o payload JSON. Você pode adicionar um pequeno atraso entre as requisições para evitar limites de taxa, adicionando sleep 1 dentro do loop.

Método 3: Usar um Script Python

Para mais controle, use Python com a biblioteca requests. Instale-a com pip install requests. Em seguida, crie um script como este:

import requests
import json

webhook_urls = [
    "https://discord.com/api/webhooks/...",
    "https://discord.com/api/webhooks/..."
]

payload = {
    "content": "Seu texto de anúncio aqui",
    "embeds": [
        {
            "title": "Título Opcional",
            "description": "Descrição opcional"
        }
    ]
}

for url in webhook_urls:
    response = requests.post(url, json=payload)
    print(f"Enviado para {url}: {response.status_code}")

Este script percorre cada URL e posta o mesmo payload. Verifique o código de status HTTP para confirmar a entrega. Um status 204 significa sucesso.

ADVERTISEMENT

Problemas Comuns ao Fazer Crosspost com Webhooks

Webhook Retorna 400 Bad Request

Um erro 400 geralmente significa que o payload JSON está malformado. Verifique se o campo content é uma string e se todos os colchetes e aspas estão balanceados. Se você incluir embeds, certifique-se de que o objeto embed segue exatamente a estrutura do Discord.

Webhook Retorna 429 Too Many Requests

O Discord limita requisições de webhook a uma por segundo por webhook. Se você enviar várias requisições muito rapidamente, a API retorna um erro 429. Adicione um atraso de pelo menos um segundo entre as requisições. Para muitos webhooks, use uma fila ou agrupe-os em lotes com uma espera.

A Mensagem Não Aparece no Canal de Destino

Se o webhook retornar 204 mas a mensagem estiver invisível, verifique se o canal de destino não está arquivado ou excluído. Confirme também se o webhook ainda está ativo. Você pode testar enviando uma mensagem simples com curl diretamente para uma URL de webhook.

A URL do Webhook Foi Exposta ou Vazada

Qualquer pessoa com a URL do webhook pode enviar mensagens para aquele canal. Se uma URL vazar, exclua o webhook em Configurações do Servidor > Integrações > Webhooks e crie um novo. Nunca compartilhe URLs de webhook em canais públicos.

Webhook do Discord vs Recurso Nativo de Crosspost

Item Crosspost com Webhook Crosspost Nativo (Seguir)
Escopo Qualquer canal em qualquer servidor Apenas canais de anúncio dentro do mesmo servidor ou servidores seguidos
Complexidade de configuração Requer criar webhooks e um método de envio Simples botão de seguir com um clique no canal de anúncio
Formato da mensagem Texto personalizado, embeds, arquivos Apenas a mensagem original do canal de anúncio
Automação Totalmente automatizável via scripts ou bots Publicação manual por um moderador
Limites de taxa 1 requisição por segundo por webhook 5 publicações por hora por canal

Agora você pode enviar um único anúncio para vários servidores do Discord usando webhooks. Escolha o método que se adequa ao seu nível técnico: um bot pronto para simplicidade, um script curl para postagens rápidas e únicas, ou um script Python para controle total. Lembre-se de rotacionar as URLs dos webhooks se elas forem expostas e de respeitar os limites de taxa do Discord. Para automação avançada, combine webhooks com eventos do servidor usando a API de Log de Auditoria do Discord para acionar crossposts automaticamente quando um novo anúncio for publicado.

ADVERTISEMENT