Webhook Telegram Bot - Notificações de Discurso com IA

:information_source: 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
:hammer_and_wrench: Link do Repositório GitHub - DigneZzZ/webhook_tg_bot
:open_book: 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

:link: 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)

:robot: 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

:mobile_phone: 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 (:crown: Admin, :shield: Moderador, :star: Staff, etc.)

  • Formatação inteligente de mensagens HTML

:bullseye: 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

:rocket: 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

  1. Navegue até Admin → API → Webhooks

  2. Clique em Novo Webhook

  3. 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

  1. Crie o bot via @BotFather

  2. Obtenha o ID do Chat para o seu grupo/canal

  3. 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 - :white_check_mark:
TELEGRAM_CHAT_ID ID do grupo/canal de destino - :white_check_mark:
TELEGRAM_THREAD_ID ID do tópico principal (0 = chat principal) 0 :cross_mark:
WEBHOOK_SECRET Chave secreta para verificação de assinatura - :white_check_mark:
WEBHOOK_PORT Porta do servidor webhook 8080 :cross_mark:
WEBHOOK_PATH Caminho do endpoint do webhook /webhook :cross_mark:
OPENAI_API_KEY Chave da API da OpenAI para resumos - :cross_mark:
OPENAI_MODEL Modelo GPT a ser usado gpt-4.1-nano :cross_mark:
BASE_URL URL do seu fórum Discourse - :cross_mark:
MONITORED_CATEGORIES IDs de categorias a serem monitoradas (separadas por vírgula) all :cross_mark:
IGNORED_CATEGORIES IDs de categorias a serem ignoradas (separadas por vírgula) none :cross_mark:
IGNORED_USERS IDs de usuários a serem ignorados (separadas por vírgula) none :cross_mark:
PREMIUM_CATEGORIES IDs de categorias premium (separadas por vírgula) none :cross_mark:

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

Licença: Licença MIT

2 curtidas