モデレーション
モデレーション機能では、/ban や /kick などのモデレーションコマンドを 1 つずつ有効化し、誰が使えるかを細かく設定できます。あわせて、処罰を実行したときの操作ログの記録や、処罰されたユーザーへのダイレクトメッセージ通知、埋め込みメッセージの色などもまとめて設定できます。
モデレーション機能は無料で利用できる機能です。プレミアムプランへの加入は必要ありません。
この機能でできること
モデレーション機能のページでは、大きく分けて次の設定ができます。
| 設定 | 内容 |
|---|---|
| 「機能の有効化」 | モデレーション機能全体のオン / オフ。 |
| 「コマンド権限設定」 | /ban /kick /timeout /purge /nuke の有効化と、誰が使えるかの権限設定。 |
| 「動作設定」 | 「モデレーションログ」のオン / オフ。 |
| 「外観設定」 | 処罰ログ・モデレーションログの埋め込みメッセージの色。 |
| 「処罰設定」 | 処罰時にユーザーへ送るダイレクトメッセージの作成。 |
処罰アクションの種類は Ban / Kick / Timeout の 3 種です。
ページを開く
サイドバーから「モデレーション」を開く
ダッシュボードで設定したい Bot を開き、サイドバー(メニュー)から「モデレーション」を選びます。
「機能の有効化」をオンにする
ページの一番上にある「機能の有効化」トグルをオンにします。
「機能の有効化」がオフのままだと、コマンドの有効化や処罰通知などの設定は反映されません。まずは一番上のトグルをオンにしてください。
コマンド権限設定
「コマンド権限設定」セクションでは、モデレーションコマンドごとに「使えるようにするか(有効 / 無効)」と「誰が使えるか(権限)」を設定します。
利用できるコマンドは次の 5 つです。いずれもスラッシュコマンドで、サーバー内でのみ実行できます(DM では使えません)。
| コマンド | 役割 | 主な引数 |
|---|---|---|
| 「/ban」 | ユーザーを恒久的にサーバーから追放します。 | member(対象・必須)/ reason(理由・任意) |
| 「/kick」 | 一時的にサーバーから退出させます。 | member(対象・必須)/ reason(理由・任意) |
| 「/timeout」 | 指定時間チャットや操作を制限します。 | member(対象・必須)/ duration(分・必須)/ reason(理由・任意) |
| 「/purge」 | チャット履歴を一括削除します。 | limit(件数・既定 100)/ type(種類・既定 all)/ member(対象・任意)/ substrings(文字列・条件付き) |
| 「/nuke」 | チャンネルを作り直し、それまでのメッセージをすべて削除します。 | なし |
各コマンドはアコーディオン(折りたたみ)形式で並んでおり、行をクリックすると詳細設定が開きます。行の右側には、現在の状態を示す「有効」または「無効」のバッジが表示されます。強制上書き(後述)を有効にしているコマンドには「強制上書き」バッジも表示されます。
設定したいコマンドの行をクリックする
「/ban」など、設定したいコマンドの行をクリックして詳細設定を開きます。
「コマンドを有効化」をオンにする
詳細設定の最初にある「コマンドを有効化」トグルをオンにすると、そのコマンドが使えるようになります。オフにすると、サーバーの誰もそのコマンドを使えなくなります。
必要なら権限を細かく設定する
「特定のロールだけに使わせたい」「特定のロールだけ禁止したい」という場合は、「個別権限設定を有効化」をオンにして、許可 / 拒否するロールや権限条件を設定します。
「コマンドを有効化」「個別権限設定を有効化」「Discord権限より個別設定を優先」などの操作方法は全機能で共通です。ロールリストや権限条件の細かい設定方法は、コマンド権限設定の使い方をご覧ください。
個別設定しない場合の最低Discord権限
各コマンドの詳細設定を開くと、上部に「個別設定しない場合の最低Discord権限」という枠が表示されます。これは、個別権限設定を使わない場合に、そのコマンドを実行するために最低限必要となる Discord の権限を示しています。たとえば「/kick」では「メンバーをキック」相当の権限、「/ban」では「メンバーをBan」相当の権限が目安になります。
より細かく制御したい場合は、次の「個別権限設定を有効化」をオンにしてください。
個別権限設定を有効化する
「個別権限設定を有効化」トグルは、権限の判定方法を切り替えるスイッチです。
- オフのとき: 通常どおり Discord の権限で判定されます。
- オンのとき: BotShade 独自の権限判定に切り替わり、下に「詳細権限設定」(ホワイト / ブラックロールリスト、ホワイト / ブラック権限リスト)が表示されます。
詳細権限設定の使い方はコマンド権限設定の使い方で詳しく説明しています。
Discord権限より個別設定を優先(強制上書き)
詳細設定の一番下には「Discord権限より個別設定を優先」というトグルがあります。これは、Discord 側の既存権限を無視して、BotShade 独自の個別権限設定だけを強制的に適用する設定です。「個別権限設定を有効化」がオフの間は操作できません。
「Discord権限より個別設定を優先」(強制上書き)は、Discord 本来の管理者権限をバイパスして独自権限を強制適用します。意図しない権限付与 / 制限の恐れがあるため、切り替えようとすると必ず「危険な権限上書きの確認」というダイアログが表示され、「確定する」をクリックするまで反映されません。内容をよく理解したうえで使ってください。
動作設定
「動作設定」セクションでは、モデレーション全体の動作を設定します。
| 項目 | 内容 |
|---|---|
| 「モデレーションログ」 | モデレーション操作のログを記録します。オンにすると、Ban / Kick などの実行ログが保存されます。 |
外観設定
「外観設定」セクションでは、処罰やログとして送られる埋め込みメッセージの色を設定します。それぞれカラーピッカー(色の四角)と、# から始まるカラーコードの入力欄が並んでいます。
| 項目 | 内容 | 初期値 |
|---|---|---|
| 「処罰ログカラー」 | 処罰に関する埋め込みメッセージの色。 | #ED4337(赤系) |
| 「モデレーションログカラー」 | モデレーションログの埋め込みメッセージの色。 | #21D13C(緑系) |
処罰設定
「処罰設定」セクションでは、処罰を実行したときにユーザーへ送るダイレクトメッセージ(DM)を設定します。
「処罰時にダイレクトメッセージを送信」をオンにする
このトグルをオンにすると、処罰時にユーザーへ DM を送るようになり、下に埋め込みメッセージの作成エディタが表示されます。ここで、処罰されたユーザーに届く通知メッセージを作成します。
通知メッセージを作成する
表示されたエディタで、メッセージ内容(本文)と埋め込みメッセージを作成します。エディタには次のタブが用意されています。
| タブ | 設定できる内容 |
|---|---|
| 「基本設定」 | タイトル / タイトルURL / 説明(Description)/ カラー。 |
| 「著者 (Author)」 | 著者名 / 著者URL / アイコンURL。 |
| 「画像設定」 | 画像URL(Main Image)/ サムネイルURL(Thumbnail)。 |
| 「フッター」 | フッターテキスト / フッターアイコンURL / タイムスタンプを表示。 |
| 「フィールド」 | 名前と値を持つ項目(フィールド)を最大 25 個まで追加。 |
エディタの下部にはプレビューが表示され、実際の見た目を確認しながら編集できます。本文を入力する「メッセージ内容 (Content)」欄も用意されています。
埋め込みエディタは「処罰時にダイレクトメッセージを送信」がオンのときだけ表示されます。DM を送らない場合はオフのままで構いません。
設定を保存する
設定を変更すると、画面下部に「未保存の変更があります」というバー(未保存変更バー)が表示されます。
設定内容を確認する
このページで行った変更(機能の有効化、コマンドの有効化、権限、ログ、色、処罰 DM など)に問題がないか確認します。
「保存」をクリックする
画面下部のバーにある「保存」ボタンをクリックします。保存が完了すると「保存しました」と表示されます。
変更を取り消したい場合は、未保存変更バーの「破棄」ボタンをクリックすると、保存前の状態に戻せます。
コマンドの実際の動作
設定したコマンドを実行したときの Bot の動作を説明します。いずれのコマンドも、実行すると操作したユーザーに結果が埋め込みメッセージで返されます。
/kick・/ban
対象メンバーを指定して実行すると、Bot はまず処理を受け付け、(処罰 DM がオンのときは)対象メンバーへ通知 DM を送り、そのうえでキックまたは Ban を行います。完了すると、操作したユーザーに成功の埋め込みメッセージが返されます。タイトルは ✅ | /kick または ✅ | /ban で、対象メンバー・実行者・理由が表示されます。
理由(reason)を省略した場合、埋め込み内の理由欄にはコードブロックで なし と表示されます。
対象メンバーが DM を受け取らない設定にしていても、処罰そのものは正常に実行されます。DM の送信に失敗しても、キックや Ban は止まりません。
/timeout
duration(分)を指定して実行すると、対象メンバーがその時間だけチャットや操作を制限されます。完了すると ✅ | /timeout のタイトルで、対象メンバー・実行者・理由・タイムアウト時間(分)が表示された成功メッセージが返されます。指定できる時間は 1 分から 40320 分(最大 28 日)までです。
/purge
実行したチャンネルの直近のメッセージをまとめて削除します。結果は実行したユーザーだけに見える形(ephemeral 表示)で返され、削除した件数が表示されます。たとえば 120 件削除した場合は 120件のメッセージを消去しました。 のように表示されます。
limit(走査する件数)を指定しない場合は直近 100 件が対象になり、1 件から 1000 件まで指定できます。指定した件数より実際のメッセージが少ない場合は、実際に削除できた件数だけが表示されます(たとえば 1000 件を指定しても、チャンネルに 47 件しかなければ 47 件が削除・表示されます)。
type(削除する種類)では、削除対象を絞り込めます。type を省略すると all(すべて)になります。主な種類は次のとおりです。
type の値 | 削除対象 |
|---|---|
all | すべてのメッセージ(初期値)。 |
bot | Bot が送信したメッセージ。BotShade 自身のメッセージも対象に含みます。 |
user | ユーザーが送信したメッセージ。 |
embed | 埋め込みメッセージを含むメッセージ。 |
image | 画像が添付されたメッセージ。 |
link | 本文に http を含むメッセージ。 |
mention / reaction / emoji | メンション・リアクション・絵文字を含むメッセージ。 |
contains / startswith / endswith | 指定文字列を含む / で始まる / で終わるメッセージ。 |
member を指定すると、そのメンバーが送信したメッセージだけを削除できます。type と member を同時に指定した場合は、両方の条件を満たすメッセージだけが削除されます。
type を contains startswith endswith のいずれかにした場合は、substrings(対象の文字列)の指定が必須です。省略すると削除は行われず、次のようなエラーメッセージが実行したユーザーだけに表示されます。
選択した消去タイプ (**contains**) には `substrings` 引数が必要です。link は本文に http という文字列が含まれるかどうかで判定し、emoji は本文に : が含まれるかどうかで判定する簡易的な仕組みです。そのため、絵文字以外で : を含む文章や、URL を含むだけのメッセージも対象になることがあります。意図しないメッセージまで消さないよう、削除前に対象を確認することをおすすめします。
/nuke
実行したチャンネルを同じ設定で作り直し、元のチャンネルを削除します。これによりチャンネルの全メッセージが消去されます。新しく作られたチャンネルには ✅ | /nuke のタイトルで チャンネルログを消去しました。 という成功メッセージが送られ、このメッセージは 10 秒後に自動で消えます。
「/nuke」はチャンネルのメッセージをすべて消す破壊的な操作で、元に戻すことはできません。「個別権限設定を有効化」で許可するロールを限定し、信頼できる一部のユーザーだけが使えるようにすることを強くおすすめします。
既定値
各コマンドで指定を省略したときの初期値は次のとおりです。
| 項目 | 既定値 | 補足 |
|---|---|---|
/purge の limit(件数) | 100 件 | 指定しないと直近 100 件を対象にします。 |
/purge の type(種類) | all | 指定しないとすべてのメッセージが対象になります。 |
reason(理由) | なし | 省略するとコードブロックで なし と表示されます。 |
| 処罰時の DM 通知 | オン | 初期状態では処罰時に対象メンバーへ DM が送られます。 |
| 処罰ログカラー | #ED4337(赤系) | 処罰に関する埋め込みの色。 |
| モデレーションログカラー | #21D13C(緑系) | モデレーションログの埋め込みの色。 |
上限
各コマンドで指定できる範囲や、内部的な上限は次のとおりです。
| 項目 | 範囲・上限 |
|---|---|
/timeout の duration | 1 分 ~ 40320 分(最大 28 日)。 |
/purge の limit | 1 件 ~ 1000 件。 |
| 処罰理由の記録 | 監査ログに記録される理由は 512 文字までです。これを超える部分は自動的に切り詰められます。 |
| 「フィールド」(処罰 DM) | 1 つの埋め込みにつき最大 25 個まで。 |
表示されるメッセージ
Bot が表示する主なメッセージは次のとおりです。状況に応じて、成功・エラー・通知の埋め込みメッセージが返されます。
| 状況 | 表示されるメッセージ |
|---|---|
| キック / Ban / タイムアウトの成功 | ✅ | /kick ✅ | /ban ✅ | /timeout のタイトルで、対象・実行者・理由(タイムアウトは時間も)を表示。 |
| 削除(purge)の成功 | ✅ | /purge のタイトルで N件のメッセージを消去しました。(N は削除件数)。 |
| チャンネル作り直し(nuke)の成功 | ✅ | /nuke のタイトルで チャンネルログを消去しました。 (新しいチャンネルに送られ、10 秒後に自動削除)。 |
| 権限が足りずコマンドを実行できないとき | Botの権限設定により、このコマンドを実行する権限がありません。 |
| Bot 側の権限が不足しているとき | Botの権限が不足しているため、キックできませんでした。(Ban・タイムアウトも同様の文言)。 |
| 通信エラーなどが起きたとき | キック中にエラーが発生しました: に続いてエラー内容が表示されます(コマンドにより文言が変わります)。 |
処罰時の DM を独自に作成していない場合、対象メンバーには既定の通知が届きます。タイトルは 処罰通知 で、本文は次のような内容になります({ } の部分はサーバー名・処罰の種類・理由に置き換わります)。
{Moderation.guild.name}から{Moderation.punishmentMethod}されました。
理由: {Moderation.punishmentReason}「処罰設定」で DM を独自に作成した場合は、その内容が使われます。本文や埋め込みの中で {Moderation.punishmentMethod}(処罰の種類)・{Moderation.punishmentReason}(理由)・{Moderation.targetUser.name}(対象ユーザー名)などの変数を使うと、実際の値に置き換わって送信されます。
注意点・うまくいかないとき
コマンドの実行には 2 段階の権限判定があります。1 つは Discord 標準の権限(キックには「メンバーをキック」、Ban には「メンバーをBan」、タイムアウトには「メンバーをタイムアウト」、purge には「メッセージの管理」、nuke には「チャンネルの管理」)、もう 1 つは BotShade 独自の個別権限設定です。「個別権限設定を有効化」をオンにしないかぎりは Discord 標準の権限で判定されます。
- 実行したユーザーに必要な権限がない場合、処理は行われず
Botの権限設定により、このコマンドを実行する権限がありません。というメッセージが返されます。 - ユーザー側に権限があっても Bot 自身に権限がない場合は、
Botの権限が不足しているため、キックできませんでした。のようなエラーが返されます。Bot のロールに必要な権限が付いているか確認してください。 - 「Discord権限より個別設定を優先」(強制上書き)をオンにすると、Discord 標準の権限を無視して BotShade 独自の個別権限設定だけで判定されます。意図しない権限付与・制限が起きないよう、確認ダイアログの内容をよく理解したうえで使ってください。
- 対象メンバーがすでにキック / Ban されていたり、コマンド実行までの間にサーバーから抜けていた場合は、エラーにはならず何も起こりません。
- すべてのコマンドはサーバー内でのみ実行できます。DM では使用できません。
コマンド一覧
| コマンド | できること | 必要な Discord 権限(個別設定しない場合) |
|---|---|---|
/kick | メンバーをサーバーから退出させます。 | メンバーをキック |
/ban | メンバーをサーバーから追放します(再参加を防ぎます)。 | メンバーをBan |
/timeout | メンバーを一定時間(1~40320 分)制限します。 | メンバーをタイムアウト |
/purge | チャンネルのメッセージを一括削除します(結果は実行者だけに表示)。 | メッセージの管理 |
/nuke | チャンネルを作り直し、メッセージをすべて消去します。 | チャンネルの管理 |