| Resumo | Bot profissional do Telegram para notificações automáticas sobre novas postagens de fóruns Discourse com resumos gerados por IA usando OpenAI GPT-4.1-nano | |
| Link do Repositório | GitHub - DigneZzZ/webhook_tg_bot | |
| Guia de Instalação | README_EN.md |
Webhook Telegram Bot - Notificações Discourse com IA
Observação: Embora este não seja um plugin Discourse tradicional, mas sim um serviço de integração externa, não consegui encontrar uma categoria mais apropriada para compartilhar esta ferramenta útil com a comunidade Discourse. Este bot funciona em conjunto com o seu fórum Discourse para fornecer capacidades de notificação aprimoradas.
Funcionalidades
Integração Discourse
-
Processa webhooks para eventos de criação de tópicos e postagens
-
Suporta todos os tipos de conteúdo Discourse
-
Combina dados de tópicos e postagens em mensagens unificadas
-
Verificação de assinatura de webhook para segurança (HMAC-SHA256)
Análise de Conteúdo por IA
-
Integração OpenAI GPT-4.1-nano para resumos inteligentes de postagens
-
Análise de conteúdo ciente do contexto com limpeza de HTML
-
Modelos especiais para diferentes tipos de conteúdo
-
Filtragem e processamento automático de conteúdo
Entrega Avançada no Telegram
-
Envia notificações para o chat principal ou tópicos específicos do fórum
-
Mapeamento de categorias - roteia diferentes categorias Discourse para diferentes tópicos do Telegram
-
Prefixos de emoji de função de usuário (
Admin,
Moderador,
Staff, etc.) -
Formatação inteligente de mensagens HTML
Filtragem e Controle Flexíveis
-
Monitora categorias específicas ou todas as categorias
-
Ignora categorias indesejadas com sistema de prioridade
-
Bloqueia usuários do bot (discobot, chatbot, usuários do sistema)
-
Notificações de seção premium com alertas de assinatura
Pronto para Produção
-
Contêinerização Docker com verificações de integridade
-
Pipeline CI/CD do GitHub Actions
-
Integração com Systemd para inicialização automática
-
Registro e monitoramento abrangentes
-
Desligamento e tratamento de erros graciosos
Configuração
1. Configuração do Webhook Discourse
-
Navegue até Admin → API → Webhooks
-
Clique em Novo Webhook
-
Configure:
URL do Payload: https://seu-dominio.com/webhook
Tipo de Conteúdo: application/json
Segredo: seu_segredo_webhook
Quais eventos: Evento de Tópico + Evento de Postagem
2. Configuração do Bot do Telegram
-
Crie o bot via @BotFather
-
Obtenha o ID do Chat para o seu grupo/canal
-
Opcionalmente, configure tópicos do fórum para roteamento de categorias
3. Configuração do Ambiente
Crie o arquivo .env com as configurações necessárias (veja a configuração completa no repositório).
4. Implantação Docker
# Instalação rápida
curl -fsSL https://raw.githubusercontent.com/dignezzz/webhook_tg_bot/main/install.sh -o install.sh
chmod +x install.sh
./install.sh install
5. Configuração do Proxy Reverso
Para suporte a webhook no seu domínio, configure um proxy reverso (nginx/Apache) para rotear as requisições de webhook para o contêiner do bot na porta 8080.
Exemplo de configuração nginx:
location /webhook {
proxy_pass http://localhost:8080/webhook;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
Configurações
| Nome | Descrição | Padrão | Obrigatório |
|---|---|---|---|
TELEGRAM_BOT_TOKEN |
Token do bot do @BotFather | - | |
TELEGRAM_CHAT_ID |
ID do grupo/canal de destino | - | |
TELEGRAM_THREAD_ID |
ID do tópico principal (0 = chat principal) | 0 | |
WEBHOOK_SECRET |
Chave secreta para verificação de assinatura | - | |
WEBHOOK_PORT |
Porta do servidor webhook | 8080 | |
WEBHOOK_PATH |
Caminho do endpoint do webhook | /webhook | |
OPENAI_API_KEY |
Chave da API da OpenAI para resumos | - | |
OPENAI_MODEL |
Modelo GPT a ser usado | gpt-4.1-nano | |
BASE_URL |
URL do seu fórum Discourse | - | |
MONITORED_CATEGORIES |
IDs de categorias a serem monitoradas (separadas por vírgula) | all | |
IGNORED_CATEGORIES |
IDs de categorias a serem ignoradas (separadas por vírgula) | none | |
IGNORED_USERS |
IDs de usuários a serem ignorados (separadas por vírgula) | none | |
PREMIUM_CATEGORIES |
IDs de categorias premium (separadas por vírgula) | none |
Mapeamento Categoria-para-Tópico (Opcional):
TELEGRAM_THREAD_ID_1=123456
THREAD_CATEGORIES_1=1,2,3
TELEGRAM_THREAD_ID_2=234567
THREAD_CATEGORIES_2=4,5
Exemplo de Formato de Mensagem
👤 👑 Administrator criou uma nova postagem: Guia de Configuração Docker
📋 O autor compartilha uma solução para o problema de configuração de contêiner Docker e explica o processo passo a passo para corrigir erros de conexão com o banco de dados.
🔗 Link do tópico (https://forum.example.com/t/topic/123)
🏷 Tags: #docker, #database, #troubleshooting
💎 Esta seção está disponível apenas por assinatura.
Instalação e Gerenciamento
O bot inclui um script de gerenciamento para operações fáceis:
whtg status # Verificar status do bot
whtg start # Iniciar o bot
whtg stop # Parar o bot
whtg restart # Reiniciar o bot
whtg logs # Ver logs
whtg update # Atualizar para a versão mais recente
whtg uninstall # Remover o bot
Suporte de Idioma
Observação: Atualmente, todas as mensagens da interface e a documentação estão em russo, mas o suporte ao idioma inglês será adicionado em breve. O bot funciona com qualquer fórum Discourse, independentemente do idioma.
Requisitos Técnicos
-
Docker e Docker Compose
-
Proxy reverso (nginx/Apache) para suporte a domínio de webhook
-
Chave da API OpenAI (opcional, para resumos de IA)
-
Certificado HTTPS (recomendado para produção)
Suporte e Contribuições
-
Repositório GitHub: GitHub - DigneZzZ/webhook_tg_bot
-
Discussões: Discussões da comunidade
Licença: Licença MIT