コマンドビルダーイベント
イベントのトリガー・スケジュール・絞り込み
トリガーは、カスタムイベントを動かすきっかけです。
トリガーの一覧
トリガーは 24 のカテゴリに分かれた全 130 種類です。
| カテゴリ | トリガー |
|---|---|
| メンバー | 「メンバーが参加」「メンバーが退出」「ロールが付与された」「ロールが剥奪された」「メンバーが BAN された」「BAN が解除された」「ニックネームが変わった」「サーバーブーストした」「ブーストをやめた」「メンバー認証を通過」 |
| メッセージ | 「メッセージが送信された」「メッセージが編集された」「メッセージが削除された」「メッセージが一括削除された」 |
| ボイス | 「ボイスチャンネルに参加した」「ボイスチャンネルから退出した」「ボイスチャンネルを移動した」 |
| リアクション | 「リアクションが付いた」「リアクションが外れた」「リアクションが全消しされた」「特定の絵文字が全消しされた」 |
| チャンネル | 「チャンネルが作成された」「チャンネルが変更された」「チャンネルが削除された」「ピン留めが変わった」「トピックが変わった」「チャンネル権限が変わった」「Webhook が変わった」 |
| スレッド | 「スレッドが作成された」「スレッドが変更された」「スレッドが削除された」「スレッド参加者が変わった」 |
| ロール | 「ロールが作成された」「ロールが変更された」「ロールが削除された」 |
| スケジュール | 「スケジュール実行」 |
| Bot の機能 | 「チケットが開かれた」「チケットが閉じられた」「チケットが削除された」「チケットが再開された」「チケットの上限に達した」「抽選が作成された」「抽選が編集された」「抽選が中止された」「抽選に参加した」「抽選への参加を取り消した」「抽選が終了した」「抽選をやり直した」「レベルが上がった」「ランキングがリセットされた」「レベル報酬ロールを付けられなかった」「XP が手動で変更された」「ロールが復元された」「ロールパネルが使われた」「ロールパネルが作成された」「ロールパネルが削除された」「ロールパネルの上限に達した」「認証を通過した」「認証に失敗した」「認証ロールを付けられなかった」「認証が時間切れになった」 |
| 保護機能 | 「Anti-Nuke が作動した」「Anti-Raid が作動した」「詐欺リンクを検知した」「ブラックホールが作動した」「協調スパムを検知した」「Ghost Ping に対処した」「招待リンクをブロックした」「大量メンションを検知した」「NG ワードを検知した」「保護機能が対処を記録した」「処罰がエスカレートした」 |
| 経済 | 「預金に利息が付いた」「破産を申請した」「破産ペナルティが適用された」「借金が回収された」「借金を完済した」「借入が承認された」「借入が断られた」「お金を送った」 |
| 自動応答 | 「自動応答が反応した」「自動応答を送れなかった」 |
| カスタムコマンド | 「コマンドの実行に失敗した」「コマンドが時間切れになった」「関数呼び出しの上限に達した」 |
| リマインダー | 「リマインダーが通知された」「リマインダーが完了した」「リマインダーを送れなかった」 |
| バックアップ | 「バックアップが作成された」「バックアップが削除された」「バックアップが復元された」 |
| 招待 | 「招待が作成された」「招待が削除された」 |
| AutoMod | 「AutoMod が作動した」「AutoMod ルールが作成された」「AutoMod ルールが変更された」「AutoMod ルールが削除された」 |
| ステージ | 「ステージが開始された」「ステージが変更された」「ステージが終了した」 |
| サーバーイベント | 「サーバーイベントが作成された」「サーバーイベントが変更された」「サーバーイベントが削除された」「サーバーイベントに興味ありが付いた」「サーバーイベントの興味ありが外れた」 |
| サーバー設定 | 「連携が変わった」「連携が追加された」「連携が削除された」「サーバー名が変わった」「オーナーが変わった」「ブーストレベルが上がった」「ブーストレベルが下がった」「バナーが設定された」「バナーが解除された」「AFK チャンネルが設定された」「AFK チャンネルが解除された」「サーバー機能が変わった」「パートナーになった」「パートナーが解除された」 |
| 絵文字 / スタンプ | 「絵文字が追加された」「絵文字が変更された」「絵文字が削除された」「スタンプが追加された」「スタンプが変更された」「スタンプが削除された」 |
| 投票 | 「投票された」「投票が取り消された」 |
| 監査ログ | 「監査ログが記録された」 |
| Bot 自身 | 「Bot がサーバーに参加」「Bot がサーバーから退出」 |
名前だけでは発火する場面が分かりにくいものは次のとおりです。
| トリガー | 発火するとき |
|---|---|
| 「メンバーが退出」 | メンバーがサーバーを離れたとき。キック / BAN による退出も含みます |
| 「メンバー認証を通過」 | ルール同意(メンバースクリーニング)が完了したとき |
| 「メッセージが送信された」 | サーバー内でメンバーが投稿したとき。DM・Bot・Webhook・システムメッセージでは発火しません |
| 「メッセージが一括削除された」 | 複数のメッセージがまとめて削除されたとき。分かるのは件数だけで、本文や投稿者は分かりません |
| 「ボイスチャンネルを移動した」 | 別のボイスチャンネルへ移ったとき。チャンネルの絞り込みと {Channel.*} は移動先を指します |
| 「特定の絵文字が全消しされた」 | 1 種類のリアクションが一括削除されたとき |
| 「チャンネル権限が変わった」 | チャンネルの権限上書きが変更されたとき |
| 「Webhook が変わった」 | チャンネルの Webhook が作成・変更・削除されたとき。どの操作かは区別できません |
| 「スレッド参加者が変わった」 | スレッドからメンバーが抜けたとき |
| 「招待が削除された」 | 招待リンクが消えたとき。失効も含みます |
| 「AutoMod が作動した」 | Discord の AutoMod がメッセージをブロック等したとき |
| 「連携が変わった」 | サーバーの連携(Webhook / アプリ)が変更されたとき |
| 「連携が削除された」 | サーバーから連携が外されたとき。分かるのは連携の ID だけです |
| 「サーバー機能が変わった」 | Discord 側の機能フラグが変化したとき |
| 「サーバーイベントが変更された」 | Discord のイベント機能で作ったイベントの内容や状態(開始 / 終了など)が変わったとき |
| 「サーバーイベントが削除された」 | サーバーイベントが削除・中止されたとき |
| 「チケットが削除された」 | 閉じたチケットのチャンネルを削除したとき。閉じると同時に削除する設定では、「チケットが削除された」ではなく「チケットが閉じられた」が発火します |
| 「抽選が中止された」 | 抽選が終了前に削除されたとき |
| 「抽選が終了した」 | 当選者が決まったとき。再抽選では発火せず、「抽選をやり直した」が発火します |
| 「レベルが上がった」 | 上がったレベルごとに 1 回発火します。レベルアップの通知をオフにしていても発火します |
| 「XP が手動で変更された」 | 管理者がコマンドでメンバーの XP を変更したとき |
| 「ロールが復元された」 | ロール保持が有効なサーバーに再参加したメンバーへ、以前のロールを戻したとき |
| 「認証を通過した」 | 認証に成功し、認証ロールが付いたとき。Discord のルール同意による「メンバー認証を通過」とは別のトリガーです |
| 「認証に失敗した」「認証が時間切れになった」 | 計算式の認証で答えを間違えたとき / 制限時間内に回答がなかったとき。「時間切れになった」では対象のメンバーが分かりません |
| 「Anti-Raid が作動した」 | 短時間の大量参加(レイド)を検知して処罰したとき。1 回のレイドにつき 1 回発火します |
| 「保護機能が対処を記録した」 | いずれかの保護機能の対処がケースとして記録されたとき。個別の保護機能のトリガーと同時に発火します |
| 「破産ペナルティが適用された」 | 破産後のペナルティ期間中に、仕事の報酬が減額されたとき |
| 「借金が回収された」 | 仕事の報酬から借金が強制的に回収されたとき |
| 「借入が断られた」 | 上限超過か信用スコア不足で借入が断られたとき |
| 「コマンドの実行に失敗した」 | カスタムコマンドの実行中にエラーが起きたとき。エラーハンドラーがエラーを処理した場合は発火しません |
| 「関数呼び出しの上限に達した」 | カスタムコマンドの関数呼び出しが、深さや回数の上限を超えたとき |
カスタムコマンドの 3 種は、カスタムイベントの実行中に起きた失敗では発火しません。
必要な Intent
トリガーによっては、Bot 設定で Intent(Discord から受け取る情報の種類)を有効にしておく必要があります。必要な Intent が無効のままだと、そのイベントは登録されず発火しません。
| Intent | 主に必要になるトリガー |
|---|---|
| 「サーバーメンバー インテント」 | メンバー系のトリガー |
| 「プレゼンス インテント」 | オンライン状態を扱うトリガー |
| 「メッセージコンテンツ インテント」 | メッセージ本文を扱うトリガー |
スケジュール実行
「スケジュール実行」では「発火形式」を次から選びます。cron 式は使えません。
| 発火形式 | 指定するもの |
|---|---|
| 「一定間隔ごと」(既定) | 「実行間隔」。1 秒以上の整数で、既定は 3600 秒です |
| 「毎日」 | 「実行時刻」(HH:MM) |
| 「曜日を指定」 | 「実行時刻」と、1 つ以上の「曜日」 |
| 「一度だけ」 | 「実行日時」。一度実行すると自動で無効になります |
「毎日」「曜日を指定」の「実行時刻」は Bot のタイムゾーン(既定は日本時間)で解釈されます。「一度だけ」の「実行日時」は、お使いの端末の時刻で入力します。
設定できる最短の間隔はプランによって変わります(→プラン別の上限)。
絞り込みで発火する場面をしぼる
「絞り込み」を設定すると、条件をすべて満たしたときだけイベントが実行されます。使える種類はトリガーによって変わります。
| 種類 | 内容 |
|---|---|
| 「チャンネル」「ロール」「カテゴリ」「ユーザー」 | 「許可(一致するときだけ実行)」か「除外(一致するときは実行しない)」を選び、対象を 1 つ以上指定します |
| 「条件式」 | ${ ... } の式が真のときだけ実行します |
絞り込みを判定できなかったときは、イベントを実行せず、ログに警告を記録します(同じイベントにつき 10 分に 1 回まで)。判定できないのは、条件式の評価に失敗したとき、式に解決できない変数が残ったとき、チャンネルの絞り込みを付けたのに発火したイベントにチャンネルが無いときです。
チャンネルなどの絞り込みには固定の ID しか指定できません。サーバーごとに対象を変えたいときは、「条件式」と永続変数を組み合わせてください(例: ${ {Channel.id} == {BSVAR_logChannel} })。
注意点
- 「メンバーが退出」では
{Member.*}を使えません。 退出時に Discord から届く情報が限られるため、{User.*}だけが使えます。ロールによる絞り込みも使えません。また、キック・BAN による退出と自主的な退出を区別できません。 - 「ロールが付与された」「ロールが剥奪された」は、Bot の再起動後の最初の 1 回を取りこぼします。 比較のもとになる状態を再起動後に取り直すためです。2 回目以降は通常どおり発火します。
- 特定のボイスチャンネルへの入室を拾うには、「ボイスチャンネルに参加した」と「ボイスチャンネルを移動した」の両方が必要です。 別のボイスチャンネルから移ってきた場合は「参加した」が発火しません。
- 「スレッドが作成された」では、
{Message.*}(開始メッセージ)と{User.*}/{Member.*}(作成者)も使えます。{Channel.*}は親チャンネルを指します。フォーラム / メディアチャンネル以外では開始メッセージを取得できないことがあります。Bot 自身が作ったスレッドでは発火しません。 - 「サーバーイベントに興味ありが付いた」「サーバーイベントの興味ありが外れた」では、ロールの絞り込みを使えません。 「ユーザー」と「条件式」で絞り込んでください。
- ロール操作は連鎖します。 「ロールが付与された」で起動したイベントの中でロールを付けると、そのイベントがもう一度発火します。連鎖の深さには上限があります。
次のステップ / 関連ページ
最終更新: