Telegram プライベートチャットボット

Web

概要

これはCloudflare Workers上で動作する「Telegram Private Chatbot」(v4.0)で、極めて軽量かつ高速に動作する双方向チャットボット実装です。主にプライベートチャット向けに設計されており、広告や詐欺リンクの自動検出・ブロック機能を持ち、Telegramのプライベート会話をクリーンに保ちます。Wranglerのデプロイボタンを押すだけでCloudflareへ展開でき、JavaScript(Worker)単一ファイルで完結する簡潔な構成が特徴です。MITライセンスで公開されているため、カスタマイズや二次配布も自由に行えます。

GitHub

リポジトリの統計情報

  • スター数: 19
  • フォーク数: 9
  • ウォッチャー数: 19
  • コミット数: 14
  • ファイル数: 5
  • メインの言語: JavaScript

主な特徴

  • Cloudflare Workersベースでサーバーレスに動作、低遅延・低コストで運用可能
  • Telegram Bot APIを用いた双方向チャット処理(ユーザーからの受信と応答)
  • 広告/詐欺リンクの自動検出とブロックでプライベートチャットを保護
  • Wranglerによる簡単デプロイ、環境変数で設定管理

技術的なポイント

このプロジェクトは、Cloudflare Workers(エッジ環境)上にTelegramボットのロジックを置くことで「常時稼働のサーバー不要」「グローバルな低遅延」を実現しています。worker.jsにほぼすべての処理が集約され、TelegramのWebhook受信→メッセージ解析→フィルタ判定→応答/削除の流れがシンプルに表現されています。Cloudflare Workersの特性上、ステートレスな設計が前提で、永続化が必要な場合はKVや外部ストレージを別途組み合わせる想定です。

メッセージ処理面では、受信したテキストやリンクに対する正規表現ベースのマッチング、既知の広告ドメインリストや疑わしい短縮URLの判定、そして該当時の削除や警告送信を行う実装になっています。BotはTelegram Bot APIのsendMessageやdeleteMessageなどのエンドポイントを呼び出すため、トークン管理(環境変数でWRANGLERに設定)とレート制御への配慮が必要です。Cloudflare上では同時実行リクエスト数や外部API呼び出しの遅延が運用上のボトルネックになるため、タイムアウトやリトライ、非同期処理の設計が重要です。

デプロイはwrangler.tomlを用いた標準的なワークフローを採用しており、READMEのDeployボタンからワークフローを始められます。開発者はwranglerへTelegramのBOT_TOKENやその他制御用の環境変数(管理者ID、ホワイトリストなど)を設定するだけで動作します。コードベースは単純で拡張性が高く、例えば会話ログをCloudflare KVやDurable Objectsに保存して簡易な会話履歴機能を追加したり、外部のURL解析APIや機械学習ベースのスパム判定を組み込むことも容易です。

また、Cloudflare Workersのコールドスタートがほとんど無く、エッジでのリクエスト処理は非常に速いため、ユーザー側の応答体験は良好です。ただし、無料枠やエッジ上のCPU制限、外部APIのレート制限等の制約を踏まえた運用設計が必要です。セキュリティ面では、Botトークンや管理者情報をコードに直書きせず、wranglerシークレットや環境変数で管理すること、外部リンクの検査を厳格化して誤検知・過検出を抑える工夫(ホワイトリスト、しきい値の調整)を推奨します。最後にMITライセンスなので、商用利用や改変・再配布が制限なく可能であり、自分のニーズに合わせた機能追加がしやすいリポジトリです。(技術的なポイント:約1600字)

プロジェクトの構成

主要なファイルとディレクトリ:

  • LICENSE: file
  • README.md: file
  • README_EN.md: file
  • worker.js: file
  • wrangler.toml: file

まとめ

Cloudflare Workersで手軽に運用できる、軽量で実用的なTelegramプライベートチャット保護ボットです(約50字)。

リポジトリ情報:

READMEの抜粋:

🤖 Telegram Private Chatbot (v4.0)

Deploy to Cloudflare Workers GitHub stars License Telegram