Bot 機能(モジュール)

モデレーション

モデレーション機能では、/ban/kick などのモデレーションコマンドを 1 つずつ有効化し、誰が使えるかを細かく設定できます。あわせて、処罰を実行したときの操作ログの記録や、処罰されたユーザーへのダイレクトメッセージ通知、埋め込みメッセージの色などもまとめて設定できます。

モデレーション機能は無料で利用でき、プレミアムプランへの加入は必要ありません。

ページを開く

ダッシュボードで設定したい Bot を開き、サイドバー(メニュー)から「モデレーション」を選びます。ページ最上部の「機能の有効化」がオフの間は、コマンドの有効化や処罰通知などの設定は反映されません。

コマンド権限設定

「コマンド権限設定」セクションでは、モデレーションコマンドごとに「使えるようにするか(有効 / 無効)」と「誰が使えるか(権限)」を設定します。

利用できるコマンドは次の 5 つです。いずれもスラッシュコマンドで、サーバー内でのみ実行できます(DM では使えません)。

コマンド役割主な引数必要な Discord 権限(個別設定しない場合)
「/ban」ユーザーを恒久的にサーバーから追放します(再参加を防ぎます)。member(対象・必須)/ reason(理由・任意)メンバーをBan
「/kick」一時的にサーバーから退出させます。member(対象・必須)/ reason(理由・任意)メンバーをキック
「/timeout」指定時間チャットや操作を制限します。member(対象・必須)/ duration(分・必須)/ reason(理由・任意)メンバーをタイムアウト
「/purge」チャット履歴を一括削除します(結果は実行者だけに表示)。limit(件数・既定 100)/ type(種類・既定 all)/ member(対象・任意)/ substrings(文字列・条件付き)メッセージの管理
「/nuke」チャンネルを作り直し、それまでのメッセージをすべて削除します。なしチャンネルの管理

各コマンドはアコーディオン(折りたたみ)形式で並んでおり、行をクリックすると詳細設定が開きます。詳細設定の「コマンドを有効化」をオンにするとそのコマンドが使えるようになり、オフにすると、サーバーの誰もそのコマンドを使えなくなります。「個別権限設定を有効化」をオンにすると、Discord の権限による判定に代えて BotShade 独自の権限判定(ホワイト / ブラックロールリスト、ホワイト / ブラック権限リスト)が使われます。オフのままなら、上の表の「必要な Discord 権限」で判定されます。

これらの操作方法は全機能で共通です。ロールリストや権限条件の細かい設定方法はコマンド権限設定の使い方をご覧ください。

「Discord権限より個別設定を優先」(強制上書き)は、Discord 側の既存権限を無視して BotShade 独自の個別権限設定だけを適用する設定で、「個別権限設定を有効化」がオフの間は操作できません。

「Discord権限より個別設定を優先」(強制上書き)は、Discord 本来の管理者権限をバイパスして独自権限を強制適用します。意図しない権限付与 / 制限の恐れがあるため、切り替えようとすると必ず「危険な権限上書きの確認」というダイアログが表示され、「確定する」をクリックするまで反映されません。内容をよく理解したうえで使ってください。

動作設定

「動作設定」セクションでは、モデレーション全体の動作を設定します。

項目内容
「モデレーションログ」モデレーション操作のログを記録します。オンにすると、Ban / Kick などの実行ログが保存されます。

外観設定

「外観設定」セクションでは、処罰やログとして送られる埋め込みメッセージの色を設定します。色はカラーピッカーで選ぶか、#ED4337 のようなカラーコードを直接入力します。

項目内容初期値
「処罰ログカラー」処罰に関する埋め込みメッセージの色。#ED4337(赤系)
「モデレーションログカラー」モデレーションログの埋め込みメッセージの色。#21D13C(緑系)

処罰設定

「処罰設定」セクションでは、処罰を実行したときにユーザーへ送るダイレクトメッセージ(DM)を設定します。

「処罰時にダイレクトメッセージを送信」をオンにする

このトグルをオンにすると、処罰時にユーザーへ DM を送るようになり、下に埋め込みメッセージの作成エディタが表示されます。ここで、処罰されたユーザーに届く通知メッセージを作成します。

通知メッセージを作成する

表示されたエディタで、メッセージ内容(本文)と埋め込みメッセージを作成します。エディタには次のタブが用意されています。

タブ設定できる内容
「基本設定」タイトル / タイトルURL / 説明(Description)/ カラー。
「著者 (Author)」著者名 / 著者URL / アイコンURL。
「画像設定」画像URL(Main Image)/ サムネイルURL(Thumbnail)。
「フッター」フッターテキスト / フッターアイコンURL / タイムスタンプを表示。
「フィールド」名前と値を持つ項目(フィールド)を最大 25 個まで追加。

本文を入力する「メッセージ内容 (Content)」欄も用意されています。

設定を保存する

設定を変更すると、画面下部に未保存変更バーが表示されます。「保存」をクリックすると変更が反映され、「破棄」をクリックすると保存前の状態に戻ります。

コマンドの実際の動作

いずれのコマンドも、実行すると操作したユーザーに結果が埋め込みメッセージで返されます。

/kick・/ban

対象メンバーを指定して実行するとキックまたは Ban を行い、処罰 DM がオンのときは対象メンバーへ通知 DM を送ります。完了すると、✅ | /kick または ✅ | /ban のタイトルで対象メンバー・実行者・理由が表示された成功メッセージが返されます。

対象メンバーが DM を受け取らない設定にしていても、処罰そのものは正常に実行されます。DM の送信に失敗しても、キックや Ban は止まりません。

/timeout

duration(分)を指定して実行すると、対象メンバーがその時間だけチャットや操作を制限されます。完了すると ✅ | /timeout のタイトルで、対象メンバー・実行者・理由・タイムアウト時間(分)が表示された成功メッセージが返されます。

/purge

実行したチャンネルの直近のメッセージをまとめて削除します。結果は実行したユーザーだけに見える形(ephemeral 表示)で返され、✅ | /purge のタイトルで削除した件数が表示されます。たとえば 120 件削除した場合は 120件のメッセージを消去しました。 のように表示されます。

limit(走査する件数)より実際のメッセージが少ない場合は、実際に削除できた件数だけが表示されます(たとえば 1000 件を指定しても、チャンネルに 47 件しかなければ 47 件が削除・表示されます)。

type(削除する種類)では、削除対象を絞り込めます。主な種類は次のとおりです。

type の値削除対象
allすべてのメッセージ。
botBot が送信したメッセージ。BotShade 自身のメッセージも対象に含みます。
userユーザーが送信したメッセージ。
embed埋め込みメッセージを含むメッセージ。
image画像が添付されたメッセージ。
link本文に http を含むメッセージ。
mention / reaction / emojiメンション・リアクション・絵文字を含むメッセージ。
contains / startswith / endswith指定文字列を含む / で始まる / で終わるメッセージ。

member を指定すると、そのメンバーが送信したメッセージだけを削除できます。typemember を同時に指定した場合は、両方の条件を満たすメッセージだけが削除されます。

typecontains startswith endswith のいずれかにした場合は、substrings(対象の文字列)の指定が必須です。省略すると削除は行われず、次のエラーが実行したユーザーだけに表示されます。

選択した消去タイプ (**contains**) には `substrings` 引数が必要です。

link は本文に http という文字列が含まれるかどうかで判定し、emoji は本文に : が含まれるかどうかで判定する簡易的な仕組みです。そのため、絵文字以外で : を含む文章や、URL を含むだけのメッセージも対象になることがあります。意図しないメッセージまで消さないよう、削除前に対象を確認することをおすすめします。

/nuke

実行したチャンネルを同じ設定で作り直し、元のチャンネルを削除します。これによりチャンネルの全メッセージが消去されます。新しく作られたチャンネルには ✅ | /nuke のタイトルで チャンネルログを消去しました。 という成功メッセージが送られ、このメッセージは 10 秒後に自動で消えます。

「/nuke」はチャンネルのメッセージをすべて消す破壊的な操作で、元に戻すことはできません。「個別権限設定を有効化」で許可するロールを限定し、信頼できる一部のユーザーだけが使えるようにすることを強くおすすめします。

既定値

各コマンドで指定を省略したときの初期値は次のとおりです。

項目既定値補足
/purgelimit(件数)100 件指定しないと直近 100 件を対象にします。
/purgetype(種類)all指定しないとすべてのメッセージが対象になります。
reason(理由)なし省略するとコードブロックで なし と表示されます。
処罰時の DM 通知オン初期状態では処罰時に対象メンバーへ DM が送られます。
処罰ログカラー#ED4337(赤系)処罰に関する埋め込みの色。
モデレーションログカラー#21D13C(緑系)モデレーションログの埋め込みの色。

上限

各コマンドで指定できる範囲や、内部的な上限は次のとおりです。

項目範囲・上限
/timeoutduration1 分 ~ 40320 分(最大 28 日)。
/purgelimit1 件 ~ 1000 件。
処罰理由の記録監査ログに記録される理由は 512 文字までです。これを超える部分は自動的に切り詰められます。
「フィールド」(処罰 DM)1 つの埋め込みにつき最大 25 個まで。

表示されるメッセージ

状況表示されるメッセージ
実行したユーザーに権限がなくコマンドを実行できないときBotの権限設定により、このコマンドを実行する権限がありません。
Bot 側の権限が不足しているときBotの権限が不足しているため、キックできませんでした。(Ban・タイムアウトも同様の文言)。
通信エラーなどが起きたときキック中にエラーが発生しました: に続いてエラー内容が表示されます(コマンドにより文言が変わります)。

処罰時の DM を独自に作成していない場合、対象メンバーには既定の通知が届きます。タイトルは 処罰通知 で、本文は次のような内容になります({ } の部分はサーバー名・処罰の種類・理由に置き換わります)。

{Moderation.guild.name}から{Moderation.punishmentMethod}されました。
理由: {Moderation.punishmentReason}

「処罰設定」で DM を独自に作成した場合は、その内容が使われます。本文や埋め込みの中で {Moderation.punishmentMethod}(処罰の種類)・{Moderation.punishmentReason}(理由)・{Moderation.targetUser.name}(対象ユーザー名)などの変数を使うと、実際の値に置き換わって送信されます。

注意点・うまくいかないとき

  • 実行したユーザーに権限があっても Bot 自身に権限がない場合はエラーになります。Bot のロールに必要な権限が付いているか確認してください。
  • 対象メンバーがすでにキック / Ban されていたり、コマンド実行までの間にサーバーから抜けていた場合は、エラーにはならず何も起こりません。

次のステップ / 関連ページ

最終更新:

目次