| 概要 | OpenAI GPT-4.1-nano を使用した AI 生成要約付きで、Discourse フォーラムの新しい投稿に関する自動通知のためのプロフェッショナル Telegram ボット。 | |
| リポジトリリンク | GitHub - DigneZzZ/webhook_tg_bot | |
| インストールガイド | README_EN.md |
Webhook Telegram Bot - AI搭載 Discourse 通知
注: これは従来の Discourse プラグインではなく、外部連携サービスですが、この便利なツールを Discourse コミュニティと共有するのにこれ以上適切なカテゴリが見つかりませんでした。このボットは Discourse フォーラムと連携して、強化された通知機能を提供します。
特徴
Discourse 連携
-
トピックおよび投稿作成イベントの Webhook を処理します
-
あらゆる種類の Discourse コンテンツをサポートします
-
トピックと投稿のデータを統合メッセージに結合します
-
セキュリティのための Webhook 署名検証 (HMAC-SHA256)
AI コンテンツ分析
-
インテリジェントな投稿要約のための OpenAI GPT-4.1-nano 連携
-
HTML クリーンアップによるコンテキスト認識コンテンツ分析
-
コンテンツタイプ別の特別なテンプレート
-
自動コンテンツフィルタリングと処理
高度な Telegram 配信
-
メインチャットまたは特定のフォーラムトピックに通知を送信します
-
カテゴリマッピング - 異なる Discourse カテゴリを異なる Telegram トピックにルーティングします
-
ユーザーロール絵文字プレフィックス (
管理者、
モデレーター、
スタッフなど) -
スマート HTML メッセージフォーマット
柔軟なフィルタリングと制御
- 特定のカテゴリまたはすべてのカテゴリを監視します
- 優先度システムで不要なカテゴリを無視します
- ボットユーザー (discobot, chatbot, system users) をブロックします
- サブスクリプションアラート付きのプレミアムセクション通知
本番稼働準備完了
- ヘルスチェック付き Docker コンテナ化
- GitHub Actions CI/CD パイプライン
- 自動起動のための Systemd 連携
- 包括的なロギングと監視
- グレースフルシャットダウンとエラー処理
設定
1. Discourse Webhook 設定
-
Admin → API → Webhooks に移動します
-
New Webhook をクリックします
-
設定します:
Payload URL: https://your-domain.com/webhook
Content Type: application/json
Secret: your_webhook_secret
Which events: Topic Event + Post Event
2. Telegram Bot 設定
-
@BotFather を介してボットを作成します
-
グループ/チャンネルのチャット ID を取得します
-
オプションで、カテゴリルーティングのためのフォーラムトピックを設定します
3. 環境設定
必要な設定で .env ファイルを作成します (リポジトリで完全な設定を確認してください)。
4. Docker デプロイ
# 簡単インストール
curl -fsSL https://raw.githubusercontent.com/dignezzz/webhook_tg_bot/main/install.sh -o install.sh
chmod +x install.sh
./install.sh install
5. リバースプロキシ設定
ドメインでの Webhook サポートのために、リバースプロキシ (nginx/Apache) を設定して、Webhook リクエストをポート 8080 のボットコンテナにルーティングします。
nginx 設定例:
location /webhook {
proxy_pass http://localhost:8080/webhook;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
設定項目
| 名前 | 説明 | デフォルト | 必須 |
|---|---|---|---|
TELEGRAM_BOT_TOKEN |
@BotFather からのボットトークン | - | |
TELEGRAM_CHAT_ID |
対象グループ/チャンネル ID | - | |
TELEGRAM_THREAD_ID |
メイントピック ID (0 = メインチャット) | 0 | |
WEBHOOK_SECRET |
署名検証用のシークレットキー | - | |
WEBHOOK_PORT |
Webhook サーバーポート | 8080 | |
WEBHOOK_PATH |
Webhook エンドポイントパス | /webhook | |
OPENAI_API_KEY |
要約用の OpenAI API キー | - | |
OPENAI_MODEL |
使用する GPT モデル | gpt-4.1-nano | |
BASE_URL |
Discourse フォーラムの URL | - | |
MONITORED_CATEGORIES |
監視するカテゴリ ID (カンマ区切り) | all | |
IGNORED_CATEGORIES |
無視するカテゴリ ID (カンマ区切り) | none | |
IGNORED_USERS |
無視するユーザー ID (カンマ区切り) | none | |
PREMIUM_CATEGORIES |
プレミアムカテゴリ ID (カンマ区切り) | none |
カテゴリからトピックへのマッピング (オプション):
TELEGRAM_THREAD_ID_1=123456
THREAD_CATEGORIES_1=1,2,3
TELEGRAM_THREAD_ID_2=234567
THREAD_CATEGORIES_2=4,5
メッセージフォーマット例
👤 👑 Administrator が新しい投稿を作成しました: Docker Configuration Guide
📋 Author は Docker コンテナ設定の問題に対する解決策を共有し、データベース接続エラーを修正するステップバイステッププロセスを説明します。
🔗 トピックリンク (https://forum.example.com/t/topic/123)
🏷 タグ: #docker, #database, #troubleshooting
💎 このセクションはサブスクリプションのみで利用可能です。
インストールと管理
ボットには、簡単な操作のための管理スクリプトが含まれています:
whtg status # ボットのステータスを確認します
whtg start # ボットを開始します
whtg stop # ボットを停止します
whtg restart # ボットを再起動します
whtg logs # ログを表示します
whtg update # 最新バージョンに更新します
whtg uninstall # ボットを削除します
言語サポート
注: 現在、すべてのインターフェースメッセージとドキュメントはロシア語ですが、英語のサポートは近日中に追加される予定です。ボットは言語に関係なく、どの Discourse フォーラムでも動作します。
技術要件
-
Docker および Docker Compose
-
Webhook ドメインサポートのための リバースプロキシ (nginx/Apache)
-
OpenAI API キー (オプション、AI 要約用)
-
HTTPS 証明書 (本番環境推奨)
サポートと貢献
-
GitHub リポジトリ: GitHub - DigneZzZ/webhook_tg_bot
-
Issue: バグまたは機能リクエストを報告する
-
ディスカッション: コミュニティディスカッション
ライセンス: MIT ライセンス