ノードの種類リファレンス
コマンドビルダーで使えるすべてのノードを、「ブロック」パネルのカテゴリ別にまとめた早見表です。ノードの追加方法はコマンドビルダーの基本をご覧ください。
起点ノード
キャンバスに最初から置かれているノードです。削除・移動はできません。
| ノード名 | 役割 |
|---|---|
| 「スラッシュコマンド」 | コマンドの入口です。キャンバスに 1 つだけ存在します。 |
| 「エラーハンドラー」 | コマンドの処理中にエラーが起きたときに動く、もう一つの起点です。下流につないだノードでエラー時の応答を組み立てます。 |
「選択」カテゴリ(オプションノード)
コマンド実行時にユーザーから受け取る入力を定義します。「スラッシュコマンド」ノードにのみつなげます。
| ノード名 | 受け取るもの |
|---|---|
| 「テキストオプション」 | テキスト(文字列) |
| 「添付ファイルオプション」 | 添付ファイル |
| 「チャンネルオプション」 | チャンネル |
| 「選択オプション」 | あらかじめ用意した選択肢の中の 1 つ |
| 「真偽値オプション」 | 「はい」または「いいえ」 |
| 「数値オプション」 | 数値 |
| 「ロールオプション」 | ロール |
| 「ユーザーオプション」 | ユーザー |
詳しくはオプションをご覧ください。
「動作」カテゴリ(アクションノード)
各ノードの設定項目は動作(アクション)ノードをご覧ください。
メッセージ応答
| ノード名 | 役割 |
|---|---|
| 「メッセージを送信」 | メッセージ(プレーンテキストと埋め込み)を送信します。 |
| 「モーダルを送信」 | モーダル(入力フォーム)を表示し、入力された値を変数に受け取ります。入力フィールドは 1 つのモーダルにつき最大 5 個です。直下にもう 1 つ「モーダルを送信」をつなぐことはできません。 |
メッセージ操作
| ノード名 | 役割 |
|---|---|
| 「メッセージをピン止めする」 | 特定のメッセージをピン止めします。 |
| 「メッセージにリアクションをする」 | 特定のメッセージにリアクションを付けます。 |
| 「メッセージを編集」 | Bot が送信した特定のメッセージを編集します。 |
| 「メッセージを削除」 | 特定のメッセージを削除します。 |
| 「メッセージの消去」 | チャンネル内のメッセージをまとめて削除します。 |
API操作
| ノード名 | 役割 |
|---|---|
| 「APIリクエストを行う」 | 外部の API に HTTP リクエストを行います。 |
| 「IFTTTトリガーを実行する」 | IFTTT のトリガーを実行します。 |
チャンネル操作
| ノード名 | 役割 |
|---|---|
| 「チャンネルを作成」 | チャンネルを作成します。 |
| 「チャンネルを編集」 | 特定のチャンネルを編集します。 |
| 「チャンネルを削除」 | 特定のチャンネルを削除します。 |
| 「スレッドを作成」 | スレッド、またはフォーラム / メディアチャンネルへの投稿を作成します。 |
| 「スレッドを編集」 | スレッドの名前・タグ・アーカイブ状態などを変更します。 |
| 「スレッドを削除」 | スレッド、またはフォーラム / メディアチャンネルの投稿を削除します。 |
ロール操作
| ノード名 | 役割 |
|---|---|
| 「ロールを付与」 | 特定のユーザーにロールを付与します。 |
| 「ロールをはく奪」 | 特定のユーザーのロールをはく奪します。 |
| 「ロールを作成」 | サーバーでロールを作成します。 |
| 「ロールを削除」 | サーバー上のロールを削除します。 |
| 「ロールを編集」 | サーバー上のロールを編集します。 |
サーバー操作
| ノード名 | 役割 |
|---|---|
| 「メンバーのBan」 | 特定のメンバーを Ban します。 |
| 「メンバーのKick」 | 特定のメンバーを Kick します。 |
| 「メンバーのTimeout」 | 特定のメンバーを Timeout します。 |
| 「メンバーのニックネーム編集」 | 特定のメンバーのニックネームを編集します。 |
| 「インスタント招待の作成」 | サーバーの招待リンクを作成します。 |
| 「Bot のステータスを変更」 | Bot のオンライン状態とアクティビティを一時的に変更します。 |
変数操作・配列操作・乱数
| ノード名 | 役割 |
|---|---|
| 「変数を設定」 | 指定した名前の変数に値(式も可)を代入します。 |
| 「変数に演算を適用」 | 既存の変数に演算(加減乗除/連結)を適用し、結果で上書きします。 |
| 「変数を削除」 | 指定した永続変数の値をデフォルト値に戻します。 |
| 「変数を読み出す」 | 永続変数の値を一時変数に読み出します。ほかのメンバーの値も読み出せます。 |
| 「配列に追加」 | 配列変数の末尾に要素を 1 つ追加します。 |
| 「配列から取り出し」 | 配列変数の末尾の要素を取り除きます。取り除いた要素はローカル変数に退避できます(空欄なら破棄)。 |
| 「配列を更新」 | 指定した添字の要素を新しい値で上書きします。範囲外の添字は無視されます。 |
| 「配列に挿入」 | 指定した添字の前に要素を挿入します。 |
| 「配列から削除」 | 指定した添字の要素を取り除きます。範囲外の添字は無視されます。 |
| 「配列を空にする」 | 配列変数を空の配列にリセットします。 |
| 「乱数(数値)」 | 最小値〜最大値の範囲で乱数を 1 回生成します。整数・小数を切り替えられます。 |
| 「配列から抽選」 | 配列変数からランダムに要素を抽選します。個数が 1 なら単一の要素、2 以上なら配列を返します。 |
配列操作の添字は 0 始まりで、負の添字は末尾から数えます。対象変数名は { } を付けずに名前だけを入力します。変数のしくみは変数の使い方をご覧ください。
関数(コマンド内サブルーチン)
| ノード名 | 役割 |
|---|---|
| 「関数定義」 | 関数本体の入口です。関数を作成すると自動で配置されます(削除・移動はできません)。 |
| 「関数呼び出し」 | 同じコマンド内の関数を呼び出します。引数を渡し、戻り値を変数として受け取れます。 |
| 「戻り値」 | 関数の処理を終わらせて値を返します。関数本体の外には置けません。 |
詳しくはコマンド内関数(サブルーチン)をご覧ください。
「条件」カテゴリ(条件ノード)
追加すると「Else(それ以外)」「条件後」ノードがいっしょに自動生成されます。
| ノード名 | 役割 |
|---|---|
| 「確率による条件分岐」 | 設定した確率(0〜100)で分岐します。 |
| 「チャンネルによる条件分岐」 | 指定したチャンネルに応じて分岐します。 |
| 「比較による条件分岐」 | 二つの値の比較によって分岐します。 |
| 「権限による条件分岐」 | ユーザーが持つ権限によって分岐します。 |
| 「ロールによる条件分岐」 | ユーザーが持つロールによって分岐します。 |
| 「ユーザーによる条件分岐」 | コマンドを実行したユーザーによって分岐します。 |
| 「時刻による条件分岐」 | 現在の曜日・時刻・日時によって分岐します。 |
| 「ブーストによる条件分岐」 | サーバーのブーストレベルや、ユーザーがブースト中かによって分岐します。 |
同じ条件ノードに一致の枝を複数つないだ場合は、線をつないだ順に上から判定され、最初に成り立った枝だけを通ります。
「制御」カテゴリ(制御ノード)
| ノード名 | 役割 |
|---|---|
| 「待機」 | 指定した時間だけ処理を一時停止します。 |
| 「反復処理」 | 接続されたブロックをくり返し実行します。繰り返し方は「回数を指定」と「リストの各項目」の 2 つです。詳しくは制御フローをご覧ください。 |
| 「反復中断」 | 現在のループを中断して、「ループ後」の処理へ移動します。 |
| 「反復スキップ」 | 現在の反復をスキップして、次の反復へ進みます。 |
「反復中断」「反復スキップ」は「ループ本体」の配下にしか置けません。配下に無いとコマンドを保存できません。
自動生成される構造ノード
条件分岐や反復処理を追加すると自動で作られます。単独では削除できず(親のノードといっしょに削除されます)、構造ノード同士をつなぐ線も手動では消せません。
| ノード名 | 生まれるとき | 役割 |
|---|---|---|
| 「Else(それ以外)」 | 条件分岐の追加時 | 条件に当てはまらなかった場合に進む先です。 |
| 「条件後」 | 条件分岐の追加時 | 条件分岐の評価がすべて終わった後に実行されます。 |
| 「ループ本体」 | 「反復処理」の追加時 | ここにつないだブロックが、指定した回数またはリストの項目ごとにくり返し実行されます。 |
| 「ループ後」 | 「反復処理」の追加時 | くり返しが終わった後に実行されます。「反復中断」で抜けたときもここへ移ります。 |
メッセージに付くコンポーネント
「ボタン」「選択メニュー」は「ブロック」パネルには並びません。「メッセージを送信」ノードの設定から追加します。設定項目とフォームモードは動作(アクション)ノード、操作結果を受け取る変数はコンポーネントの結果変数をご覧ください。
コマンド内のボタン・選択メニューへの応答は、押した本人にだけ見える形で返されます。
上限
| 項目 | 上限 |
|---|---|
| ボタンのラベル | 80 文字まで |
| 選択肢ごとのラベル・値・説明 | それぞれ 100 文字まで |
選択メニューのプレースホルダー・選択肢数・選択数の上限は動作(アクション)ノードをご覧ください。
上限を超えた分はエラーにならず、そのまま切り捨てられます。文字数は変数を展開した「後」の長さで判定されるため、ラベルに変数を入れている場合は実行時の値によって内容が失われることがあります。
有効期限
- ボタン・選択メニューは約 300 秒(5 分)操作されないと、自動的に押せなくなります。期限内なら何度でも操作できます。Bot の再起動後も使い続けるパネルにするには、ボタン/セレクトの永続化を「永続」にします。
- コマンド全体の実行時間にはプランごとの上限があり、超えるとタイムアウトで中断されます(上限の一覧)。
- Discord 側の制限により、最初の操作からおよそ 15 分を過ぎると、Bot は応答やコンポーネントの更新を行えなくなります。フォームモードで「確定」を押さずに放置した場合も、この時間を過ぎると選択内容は反映されません。
注意点
- 同時・連続クリックは最初の 1 回だけが確実に処理されます。続けて操作するときは、応答が返ってから次の操作を行ってください。
- リンクボタンは Bot 側の処理を呼び出しません。 URL を開くだけです。
- モーダルをキャンセルしても何も起きません。 送信されたときだけ続きの処理が動きます。
- 選択肢が空になった選択メニューは表示されません。 有効な選択肢が 1 つ以上必要です。
グループ
「グループ」枠でノードを視覚的にまとめられます。中のノードはグループといっしょに動き、コマンドの動作には影響しません。
次のステップ / 関連ページ
- コマンドビルダーの基本 — 画面の見方とコマンドの作り方の全体像
- 変数の使い方 — 変数操作ノードと変数の参照記法
最終更新: