TG-group-manager-bot の日本語タイトル(Telegram グループ管理ボット)
概要
TG-group-manager-bot は、Cloudflare Workers にデプロイ可能なサーバーレスの Telegram グループ管理ボットです。主な目的はスパム・広告・ボット対策としての新規参加者検証と自動モデレーションで、参加直後に発言権限を制限して「✅ 我是真人」ボタンを押させることで本人確認を行います。オプションで指定チャンネルのフォロー確認もでき、キーワードベースの自動削除・自動封禁ルールは GitHub 上のファイルで管理され、編集が即時反映されるため運用が非常に簡便です。管理者には複数のコマンドが提供され、細かい権限管理や緊急対応が可能です。(約300字)
リポジトリの統計情報
- スター数: 9
- フォーク数: 0
- ウォッチャー数: 9
- コミット数: 9
- ファイル数: 7
- メインの言語: TypeScript
主な特徴
- 新メンバーの「本人確認」フロー(発言制限 → ボタンで検証 → 許可復帰)
- オプションの「指定チャンネルのフォロー確認」による参加要件設定
- GitHub 上で管理するキーワードブラックリストによる自動削除と自動封禁
- 管理者向けコマンド(/ban、/banl、unban 等)による手動介入とログ操作
技術的なポイント
このプロジェクトは TypeScript で実装され、Cloudflare Workers のサーバーレス環境に適合するようデザインされています。Workers は常時稼働のサーバを持たず、イベント駆動(HTTP リクエスト)で処理を行うため、Telegram の Webhook 構成と非常に相性が良く、受信した update をそのまま処理して Telegram Bot API に HTTP で応答します。新規参加時の「本人確認」は、参加者に対して発言権限を一時的に制限(restrict)し、インラインキーボード付きメッセージを送ることで実現します。ボタンの押下は callback_query イベントとして戻り、これを検証して権限を復帰させます。オプション機能の「チャンネルフォロー確認」は Telegram API の getChatMember 等を使って参加者が指定チャンネルのメンバーであるかを確かめることで実現します。
キーワードブラックリストを GitHub のファイルで管理する点が本リポジトリの重要な差分です。Workers は外部 URL への fetch を利用して GitHub の生ファイル(raw)を参照し、最新の語句リストを取得します。これにより、キーワードを更新するたびに Worker を再デプロイする必要がなく、運用の柔軟性と即時性が向上します。実装上のポイントとしては、頻繁な fetch によるレイテンシと GitHub のレート制限を考慮しつつ、Cloudflare のキャッシュ API や短時間のメモリキャッシュ(Workers のワーカーライフタイム内)を使って取得頻度を抑える工夫が考えられます。
また、Workers 環境はステートレスで永続的なローカルストレージがないため、ユーザーごとの一時状態管理は Telegram の callback data、メッセージ編集、もしくは外部ストレージ(Workers KV、Durable Objects 等)を併用する設計が想定されます。Rate limit や API エラーへの堅牢なリトライ、並列処理の制御、管理者コマンドの認証(管理者 ID のホワイトリスト化)など、運用面の配慮も盛り込むことが重要です。TypeScript による型安全性、Node 互換のツールチェーン(npm / package.json)でローカルテストやビルドが可能になっており、Cloudflare Workers へは wrangler 等でデプロイする一般的なフローが想定されています。(約700〜900字)
プロジェクトの構成
主要なファイルとディレクトリ:
- LICENSE: file
- README.md: file
- package.json: file
- rules: dir (キーワード/ルールを格納するディレクトリ)
- scr: dir (ソースコードディレクトリ ※typographical: src 相当)
- .gitignore: file
- tsconfig.json: file
…他 2 ファイル
注記:
- rules ディレクトリ内のファイルを編集するだけでブラックリストが更新され、Worker の再デプロイは不要という運用設計が鍵です。
- Cloudflare Workers にデプロイする際は、Telegram Bot Token や必須の環境変数(検証用チャンネル ID、管理者リストなど)を Workers の環境変数(Secrets)に設定します。
まとめ
Cloudflare Workers 上で軽量かつ即時更新が可能な、実用的な Telegram グループ管理ボットです。(約50字)
リポジトリ情報:
- 名前: TG-group-manager-bot
- 説明: 本项目提供一个 可部署在 Cloudflare Workers 的无服务器 Telegram 群管理机器人,专为群组安全与自动化管理设计。 机器人具备新成员自动验证(包含真人验证与可选的关注频道检查)、基于关键词的自动删帖与封禁机制,并支持管理员使用 /ban、/banl、unban 等指令进行精细化管理。 关键词黑名单列表托管在 GitHub 仓库中,只需修改文件内容即可即时生效,无需重新发布 Worker,极大提升维护效率和灵活性。
- スター数: 9
- 言語: TypeScript
- URL: https://github.com/CitizenScyu/TG-group-manager-bot
- オーナー: CitizenScyu
- アバター: https://avatars.githubusercontent.com/u/58416773?v=4