サーバーを守る、スパムフィルターBot。
キーワード・ユーザーIDで自動削除。管理者コマンドで即設定。
SpamFilter Bot / 運営:えぃ

Botについて

スパムフィルターBotは、Exiサーバー向けに開発された自動メッセージ削除Botです。
登録したキーワードを含むメッセージや、特定ユーザー・BotのIDが一致するメッセージを
リアルタイムで検知して自動削除します。
設定はDiscordのスラッシュコマンドから行え、config.jsonに永続保存されます。

主な機能

🔍 キーワードフィルタリング

登録したキーワードを含むメッセージを大文字・小文字を無視して検知し、自動削除します。

🚫 ユーザーID指定ブロック

特定ユーザーまたはBotのIDを登録すると、そのユーザーのメッセージをすべて削除します。

📢 チャンネル絞り込み

監視チャンネルを指定できます。未設定の場合はサーバー全チャンネルが対象です。

📋 削除ログ送信

指定したチャンネルに、削除理由・ユーザー情報を含む詳細なログを自動送信します。

⚡ 一括スパム削除

過去メッセージ(最大500件)を遡ってスパムを一括削除する /spam_purge を搭載しています。

🔀 ON/OFF トグル

フィルター機能をコマンド一つで即時に有効・無効を切り替えられます。

削除判定フロー

メッセージ受信時、以下の順に判定を行います。

  1. フィルターが 無効(enabled: false) なら処理終了
  2. Botが送信したメッセージなら処理終了
  3. 監視チャンネルが設定されていて、対象外チャンネルなら処理終了
  4. 送信者IDが target_user_ids に一致 → 削除
  5. メッセージ本文にキーワードが一致 → 削除
  6. 削除が発生した場合、ログチャンネルに通知

スラッシュコマンド一覧

すべてのコマンドは 管理者 権限が必要です。

🛡️ スパムフィルター

コマンド種別権限説明
/spam_status / スラッシュ 管理者 現在のフィルター設定(キーワード・対象ユーザー・チャンネルなど)をすべて表示します。
/spam_add_keyword / スラッシュ 管理者 削除対象のキーワードを追加します。
/spam_remove_keyword / スラッシュ 管理者 登録済みキーワードを削除します。
/spam_add_user / スラッシュ 管理者 削除対象ユーザー/BotのDiscord IDを追加します。
/spam_remove_user / スラッシュ 管理者 ユーザーIDの削除対象指定を解除します。
/spam_set_channel / スラッシュ 管理者 監視対象チャンネルを追加します。未設定の場合は全チャンネルが対象です。
/spam_unset_channel / スラッシュ 管理者 監視対象チャンネルから除外します。
/spam_set_log / スラッシュ 管理者 削除ログを送信するチャンネルを設定します。
/spam_toggle / スラッシュ 管理者 スパムフィルターをON/OFFに切り替えます。
/spam_purge / スラッシュ 管理者 このチャンネルの過去メッセージ(最大500件)からスパムを一括削除します。

セットアップ

ステップ操作詳細
環境変数を設定 DISCORD_TOKENKEYWORDSTARGET_USER_IDS を設定します。
Botを起動 pip install discord.py の後、python bot.py で起動します。
ログチャンネルを設定 Discordで /spam_set_log #チャンネル名 を実行します。
設定を確認 /spam_status で現在の設定を確認できます。