Telegramグループのチャットボットによるリンクの自動削除
Telegramグループで削除すべきリンクとは
フィルターを設定する前に、参加者とモデレーター向けのルールを定めておきましょう。Telegramにおけるリンクとは、https://site.example のようなテキストだけではありません。参加者はプロトコルなしのアドレス、別チャットへの招待、短縮URL、偽装されたアドレスを持つクリック可能なテキスト、写真・動画・ドキュメントのキャプション内のリンクを送信する可能性があります。
ストリーミングプラットフォーム、SNS、投げ銭サービス、クラウド、ポートフォリオ、ショップ、申請フォームへのリンクの扱いも別途決めてください。ストリーマーのチャットでは通常、他人のチャンネルの宣伝や外部からの招待は禁止されますが、スケジュール、クリップ、投げ銭、チームのリソースへのリンクは許可されます。
ボットは送信済みのメッセージを受け取ってから削除します。 そのため、リンクがチャットに数秒間表示されることがあります。Telegramでは、ボットが参加者によるメッセージ送信を事前にブロックすることはできません。
一律禁止ではなくフィルタリング方式を選ぶ
すべてのリンクを完全に削除する方法は、プロジェクトのチームだけが投稿するクローズドチャットに適しています。公開コミュニティでは、この方式はすぐに支障をきたします。視聴者がタイムコード、バグ報告、クリップへのリンク、議論に関連する資料を送れなくなるからです。
より実用的なのは、リンクをいくつかのカテゴリに分けることです:許可されたドメイン、信頼されたロールからのリンク、新規参加者からの疑わしいリンク、禁止された招待。例えば、すべてのt.me招待、他人のストリームへのリンク、URL短縮サービスを削除しつつ、チャンネルの公式リソースへのリンクは許可できます。
- 厳格な方式:一般参加者からのあらゆるURLを削除する。
- ホワイトリスト:承認されたドメインとサブドメインのみを許可する。
- ロール方式:管理者、モデレーター、サービスボットからのリンクはチェックしない。
- 評判方式:新規または疑わしいアカウントにのみ厳格なフィルターを適用する。
ルールが複雑になるほど、より多くのテストが必要になります。緩すぎる方式は一部の宣伝を見逃し、広すぎる方式は正常なメッセージまで削除し始めます。
既製ボット、ノーコードツール、独自ロジック
基本的なモデレーションには、CombotやRoseなどの既製ボットを利用できます。こうしたソリューションには通常、アンチスパム、単語フィルター、新規参加者への制限、警告、アクションログが備わっています。導入前に、選択したボットがリンク、メディアのキャプション、編集済みメッセージを分析できるか確認してください。
既製ボットは、標準的なルールで十分な場合に便利です。しかし、例外のセット、ログの形式、URLチェックのロジックはサービスの設定によって制限される場合があります。こうしたボットのコマンドはバージョンやインターフェースによって異なるため、古い投稿の不確かな手順ではなく、最新のヘルプを参照してください。
自動化ツールは、メッセージを受信し、URLを見つけ、モデレーターに通知を送るといったシンプルなシナリオに適しています。弱点は、遅延、連携の制限、外部プラットフォームへの依存です。活発なチャットではこれが目立つことがあります。
Telegram Bot APIを使った独自ボットは、トピック、ロール、リンクの種類ごとに個別のポリシーが必要な場合に必要です。Telegramのエンティティをチェックし、違反履歴を保存し、クローズドなモデレーターチャットにログを送信できます。その代わり、サーバー、アップデート、トークンのセキュリティに責任を持つ必要があります。
メッセージ削除に必要なボットの権限
ボットを対象のグループに追加し、メッセージ削除権限を持つ管理者に任命してください。これがないと、ボットはURLを認識し、イベントをログに記録し、警告を送ることさえできますが、投稿を削除することはできません。
一時的な制限、メッセージ送信の禁止、繰り返しの違反後のBANを予定している場合は、対応する権限が必要です。単純なアンチリンクには、グループプロフィールの変更、管理者の任命、招待の管理の権限は不要です。
必要な権限だけを付与してください。コードのエラー、サービスの脆弱性、トークンの漏洩は、ボットがチャットを完全に制御できる場合に危険度が増します。
ボットが参加者のメッセージを受信できるか確認する
追加後は起動コマンドだけで済ませないでください。管理者権限のない一般アカウントからテストメッセージを送信してください。リンクを含むテキスト、写真のキャプション内のリンク、クリック可能なテキストを確認してください。重要なのは、参加者としてテストすることです。オーナーや管理者はしばしば除外対象になるからです。
独自ボットの場合は受信するアップデートを確認してください。新しいメッセージは通常messageフィールドで届き、既に公開されたメッセージの変更はedited_messageで届きます。ボットがグループが紐付いたチャンネルで動作する場合や、チャンネルの投稿を処理する場合は、別の種類のアップデートが必要になることがあります。
プライバシーモードも、ボットがどのメッセージを受信するかに影響します。ハンドラーがコマンドとボットへの返信のみを認識する場合、リンクフィルターは完全には機能しません。設定変更後は、テストグループでアップデートを再確認してください。
テキストだけでなくTelegramのエンティティをチェックする
Telegramはメッセージ内でマークアップのエンティティを送信します。リンクでは特にurlとtext_linkのエンティティが重要です。前者はアドレス自体がテキスト内にあることを意味します。後者はアドレスが通常の単語の下に隠されていることを意味します。例えば、参加者が「ここを見て」と送信し、遷移先が広告サイトである場合です。
ボットがメッセージの文字列のみをチェックする場合、text_linkを見逃しやすくなります。text_linkでは、表示テキスト内でドメインを探すのではなく、エンティティのフィールドからURLを抽出する必要があります。メディアのキャプションについては、textとentitiesと同様にcaptionとcaption_entitiesを分析してください。
最小限のチェックロジックは次のとおりです:エンティティからURLを収集し、次にTelegramがエンティティとして認識しなかったテキストアドレスを見つけ、ドメインを正規化してルールと比較します。添付ファイルを含むメッセージ全体を削除する必要があります。そうしないと、広告画像やキャプションなしのファイルがチャットに残ってしまいます。
URLとTelegram招待の正規表現の例
正規表現はエンティティのチェックを置き換えるものではありませんが、プロトコルなしのアドレスや非標準的な形式のテキストを捕捉するのに役立ちます。例えば、通常のURLにはパターン (?i)\b(?:https?://|www\.)[^\s]+ を使用できます。これはhttp、https、wwwを含むアドレスを見つけますが、example.comのようにプレフィックスのないドメインは認識しません。
プロトコルなしのドメインには、別のチェックを追加できます: (?i)\b[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.(?:com|net|org|ru|io|gg)\b(?:/[^\s]*)?. ゾーンのリストはオーディエンスに合わせて選択する必要があります。いくつかのゾーンだけを列挙すると、スパマーは他のゾーンを使用できます。パターンを広くしすぎると、URLと技術的な表記を混同し始めます。
Telegramへの招待は、別のルールでチェックすると便利です: (?i)\b(?:https?://)?(?:t\.me|telegram\.me)/(?:joinchat/|\+|[a-z0-9_]{5,})\b. このルールは公開t.meリンクと一部の招待をカバーします。プロジェクトの公式チャットへのリンクを自動的にスパムと見なすべきではないため、ドメインと特定の許可されたパスを例外に追加します。
1つの正規表現ですべての回避を塞ごうとしないでください。s i t e . com のような表記、ドットを「点」という単語に置き換えること、Unicode文字、アドレスを含む画像には、アンチスパムスコアリング、手動チェック、OCRなどの他の方法が必要です。攻撃的すぎるパターンは多くの誤削除を生みます。
キャプション、転送、ファイル内のリンクを処理する
スパムは通常のテキストメッセージに限定されることはほとんどありません。リンクは写真、動画、GIF、ドキュメント、音声、説明付きの投票のキャプションに含まれることがあります。ボットがtextフィールドのみを見る場合、参加者は1つのメディアファイルでフィルターを回避できます。
受信する各メッセージについて、text、entities、caption、caption_entitiesをチェックしてください。ドキュメントの名前にもドメインや広告テキストが含まれることがありますが、名前だけを理由にファイルを削除するのは慎重にすべきです。仕事用のチャットでは、必要なアーカイブやストリームの録画を簡単に失ってしまいます。
転送された投稿には表示されるURLが含まれていないことがありますが、ボタンやキャプションを通じて外部チャンネルに誘導することがあります。通常のボットは、インラインボタンや転送元に関するすべてのデータをフィルタリングに適した形式で受け取るとは限りません。転送が問題である場合、新規参加者には転送を別途制限するか、そうした投稿を手動レビューに送る方が安全です。
メッセージ編集による回避を塞ぐ
典型的な回避方法は次のとおりです:参加者が無害なフレーズを送信し、メッセージがモデレーターの注意から外れるのを待ってから、編集で広告を追加します。ハンドラーが新しいメッセージにのみ反応する場合、リンクはグループに残ります。
独自ボットの場合はedited_messageアップデートを購読し、messageと同じチェック関数を実行してください。別の切り詰めたロジックを作らないでください。そうしないと、フィルターは新しいメッセージ内の直接リンクを削除しても、編集後のtext_linkやcaptionを見逃す可能性があります。
ログには、削除が編集後に発生したことを記録し、元のメッセージ識別子を保存してください。これは苦情の分析に役立ちます。参加者が宣伝のためではなく、許可されたリソースへのリンクを修正するために古い投稿を編集した可能性があるからです。

ドメインとパスのホワイトリストを作成する
ホワイトリストは、文字列の完全一致ではなく、正規化されたドメインに基づいて構築するのが最適です。アドレス https://clips.example.com/video/123 の場合、ボットはホスト clips.example.com をパスから分離し、小文字に変換し、サービスプレフィックスwwwを削除する必要があります。
ストリーマーコミュニティ向けの例外リストの例:
- あなたのメインサイトと必要なサブドメイン;
- ストリーミングプラットフォーム上のチャンネルページ;
- 配信スケジュールと告知のページ;
- プロジェクトが使用する投げ銭サービス;
- チームのドキュメント、申請フォーム、タスクトラッカー;
- プロジェクトの公式Telegramリンク:チャットやチャンネルの特定の@username;
- ルールで公開が実際に許可されている場合のパートナードメイン。
特定の1つのリソースが必要な場合、大規模なサービス全体をホワイトリストに追加しないでください。ドメイン全体を許可すると、同じプラットフォーム上の他人のページ、紹介スパム、フィッシングへの道が開かれる可能性があります。そのような場合は、ドメインだけでなく許可されたURLパスもチェックしてください。
信頼されたロールと一般参加者を分ける
管理者、モデレーター、通知ボットは通常、遅延なくリンクを公開できるべきです。最も簡単な方法は、管理者ステータスのユーザーをスキップすることです。便利ですが、一時的なアシスタントを含め、管理者権限を付与された全員に完全な例外を与えます。
より厳格な方法は、信頼されたアカウントのユーザーIDの個別リストです。すべての管理者が外部リソースを宣伝すべきでない場合に便利です。リストはチーム変更後に見直す必要があります。元モデレーターの忘れられたIDはフィルターの抜け穴になります。
新規参加者には別のモードを有効にできます。例えば、最近参加した参加者からの外部リンクをすべて削除し、常連ユーザーのメッセージはより緩いチェックに送ります。このアプローチは大量スパムを削減しますが、実際の視聴者がすぐに必要な資料を送るのを妨げる可能性があります。
宣伝リンクと有用なリンクを区別する方法
URL自体がスパムを証明するものではありません。メッセージの文脈、ドメイン、投稿者の行動を評価してください。ゲームアップデートの議論におけるパッチノートへのリンクは、どのメッセージの下でも「俺のチャンネルに来て」とは異なります。両方のアドレスが技術的に正しくてもです。
- リンクがホワイトリストのドメイン、または議論のトピックに関する既知のリソースに誘導している。
- URL周辺のテキストが現在の会話に関連しており、登録や稼ぎを促すテンプレート的な呼びかけを含んでいない。
- 参加者が長くグループに所属し、通常のメッセージを書き、複数のトピックに同じテキストを投稿していない。
- ドメインが疑わしい偽装、似た文字、短縮サービスを介したリダイレクトチェーンを使用していない。
- リンクが許可されたトピック、例えばクリップ、申請、テクニカルサポートのセクションに投稿されている。
- アカウントがチャット参加後に異なるリンクを含む複数のメッセージを連続して送信していない。
ヒューリスティクスを自動BANに変えるべきではありません。新規の実際の視聴者は評判が低い可能性があり、既知のアカウントがハッキングされることもあります。境界的なケースでは、メッセージを削除し、ログに保存し、モデレーターにすぐ連絡できる方法を提供する方が有用です。
リンク削除後の対応を設定する
無言の削除はノイズを減らしますが、参加者は理由がわからず再投稿する可能性があります。チャットへの短い通知やダイレクトメッセージはルールをより透明にします。通知に削除されたURLを公開しないでください。ボット自身がスパムを再拡散してしまいます。
適切な通知テキスト:「リンクはグループのルールにより削除されました。トピックに関連する資料と例外リストのドメインは許可されています。メッセージが誤って削除された場合は、モデレーターにご連絡ください」。文言はコミュニティのルールに合わせて調整するのが良いでしょう。
違反カウンターは繰り返しのフラッド対策に役立ちます。ただし、最初の発生で自動ブロックを有効にしないでください。特にプロトコルなしのドメインやキャプション内のリンクをチェックする場合は、まず誤削除の統計を集めてください。
ログを記録しモデレーターに通知する
モデレーションログには、分析に必要な最低限のデータを含める必要があります:チャットID、ユーザーID、イベント時の名前またはusername、メッセージID、時刻、発生タイプ、理由。理由としては「禁止ドメイン」「外部グループへの招待」「URL短縮サービス」「編集後のリンク」「新規参加者からのリンク」などがあります。
削除されたURLは、一般的なログチャンネルに保存するのではなく、クローズドなモデレーターチャットに送信するのが良いでしょう。リンクが悪意のある可能性がある場合は、クリック可能にしないでください。ドメインをテキストで渡すか、モデレーター向けの説明とともにドットをスペースに置き換えてください。
モデレーターへの有用な通知には、アクションと文脈が含まれます:誰がメッセージを送信したか、どこに投稿されたか、どのルールで削除されたか、編集だったかどうか。そうすればモデレーターは、ドメインをホワイトリストに追加するか、参加者の制限を解除するか、ルールを変更せずに残すかを素早く判断できます。
誤検知が発生した場合の対処
参加者には苦情のための明確なルートが必要です:モデレーターへのダイレクトメッセージ、グループ内の専用トピック、フィードバックフォーム。削除されたリンクを一般チャットに再送信するよう求めないでください。代わりにドメインを送信し、なぜそれが必要なのかを説明するよう提案するのが良いでしょう。
モデレーターは分析時にルール、エンティティの種類、投稿者のステータスを確認する必要があります。URLが許可されていた場合は、正確なドメインまたはパスを例外に追加してください。問題が広すぎる正規表現によって発生した場合は、数十のランダムな例外のリストを作成するのではなく、パターンを絞り込んでください。
削除されたメッセージを自動的に復元しないでください。フィッシングリンクが含まれている可能性があり、元の文脈は既に失われています。モデレーターの確認後に投稿者に資料を再公開してもらうか、リンク専用のトピックに配置してもらう方が安全です。
起動前にテストグループでフィルターを確認する
同じボット権限を持つテストグループを作成し、通常のテストアカウントを用意してください。チャットオーナーによるチェックは適していません。管理者としてフィルターから除外される可能性があるからです。結果を記録して、正規表現やホワイトリストの変更後に既に動作しているシナリオを壊さないようにしてください。
- https付き、www付き、プロトコルなしのドメインのURLを送信する。
- text_linkエンティティを通じてクリック可能なテキストに隠されたリンクを確認する。
- 外部グループへのt.me招待と、プロジェクトの許可されたチャットへのリンクを送信する。
- 写真、動画、ドキュメントのキャプションにURLを追加する。
- 無害なメッセージを編集し、禁止リンクを挿入する。
- 許可されたドメインからの投稿と、信頼されたモデレーターからのメッセージを確認する。
- 危険なリンクを一般チャットに公開せずに、削除理由がモデレーションログに届くことを確認する。
グループの説明にリンクに関するルールを追加する
短いルールは、繰り返しの違反や参加者との論争を減らします。宣伝リンク、外部からの招待、短縮URLは自動的に削除され、有用な資料はモデレーションと調整できることを示すだけで十分です。
説明にフィルターの技術的な詳細、正規表現、評判チェックの条件をすべて開示しないでください。この情報はスパマーが回避策を見つけるのに役立ちます。参加者にとって重要なのは、どのリンクが許可されているか、誤って削除された場合にどこに連絡するかを知ることです。
Last Articles
デザインと機能の変更点 より速く、より快適にご利用いただけるようサイトを更新しました。主な変更点は、インターフェース、アカウント、注文管理に関わるものです。 データベースへのクエリを最適化したことで、ページの読み込みが平均で約3分の1高速化しました。ナビゲーションメニューはヘッダーから左側のサイ..
Good afternoon, I've collected all the news during this time.: 1. The main news is that prices for twitch viewers have been greatly reduced, while Tw..
1. 視聴者全員が15%オフになるプロモーションコード「December2025」をご利用ください2. 1月1日まで、当社の設定ツールと最もお手頃な視聴者カテゴリーの基本価格を25%値下げしました3. 当社のチャンネルで3つの抽選が開催中です! - 当社の購入ランキングでトップ100に入る..
Twitchサービスは次のとおりです 安定して働くこと、従って私達は分隊、転売者に協力して準備ができています, サービスの所有者、ボットの所有者、および他の多く。個々の用語は、Telegram@Tikey_Kの管理者と議論することができます..
私たちは Twitch viewerサービスを完全に更新しました。 安定して働くこと。 私たちは視聴者のために高品質のIPアドレスのみを使用しています。ニュアンスは最大150人の視聴者のための注文にあります。 合計視聴者数が200に達すると、それらはドロップされます。のために たとえば、..
Hello everyone! Today, we are announcing a new feature—"Twitch Viewer Configurator". Now, you can customize any plan for your Twitch channel. Choo..
Greetings, I have compiled a guide for streamers, which will be very relevant at the moment. Now YouTube and twitch have disabled monetization from vi..
We have finally developed the APINow it will be more convenient for our partner sites to work with us.To update the maximum tariffs for YouTube, an up..
パートナーシップ サービスと紹介プログラムが大変好評だったため、協力テーブルを作成しました。その本質は非常にシンプルです。ライブ視聴者が増えれば、私たちからの広告も増えます。プログラムの規約をダウンロードまたは表示するパートナーセットをダウンロードするには(イントロ+ロゴ)ストリーマーは、ストリーム..
ストリーマー向けサービス
VK Video Live

Dlive

Shopee

Bigo
コンテンツクリエイター向けサービス







