Webhook Telegram Bot - KI-gestützte Diskursbenachrichtigungen

:information_source: Zusammenfassung Professioneller Telegram-Bot für automatische Benachrichtigungen über neue Beiträge aus Discourse-Foren mit KI-generierten Zusammenfassungen unter Verwendung von OpenAI GPT-4.1-nano.
:hammer_and_wrench: Repository-Link GitHub - DigneZzZ/webhook_tg_bot
:open_book: Installationsanleitung README_EN.md

Webhook Telegram Bot – KI-gestützte Discourse-Benachrichtigungen

Hinweis: Obwohl dies kein traditionelles Discourse-Plugin, sondern ein externer Integrationsdienst ist, konnte ich keine passendere Kategorie finden, um dieses nützliche Werkzeug mit der Discourse-Community zu teilen. Dieser Bot arbeitet neben Ihrem Discourse-Forum, um erweiterte Benachrichtigungsfunktionen bereitzustellen.

Funktionen

:link: Discourse-Integration

  • Verarbeitet Webhooks für Ereignisse zur Erstellung von Themen und Beiträgen

  • Unterstützt alle Arten von Discourse-Inhalten

  • Kombiniert Themen- und Beitragsdaten zu einheitlichen Nachrichten

  • Überprüfung der Webhook-Signatur zur Sicherheit (HMAC-SHA256)

:robot: KI-Inhaltsanalyse

  • OpenAI GPT-4.1-nano-Integration für intelligente Beitragszusammenfassungen

  • Kontextbezogene Inhaltsanalyse mit HTML-Bereinigung

  • Spezielle Vorlagen für verschiedene Inhaltstypen

  • Automatische Inhaltsfilterung und -verarbeitung

:mobile_phone: Erweiterte Telegram-Zustellung

  • Benachrichtigungen an den Haupt-Chat oder spezifische Forenthemen senden

  • Kategoriezuordnung – verschiedene Discourse-Kategorien an verschiedene Telegram-Themen weiterleiten

  • Emoji-Präfixe für Benutzerrollen (:crown: Admin, :shield: Moderator, :star: Staff usw.)

  • Intelligente HTML-Nachrichtenformatierung

:bullseye: Flexible Filterung & Steuerung

  • Bestimmte oder alle Kategorien überwachen

  • Unerwünschte Kategorien mit Prioritätssystem ignorieren

  • Bot-Benutzer blockieren (discobot, chatbot, Systembenutzer)

  • Benachrichtigungen für Premium-Bereiche mit Abonnement-Alarmen

:rocket: Produktionsreif

  • Docker-Containerisierung mit Health Checks

  • GitHub Actions CI/CD-Pipeline

  • Systemd-Integration für automatischen Start

  • Umfassendes Logging und Monitoring

  • Graceful Shutdown und Fehlerbehandlung

Konfiguration

1. Discourse Webhook-Einrichtung

  1. Navigieren Sie zu Admin → API → Webhooks

  2. Klicken Sie auf Neuer Webhook

  3. Konfigurieren Sie:

Payload URL: https://your-domain.com/webhook

Content Type: application/json

Secret: your_webhook_secret

Welche Ereignisse: Topic Event + Post Event

2. Telegram Bot-Einrichtung

  1. Erstellen Sie einen Bot über @BotFather

  2. Rufen Sie die Chat-ID für Ihre Gruppe/Ihren Kanal ab

  3. Richten Sie optional Forenthemen für die Kategorieroutenführung ein

3. Umgebungskonfiguration

Erstellen Sie eine .env-Datei mit den erforderlichen Einstellungen (vollständige Konfiguration im Repository).

4. Docker-Bereitstellung

# Schnelle Installation

curl -fsSL https://raw.githubusercontent.com/dignezzz/webhook_tg_bot/main/install.sh -o install.sh

chmod +x install.sh

./install.sh install

5. Reverse Proxy-Einrichtung

Für Webhook-Unterstützung auf Ihrer Domain konfigurieren Sie einen Reverse Proxy (nginx/Apache), um Webhook-Anfragen an den Bot-Container an Port 8080 weiterzuleiten.

Beispiel nginx-Konfiguration:

location /webhook {
proxy_pass http://localhost:8080/webhook;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}

Einstellungen

Name Beschreibung Standard Erforderlich
TELEGRAM_BOT_TOKEN Bot-Token von @BotFather - :white_check_mark:
TELEGRAM_CHAT_ID Zielgruppen-/Kanal-ID - :white_check_mark:
TELEGRAM_THREAD_ID Haupt-Thread-ID (0 = Haupt-Chat) 0 :cross_mark:
WEBHOOK_SECRET Geheimer Schlüssel für Signaturprüfung - :white_check_mark:
WEBHOOK_PORT Webhook-Server-Port 8080 :cross_mark:
WEBHOOK_PATH Webhook-Endpunkt-Pfad /webhook :cross_mark:
OPENAI_API_KEY OpenAI API-Schlüssel für Zusammenfassungen - :cross_mark:
OPENAI_MODEL Zu verwendendes GPT-Modell gpt-4.1-nano :cross_mark:
BASE_URL Ihre Discourse-Forum-URL - :cross_mark:
MONITORED_CATEGORIES Zu überwachende Kategorie-IDs (kommagetrennt) all :cross_mark:
IGNORED_CATEGORIES Zu ignorierende Kategorie-IDs (kommagetrennt) none :cross_mark:
IGNORED_USERS Zu ignorierende Benutzer-IDs (kommagetrennt) none :cross_mark:
PREMIUM_CATEGORIES Premium-Kategorie-IDs (kommagetrennt) none :cross_mark:

Kategorie-zu-Thread-Zuordnung (Optional):

TELEGRAM_THREAD_ID_1=123456
THREAD_CATEGORIES_1=1,2,3
TELEGRAM_THREAD_ID_2=234567
THREAD_CATEGORIES_2=4,5

Nachrichtenformat-Beispiel

👤 👑 Administrator hat einen neuen Beitrag erstellt: Docker-Konfigurationsanleitung

📋 Autor teilt eine Lösung für das Problem der Docker-Container-Konfiguration und erklärt den Schritt-für-Schritt-Prozess zur Behebung von Datenbankverbindungsfehlern.

🔗 Thema-Link (https://forum.example.com/t/topic/123)

🏷 Tags: #docker, #database, #troubleshooting

💎 Dieser Abschnitt ist nur im Abonnement verfügbar.

Installation & Verwaltung

Der Bot enthält ein Verwaltungs-Skript für einfache Vorgänge:

whtg status # Bot-Status prüfen

whtg start # Bot starten

whtg stop # Bot stoppen

whtg restart # Bot neu starten

whtg logs # Protokolle anzeigen

whtg update # Auf die neueste Version aktualisieren

whtg uninstall # Bot entfernen

Sprachunterstützung

Hinweis: Derzeit sind alle Oberflächennachrichten und Dokumentationen auf Russisch, aber englische Sprachunterstützung wird in naher Zukunft hinzugefügt. Der Bot funktioniert mit jedem Discourse-Forum unabhängig von der Sprache.

Technische Anforderungen

  • Docker und Docker Compose

  • Reverse Proxy (nginx/Apache) für Webhook-Domain-Unterstützung

  • OpenAI API-Schlüssel (optional, für KI-Zusammenfassungen)

  • HTTPS-Zertifikat (empfohlen für die Produktion)

Unterstützung & Beiträge

Lizenz: MIT-Lizenz

2 „Gefällt mir“