Webhook e o jeito mais simples de fazer algo de fora escrever num canal do Discord. E uma URL: quem tem ela consegue postar naquele canal, sem bot, sem login e sem programar nada complicado.
E também a coisa mais fácil de vazar por descuido num servidor — e este guia gasta uma seção inteira nisso, porque o estrago e real.
O que webhook faz, e o que ele NAO faz
| Webhook consegue | Webhook NAO consegue |
|---|---|
| Postar mensagem num canal | Ler o que já foi escrito |
| Postar embed com cor, titulo e imagem | Responder alguém |
| Usar um nome e uma foto próprios | Reagir, moderar, dar cargo |
| Postar sozinho, sem ninguém online | Funcionar em mais de um canal |
| Ser criado em dois minutos | Executar comando |
A diferença pratica: webhook e um megafone de mão única, preso a UM canal. Se você precisa de qualquer coisa que reaja ao que as pessoas fazem, o que você quer e um bot, não um webhook.
Criando um, passo a passo
- 1
Abra as configurações do canal
Engrenagem ao lado do nome do canal. Da pra criar por Configurações do Servidor também, mas pelo canal já vem com o destino certo preenchido.
- 2
Va em Integrações e depois em Webhooks
Se a opção não aparece, você não tem a permissão Gerenciar Webhooks nesse canal. E uma permissão separada de administrador em muitos servidores.
- 3
Clique em Novo webhook
Ele já nasce funcionando, com o nome Captain Hook e a foto padrão. Nome e foto aqui são só o valor inicial: quem posta pode mandar outros a cada mensagem.
- 4
Troque o nome pelo que vai aparecer
Use o nome do sistema que vai postar — "Alertas do site", "GitHub", "Monitor". Deixar Captain Hook faz todo mundo perguntar o que é aquilo.
- 5
Copie a URL
E só aqui que você copia. A partir desse momento, trate a URL como senha: ela não tem login nem confirmação, e quem a tiver posta no seu canal.
- 6
Teste antes de sair
Mande uma mensagem de teste pelo sistema que vai usar. Webhook configurado e nunca testado costuma só ser descoberto no dia em que o alerta importava.
A URL E a senha
Este e o ponto que mais causa problema, e vale insistir: a URL do webhook não pede autenticação nenhuma. Não existe usuário, não existe token separado, não existe confirmação. Quem tem o endereço posta.
Onde ela vaza
Print de tela num canal de ajuda. Repositório público no GitHub. Arquivo de configuração mandado pra um amigo "só pra ele testar". Captura de tela do painel. Em todos esses casos a URL inteira aparece, e existe gente que varre a internet procurando exatamente isso.
Se vazou, o conserto e um só: apagar o webhook e criar outro. Não da pra trocar só a senha, porque a URL inteira e a senha. Apagar derruba na hora quem estava usando o endereço antigo — inclusive o seu sistema legítimo, que vai precisar da URL nova.
- ●Nunca mande a URL por print. Se precisar mostrar, cubra o final dela.
- ●Nunca guarde a URL no código do projeto. Va pra variável de ambiente.
- ●Um webhook por sistema. Assim da pra apagar um sem derrubar os outros.
- ●Revise de tempos em tempos: webhook de serviço que você parou de usar continua funcionando pra sempre.
O que da pra mandar
Uma mensagem de webhook aceita texto simples e também embed — aquele bloco com barra colorida na lateral, titulo, campos e imagem. E o embed que faz o alerta parecer profissional em vez de parecer spam.
Da pra trocar o nome e a foto a cada mensagem. Isso e útil de verdade: um único webhook consegue postar como "Vendas" numa mensagem e como "Erros" na outra, e quem lê entende na hora do que se trata.
Mandar muita mensagem em sequência faz o Discord comecar a recusar — ele controla o ritmo de cada webhook. Se o seu sistema dispara em rajada, junte vários avisos numa mensagem só em vez de mandar um por um.
Webhook ou bot?
| Se você quer... | Use |
|---|---|
| Avisar o canal quando algo acontece num site seu | webhook |
| Receber alerta de um serviço pronto (GitHub, monitor, loja) | webhook |
| Postar em vários canais diferentes | bot |
| Que alguém clique num botão e algo aconteca | bot |
| Dar cargo, moderar, abrir ticket | bot |
| Comecar hoje, sem hospedar nada | webhook |
Não são concorrentes. Servidor bem montado costuma usar os dois: bot pra tudo que interage com as pessoas, webhook pros avisos que vem de sistemas de fora.
Quando o webhook para de funcionar
- ●O canal foi apagado. Webhook pertence ao canal, e some com ele.
- ●O canal foi duplicado. A copia tem ID novo, e o webhook antigo apontava pro antigo.
- ●Alguém apagou o webhook em Integrações, geralmente sem saber o que era.
- ●A URL foi copiada errada, com um pedaco faltando.
- ●O sistema que posta esta mandando formato invalido — nesse caso o Discord recusa e a culpa não e do webhook.
Perguntas frequentes
Webhook do Discord e grátis?
E, e faz parte do Discord — não depende de plano nenhum nem de bot. Qualquer servidor pode criar, desde que quem for criar tenha a permissão Gerenciar Webhooks no canal.
Quem vê as mensagens sabe que foi um webhook?
Sabe: aparece uma etiqueta de aplicativo ao lado do nome, parecida com a de bot. O nome e a foto são os que você escolheu, mas a etiqueta não tem como ser escondida — e isso e proposital, pra ninguém se passar por uma pessoa.
Da pra usar o mesmo webhook em dois canais?
Não. Cada webhook e amarrado a um canal só, desde a criação. Pra postar em dois canais você cria dois webhooks e manda pros dois enderecos — ou usa um bot, que não tem essa limitação.
Alguém pode responder uma mensagem de webhook?
As pessoas conseguem responder no canal normalmente, mas o webhook não lê nada: a resposta fica ali sem ninguém do outro lado. Se você precisa de ida e volta, o caminho e bot.
Apaguei o webhook sem querer. Da pra recuperar?
Não da. Você cria um novo e atualiza a URL em todo lugar que usava o antigo. Por isso vale manter anotado quais sistemas usam qual webhook — na hora do aperto, descobrir isso no susto custa caro.
Webhook funciona em canal privado?
Funciona. O webhook posta no canal independentemente de quem consegue ver o canal — a visibilidade continua valendo normalmente pras pessoas. Isso e útil pra alerta que só a equipe deve ver.