リソース

/

リリースノート

修正

v2.5.1 リリースノート

カスタムコマンドの選択肢オプションを条件分岐で比較しても値が一致せず、常に「その他」へ進んでしまう不具合を修正しました。あわせて、権限チェックや値の場合分けの先に置いたモーダルが表示されない問題を解消し、条件分岐の直後にもモーダルを置けるようになりました。

BotShade 開発チーム
BotShade 開発チーム

|

4 分で読めます

|

公開日: 2026年7月28日

BotShade を v2.5.1 に更新いたしました。今回は、カスタムコマンドビルダーについてご報告いただいた 2 件の不具合を中心に修正しています。どちらも、「選択肢で処理を分ける」「フォームで詳細を入力してもらう」という、コマンド作成でよく使われる構成に関わる不具合です。

お気づきの点がございましたら サポート よりお気軽にご報告ください。

本記事では次の内容をご紹介します。

ハイライト

  • カスタムコマンドの選択肢オプションを条件分岐の比較対象に指定しても値が一致せず、どの選択肢を選んでも常に「その他」の分岐へ進んでしまう不具合を修正しました。
  • 権限チェックや値の場合分けの先に置いたモーダルが表示されず、その先に並べた処理 (BAN・キック・タイムアウトなど) もまとめて実行されなかった不具合を修正しました。
  • あわせて、モーダルを 条件分岐の直後に配置できる ようになりました。「管理者にだけ入力フォームを出す」「選ばれた操作ごとに違うフォームを出す」といった構成を、そのまま組めます。

選択肢オプションの値で分岐できない不具合を修正

コマンドに選択肢オプション (あらかじめ用意した候補から 1 つ選んでもらうオプション) を追加し、選ばれた値で処理を分ける構成は、カスタムコマンドでもっともよく使われる構成のひとつです。

これまでは、比較の条件に選択肢オプションの変数 (例: {option_command}) をそのまま指定すると、どの選択肢を選んでも値が一致しませんでした。そのため、分岐をいくつ並べても「その他 (else)」しか実行されず、選択肢ごとの処理がまったく動いていませんでした。

v2.5.1 では、選択肢オプションの変数を そのまま書いたときは「選ばれた値」 として扱うよう修正しました。メニューやボタンの変数と同じ動作になったため、比較の条件に変数を置くだけで期待どおりに分岐します。

各変数の中身は次のとおりです。

  • {option_command} — 選ばれた 値 (比較にはこれを使います)
  • {option_command.name} — 選択肢の 表示ラベル
  • {option_command.value} — 選ばれた 値 ({option_command} と同じ)

回避策として .value を付けて記述していたコマンドも、これまでどおり動作します。書き換える必要はありません。

条件分岐の先のモーダルが開くようになりました

Discord の仕様では、モーダル (ポップアップの入力フォーム) を開けるのは「コマンドがまだ何も応答していない状態」のときだけです。この制約があるため、BotShade がモーダルを表示できる場所は、これまで コマンドの最初のアクション か ボタンの接続先 に限られていました。

そのため、権限チェックや選択肢の場合分けを手前に挟むと、条件を満たしていてもモーダルが開きませんでした。画面には「モーダルはコマンドの最初のアクション、またはボタンからのみ表示できます」という案内が出るだけで、そのモーダルの先に並べた処理も実行されていませんでした。

v2.5.1 では、条件分岐だけを経由してたどり着けるモーダルであれば、そのまま表示できる ようになりました。BotShade は条件の判定が終わるまで応答を保留し、モーダル以外の処理に進んだ時点で自動的に応答へ切り替えます。そのため、判定に時間がかかっても Discord の応答期限を超えることはありません。

モーダルを置ける場所

  • コマンドの 最初のアクション
  • 権限チェックや値の場合分け (条件分岐) の直後 — v2.5.1 で新たに対応しました
  • ボタンの接続先

モーダルを置けない場所

  • メッセージ送信など、なんらかの処理を挟んだ先 — Discord 側の制約により、一度応答したコマンドからはモーダルを開けません。この場合は、いったんボタン付きのメッセージを送り、そのボタンの先にモーダルを置いてください。

互換性について

これまでご利用いただいていた Bot やコマンドの定義は、v2.5.1 でもそのまま動作いたします。お客様側での移行作業は不要です。

表示上の変更点がひとつだけあります。選択肢オプションの変数を メッセージ本文にそのまま埋め込んでいた場合、これまで内部形式のまま表示されていた箇所が、v2.5.1 からは選ばれた値で表示されます。表示ラベルを出したい場合は {option_xxx.name} をご利用ください。

サポート・コミュニティ

ご質問・不具合のご報告・機能のご要望は、以下のいずれかからお気軽にお寄せください。

今後とも BotShade をどうぞよろしくお願い申し上げます。