| Riassunto | Bot Telegram professionale per notifiche automatiche su nuovi post dai forum Discourse con riassunti generati dall’IA utilizzando OpenAI GPT-4.1-nano | |
| Link Repository | GitHub - DigneZzZ/webhook_tg_bot | |
| Guida all’installazione | README_EN.md |
Webhook Telegram Bot - Notifiche Discourse Potenziate dall’IA
Nota: Sebbene questo non sia un plugin Discourse tradizionale ma piuttosto un servizio di integrazione esterno, non sono riuscito a trovare una categoria più appropriata per condividere questo utile strumento con la community di Discourse. Questo bot funziona a fianco del tuo forum Discourse per fornire funzionalità di notifica avanzate.
Funzionalità
Integrazione Discourse
-
Elabora webhook per eventi di creazione di argomenti e post
-
Supporta tutti i tipi di contenuti Discourse
-
Combina dati di argomenti e post in messaggi unificati
-
Verifica della firma webhook per la sicurezza (HMAC-SHA256)
Analisi dei Contenuti IA
-
Integrazione OpenAI GPT-4.1-nano per riassunti intelligenti dei post
-
Analisi del contenuto consapevole del contesto con pulizia dell’HTML
-
Modelli speciali per diversi tipi di contenuto
-
Filtraggio ed elaborazione automatica dei contenuti
Invio Avanzato Telegram
-
Invia notifiche alla chat principale o ad argomenti specifici del forum
-
Mappatura delle categorie - instrada diverse categorie di Discourse verso diversi argomenti Telegram
-
Prefissi emoji per ruoli utente (
Admin,
Moderatore,
Staff, ecc.) -
Formattazione intelligente dei messaggi HTML
Filtraggio Flessibile e Controllo
- Monitora categorie specifiche o tutte le categorie
- Ignora categorie indesiderate con sistema di priorità
- Blocca utenti bot (discobot, chatbot, utenti di sistema)
- Notifiche sezioni premium con avvisi di abbonamento
Pronto per la Produzione
- Containerizzazione Docker con controlli di integrità
- Pipeline CI/CD GitHub Actions
- Integrazione Systemd per avvio automatico
- Registrazione e monitoraggio completi
- Arresto grazioso e gestione degli errori
Configurazione
1. Configurazione Webhook Discourse
-
Naviga su Admin → API → Webhooks
-
Fai clic su New Webhook
-
Configura:
Payload URL: https://your-domain.com/webhook
Content Type: application/json
Secret: your_webhook_secret
Which events: Topic Event + Post Event
2. Configurazione Bot Telegram
-
Crea il bot tramite @BotFather
-
Ottieni Chat ID per il tuo gruppo/canale
-
Opzionalmente, configura argomenti del forum per l’instradamento delle categorie
3. Configurazione dell’Ambiente
Crea il file .env con le impostazioni richieste (vedi configurazione completa nel repository).
4. Distribuzione Docker
# Installazione rapida
curl -fsSL https://raw.githubusercontent.com/dignezzz/webhook_tg_bot/main/install.sh -o install.sh
chmod +x install.sh
./install.sh install
5. Configurazione Proxy Inverso
Per il supporto webhook sul tuo dominio, configura un proxy inverso (nginx/Apache) per instradare le richieste webhook al container del bot sulla porta 8080.
Esempio di configurazione nginx:
location /webhook {
proxy_pass http://localhost:8080/webhook;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
Impostazioni
| Nome | Descrizione | Predefinito | Richiesto |
|---|---|---|---|
TELEGRAM_BOT_TOKEN |
Token del bot da @BotFather | - | |
TELEGRAM_CHAT_ID |
ID del gruppo/canale di destinazione | - | |
TELEGRAM_THREAD_ID |
ID dell’argomento principale (0 = chat principale) | 0 | |
WEBHOOK_SECRET |
Chiave segreta per la verifica della firma | - | |
WEBHOOK_PORT |
Porta del server webhook | 8080 | |
WEBHOOK_PATH |
Percorso dell’endpoint webhook | /webhook | |
OPENAI_API_KEY |
Chiave API OpenAI per i riassunti | - | |
OPENAI_MODEL |
Modello GPT da utilizzare | gpt-4.1-nano | |
BASE_URL |
URL del tuo forum Discourse | - | |
MONITORED_CATEGORIES |
ID delle categorie da monitorare (separati da virgola) | all | |
IGNORED_CATEGORIES |
ID delle categorie da ignorare (separati da virgola) | none | |
IGNORED_USERS |
ID degli utenti da ignorare (separati da virgola) | none | |
PREMIUM_CATEGORIES |
ID delle categorie premium (separati da virgola) | none |
Mappatura Categoria-Argomento (Opzionale):
TELEGRAM_THREAD_ID_1=123456
THREAD_CATEGORIES_1=1,2,3
TELEGRAM_THREAD_ID_2=234567
THREAD_CATEGORIES_2=4,5
Esempio Formato Messaggio
👤 👑 Administrator ha creato un nuovo post: Guida alla configurazione Docker
📋 L'autore condivide una soluzione al problema di configurazione del container Docker e spiega il processo passo-passo per risolvere gli errori di connessione al database.
🔗 Link all'argomento (https://forum.example.com/t/topic/123)
🏷 Tag: #docker, #database, #troubleshooting
💎 Questa sezione è disponibile solo su abbonamento.
Installazione e Gestione
Il bot include uno script di gestione per operazioni semplici:
whtg status # Controlla lo stato del bot
whtg start # Avvia il bot
whtg stop # Arresta il bot
whtg restart # Riavvia il bot
whtg logs # Visualizza i log
whtg update # Aggiorna all'ultima versione
whtg uninstall # Rimuovi il bot
Supporto Lingua
Nota: Attualmente, tutti i messaggi dell’interfaccia e la documentazione sono in russo, ma il supporto per la lingua inglese sarà aggiunto nel prossimo futuro. Il bot funziona con qualsiasi forum Discourse indipendentemente dalla lingua.
Requisiti Tecnici
-
Docker e Docker Compose
-
Proxy inverso (nginx/Apache) per il supporto del dominio webhook
-
Chiave API OpenAI (opzionale, per riassunti IA)
-
Certificato HTTPS (raccomandato per la produzione)
Supporto e Contributi
-
Repository GitHub: GitHub - DigneZzZ/webhook_tg_bot
-
Discussioni: Discussioni della community
Licenza: Licenza MIT