Webhooks do Discord permitem que seu servidor de Tibia envie notificações automáticas para canais do Discord, mantendo a comunidade sempre informada sobre eventos importantes. Este guia mostra como configurar e usar webhooks.
O que são webhooks #
Webhooks são URLs especiais fornecidas pelo Discord que permitem enviar mensagens para canais automaticamente via requisições HTTP POST. Quando configurados corretamente, seu servidor de Tibia pode enviar notificações sobre eventos como: jogadores fazendo level up, bosses sendo mortos, eventos iniciando, servidor reiniciando, e muitas outras ações. As mensagens aparecem como se fossem enviadas por um bot, mas na verdade são enviadas diretamente pelo seu servidor.
Criando webhook no Discord #
No Discord, vá até as configurações do canal onde deseja receber as notificações. Acesse “Integrações” → “Webhooks” → “Novo Webhook”. Dê um nome ao webhook (ex.: “Tibia Server Notifications”), escolha o canal, e opcionalmente adicione uma imagem de avatar. Copie a URL do webhook (ela terá formato como https://discord.com/api/webhooks/ID/TOKEN). Guarde esta URL com segurança, pois ela permite enviar mensagens ao canal.
Implementação básica #
Crie uma função em PHP (ou outra linguagem) que envia mensagens para o webhook. Use curl ou biblioteca HTTP para fazer requisição POST para a URL do webhook. O corpo da requisição deve ser JSON com estrutura específica do Discord. Exemplo básico: {"content": "Mensagem aqui"}. Para mensagens mais ricas, use embeds do Discord que permitem título, descrição, cores, campos, imagens e muito mais.
Integração com servidor de Tibia #
Para enviar notificações baseadas em eventos do jogo, você precisa integrar o sistema de webhooks com o servidor de Tibia. Isso pode ser feito de várias formas: scripts Lua que fazem requisições HTTP (se a engine suportar), scripts PHP que monitoram logs do servidor, ou sistema que consulta o banco de dados periodicamente. Por exemplo, um script pode verificar a cada minuto se algum jogador fez level up consultando a tabela de logs, e então enviar notificação via webhook.
Mensagens ricas com embeds #
Use embeds do Discord para criar mensagens visualmente atraentes. Embeds suportam título, descrição, cor (usando código hexadecimal), campos (name/value), imagens, thumbnails, footer, timestamp, e autor. Isso permite criar notificações profissionais que destacam informações importantes. Por exemplo, uma notificação de boss morto pode ter título “Boss Derrotado!”, cor vermelha, campos mostrando nome do boss, jogadores que participaram, e loot obtido.
Casos de uso avançados #
Configure webhooks para diferentes tipos de eventos: canal de anúncios para atualizações importantes, canal de eventos para notificações de eventos in-game, canal de PvP para kills importantes, canal de economia para transações grandes, canal de staff para alertas administrativos. Use diferentes webhooks para diferentes canais, permitindo que jogadores escolham quais notificações querem receber. Implemente rate limiting para evitar spam se muitos eventos acontecerem rapidamente.
Segurança e boas práticas #
Nunca exponha URLs de webhooks publicamente. Armazene-as em variáveis de ambiente ou arquivos de configuração protegidos. Valide dados antes de enviar para evitar injeção de conteúdo malicioso. Implemente sistema de fallback caso o Discord esteja offline (log em arquivo, fila de mensagens). Monitore uso dos webhooks para identificar problemas ou abusos.
FAQ #
Quantos webhooks posso criar? #
Discord permite até 10 webhooks por canal. Para mais flexibilidade, crie múltiplos canais ou use um bot do Discord que oferece mais funcionalidades.
Webhooks podem receber mensagens? #
Não, webhooks são unidirecionais (servidor → Discord). Para receber comandos ou mensagens, você precisa de um bot do Discord.
Posso editar ou deletar mensagens enviadas por webhook? #
Sim, se você salvar o ID da mensagem retornado pelo Discord, pode editar ou deletar usando a API do Discord com o token do webhook.
Com webhooks configurados, seu servidor Discord se torna um centro de comunicação ativo que mantém todos informados sobre o servidor de Tibia.