Discordのキーワードブラックリスト:まずAutoMod、それからBot


Discordのキーワードブラックリストは二層です。まず、サーバー設定 > AutoMod > カスタムキーワードルールで、投稿前に単語を止めます。次に BetterAntispam の /antispam settings(Administrator が必要)です。Other · blacklisted words を開き、Edit blacklisted words を押して、カンマまたは改行区切りのリストを貼ります。AutoModが網です。Botは単語単位のリストで、繰り返しヒットしたあとに実際の処罰が入ります。
Botに触る前に、AutoModのカスタムキーワードを組む
Manage Server または Administrator が要ります。手順は Discord の AutoMod FAQ が現行です。2022年のブログのスクリーンショットではありません。
- サーバー設定を開き、AutoModへ進む。
- Discordが維持するリスト(侮辱と中傷、性的コンテンツ、重大な冒涜)を使いたいなら、よく報告される単語をオンにする。コミュニティが実際に使う語は除外へ足す。
- カスタムキーワードルールを作成する。止めたい語句を足す。Discordは各語60文字、カスタムリストは1,000語まで。
- 対応は メッセージをブロック に加え、スタッフ専用チャンネルへ アラートを送信。カスタムキーワードルールでは、Moderate Members があればタイムアウトも使える。
- モデレーターのロールと、誤検知が運用を壊すチャンネル(チケットログなど)は除外する。
リストが新しいなら、最初の1日はアラート送信だけにしてください。正規の投稿を消さずに、止まっていたはずのものを見られます。
AutoModの初期設定として検索される内容も、禁止単語だけのスパム対策も、この画面です。参加の波としてのレイドは別問題なので、参加の急増には レイドのプレイブック を使ってください。
ワイルドカード、正規表現、そしてAutoModがすり抜けをまだ見逃す理由
完全一致のキーワードは、単語または句を、大文字小文字を区別せず、空白を見て照合します。Test Filter は test filter に一致し、testfilter には一致しません。
ワイルドカードは * です。
scam*は scam で始まる単語に一致する。*nitroは nitro で終わる単語に一致する。*gg*は、より長いトークンの内側の文字に一致する。
ワイルドカードとカスタムキーワードは、揺れを捉えるために使います。ゲームサーバーにむき出しの *cat* を置かないでください。"catch" と "category" までタイムアウトしたくなければ。
50行の単語リストの代わりにパターンで見るなら、Discordの 正規表現フィルター が、同じカスタムキーワードルールの上で Rust 系の正規表現を回します(最大10パターン)。貼る前に、Rust向けの正規表現プレイグラウンドで試験してください。free nitro の誤字を、すべての揺れを列挙せずに捉えるのが正規表現です。
AutoModはDMを見ず、参加速度を採点せず、サーバーの処罰ラダーも回しません。その隙間を埋めるのが、Bot側の専用ワードフィルターです。キーワード以外のコピー用AutoModテンプレは、AutoModルール4つ を見てください。
/antispam settings で BetterAntispam のブラックリストを足す
BetterAntispamを追加 し、/antispam settings を実行してください。この設定にウェブサイトのログインはありません。設定はDiscord内のパネルです。
パネルでは次のとおりです。
- ページ選択で Other · blacklisted words を開く。
- Edit blacklisted words を押す。
- Words to block (comma or newline separated) に
scam, free nitroのような語を貼る。 - Triggers before punishment を設定する(既定は5)。
- Must be sent within を設定する(既定は60s)。モーダル内の例は
60sです。 - 送信する。無料サーバーはリスト上限50件。Shield(Tier 1)でその上限は外れます。
単語は小文字で保存されます。照合は 文字どおりの単語単位 で、大文字小文字は区別しません。ブラックリストの scam は、単語としての scam に一致します。scammer には一致せず、リスト内の * はAutoModのワイルドカードではなく、アスタリスクそのものです。scammer が要るなら、scammer を足してください。
フィルターはBotを無視します。Manage Messages または Administrator を持つメンバーも無視するので、スタッフは止めた語を引用しても自分のメッセージは消えません。Allowlist ページで緩和にしたチャンネル(spamchannels)も、ワードフィルターをスキップします。
ワードフィルターはブラックリストそのもので動きます。Overview の "Antispam is on" トグルは待ちません。リストが空なら、何もフィルターしません。リストを埋めるか、仕事はすべてAutoMod任せです。
ヒットしたあとに起きること
一致すると、BetterAntispamはメッセージを消し、しきい値までの残りヒット数を短い通知で出し、数秒後にその通知も消します。
ヒットは、設定した窓の中でメンバーごとに数えます。既定は60秒以内に5回です。実行時の窓は、より小さい値を入れても5秒を下回りません。
回数がしきい値に達すると、Punishment ページのアクションが走ります。既定の処罰は5分間のタイムアウト(mute、antispamduration は 300000 ms)です。同じページでキック、BAN、あるいはロールを外して隔離ロールを付ける設定にもできます。その操作はモデレーション事案として記録されます。フィルターした語をスタッフチャンネルへ残したいなら、/logging settings でアンチスパムのログを回してください。
これはAutoModの投稿前ブロックの代わりではありません。Discordは、Botが消すまでのあいだメッセージを見えています。絶対に見せたくない語はAutoModをオンのままにしてください。警告のあと処罰するラダーにも乗せたい語は、Botのリストへ。
リストに入れるものと、外すもの
サーバー固有の詐欺の餌、レイドの言い回し、AutoModのプリセットが見逃す差別語を入れてください。普通のチャットに出る辞書の単語は外してください。広告が /adblock settings で足りているなら、招待ドメインも外してください。discord.gg に両方をかけると、自分のコミュニティ招待を共有した人までミュートします。
文脈だけで悪い句なら、Botの削除よりAutoModのアラート送信のほうが安全です。キーワードブラックリストに文脈はありません。その語が出るたびにヒットします。
これですべてのレイドやすべての詐欺が止まると言わないでください。リストの語を消し、ヒットが足りたら選んだ処罰を回します。参加の洪水には、まだ /antiraid settings が要ります。破壊的なスタッフ操作には、まだ /antinuke settings が要ります。
よくある質問
Botを使わずにDiscordで単語をブラックリストにするには?
サーバー設定 > AutoMod > カスタムキーワードルール。語を足し、メッセージをブロックを設定し、必要ならアラートを送信も付けます。それがDiscord標準のキーワードブラックリストです。
BetterAntispamはAutoModのキーワードフィルターの代わりになりますか?
いいえ。両方使ってください。AutoModはメッセージが見える前に止められます。/antispam settings は単語単位で一致し、繰り返しを数え、しきい値のあと Punishment タブのアクションを適用します。
なぜ scam は scammer を捉えなかったのですか?
Botは単語単位の照合です。実際に止めたい形をそれぞれ足してください。AutoModで接頭辞の揺れを捉えるなら、代わりに scam* を使います。
Botのブラックリストから除外されるのは誰ですか?
Manage Messages または Administrator を持つメンバー、Bot、アンチスパムの緩和チャンネル一覧に入っているチャンネルです。それ以外はフィルターされます。
無料で何語まで足せますか?
50語です。無料サーバーで50を超えて保存しようとすると、Shieldへ上げるまで拒否されます。
ブラックリストのスパムで、ミュート、キック、BANはどこで切り替えますか?
/antispam settings → Punishment · after warnings。ブラックリストのモーダルが決めるのはヒット数と時間窓だけです。




















