Bot/move

/move

ボイスチャンネル移動の支援コマンド

こんなことができます

  • あらかじめ作成した移動計画に基づき、ボタンひとつで一斉移動。/move plan
  • 移動先として指定するVCは、該当PLへの公開/非公開を問わない。/move plan/move vc
  • PL自身が非公開VCへ自分で入るボタンも設置可能。/move vc
  • 密談会議前の一斉移動の移動先を明確化、および一斉移動可。/move gather

/move plan

カテゴリ内に投稿された計画テキストを読み込み、計画ごとの実行ボタンを生成します。ボタンを押すと、該当計画に従って対象メンバーを一斉に各VCへ移動させます。管理者権限が必要です。

基本的な使い方

同じカテゴリ内のテキストチャンネルに計画テキストを投稿してから実行します。

# 直近に投稿された計画を自動検索して読み込む
/move plan

# 計画メッセージを明示的に指定(メッセージID または メッセージリンク)
/move plan message_id: 1234567890123456789

パラメータ

  • message_id ― 計画テキストのメッセージID または メッセージリンクURL。省略時は実行チャンネルの直近メッセージから自動検出します。

計画テキストの形式

VC名とキャラ名(表示名)でカンマ区切りに記述します。1メッセージ内に複数の計画をまとめて書けます。

[計画1]
共有部屋, マコト, シズカ, !GM, !SGM, 観戦
個室A, ヨネヒコ, ヤスダ

[計画:開幕の配置]
個室A, ヨネヒコ, !GM
共有部屋, マコト, シズカ, ヤスダ, !SGM, 観戦
  • [計画N] または [計画:任意のラベル] を見出しとして、計画ごとに区切ります。
  • 各行は VC名, キャラ名1, キャラ名2, ... のカンマ区切りで記述します。
  • 同じカテゴリ内VCに接続中のメンバーから、表示名で対象を解決します。

キャラ名の解決ルール

  • 同じカテゴリ内のVCに接続中のメンバーの表示名で照合されます。
  • 完全一致 → 前方一致 の優先順で解決します(大文字小文字無視)。
  • 表示名が マコト@田中 のように @PL名 を含む場合、@ より前のキャラ名部分で照合します。検索名側に @ を含めれば、表示名そのもので照合します。
  • 1つの名前が複数人にマッチした場合は、全員が対象になります。
  • 解決できなかった名前は警告として表示されます。

VC名の解決ルール

  • コマンドを実行したチャンネルと同じカテゴリ内のVCから、名前で照合されます。
  • 完全一致(大文字小文字無視)で解決します。移動先VCの公開/非公開設定は問いません。

実行の流れ

  • 同じカテゴリ内のテキストチャンネルに計画テキストを投稿する
  • /move plan を実行する
  • 解決後の計画メッセージ(番号絵文字付き)と、計画ごとの実行ボタンEmbedが投稿される
  • 実行ボタンを押すと、該当計画に従ってメンバーが一斉に移動する
解決後の計画メッセージにメンション表記は残りますが、通知は飛びません。計画数が多い場合(25件超)は、実行ボタンEmbedが自動的に複数に分割されます。

/move vc

カテゴリ内のVCへの移動ボタンを生成します。指定の有無で生成されるUIが変わります。

基本的な使い方

同じカテゴリ内のテキストチャンネルで実行します。

# 計画メッセージに紐付ける一括移動UI(DRY-RUN + 実行)を作成
/move vc

# 特定のVCへの自己移動ボタンを設置(オートコンプリート対応)
/move vc target_vc: 共有部屋

# カテゴリ内の全VCそれぞれの自己移動ボタンを一括設置
/move vc target_vc: all

パラメータ

  • target_vc ― 対象VCの名前(オートコンプリート対応)。all でカテゴリ内全VCを対象に個別ボタンを連投。省略時は計画メッセージ用の一括移動UIになります。
  • show_embed ― ヘッダーEmbedの表示/非表示(デフォルト: 表示)。

生成されるUIと動作

target_vc 未指定(一括移動UI)

  • DRY-RUN(緑) ― ボタンメッセージの直前に投稿された計画メッセージ(リアクション付き)を読み取り、移動結果のプレビューを表示します。
  • VC一括移動実行(青) ― 計画通りに対象メンバーを一斉移動させます。
  • ボタンは管理者権限の保持者のみ操作可能です。

target_vc 指定(自己移動ボタン)

  • ボタンを押した本人がそのVCへ移動するボタンが投稿されます(押した本人がVCに接続中である必要があります)。
  • 移動先VCの権限はBotが移動を行うため、PL本人にVCの閲覧権限が無くても移動できます。非公開VCへの誘導ボタンとしても利用できます。
  • all 指定時はカテゴリ内VCの数だけボタンが連投されます。

/move gather

選択式の一斉移動パネルを表示します。各プレイヤーが自分で移動先VCを選び、管理者が一括で実行します。密談会議前など、行き先を本人申告にしたい場面に使います。

基本的な使い方

/move gather

カテゴリ内の全VCがボタンとして並んだパネルが投稿されます。

パラメータ

  • anonymous ― 匿名モード。有効にすると、誰がどこを選んだかがパネル上では非公開になります(デフォルト: 無効)。
  • message ― パネルのタイトル(省略時はデフォルト文言)。
  • target_vcs ― 対象VCの名前をカンマ区切りで指定(省略時はカテゴリ内全VC、上限20)。
  • target_role ― 対象ロール。指定するとそのロールのメンバー全員を分母としてカウントします(VC接続不問)。省略時はカテゴリ内VCに接続中の全メンバーが対象です。

パネル上の操作

  • VCボタン ― 各プレイヤーが自分の移動先を選択。何度でも押し直し可。
  • 選択キャンセル ― 自分の選択を取り消します。
  • 一斉移動 実行(管理者用) ― 選択済みのメンバーを各自の選択先へ一斉移動させます。実行後はパネルが完了状態に切り替わります。
  • 選択状況を確認(匿名モード時のみ/管理者用) ― 誰がどこを選んだかを管理者だけが確認できます。

表示モード

  • 公開モード(デフォルト) ― VCごとに選択中のメンバーが縦並びで表示されます。
  • 匿名モード ― 各メンバーの選択済/未選択のみがパネルに表示されます。詳細は管理者のみ「選択状況を確認」で参照可能です。
パネル下部のフッターに「選択済 ◯ / 全 ◯ 名」のカウンターが表示されます。Bot 再起動が入るとセッションは失効するためご注意ください。

制限事項

ボタン操作のレートリミット

連打や事故的な多重実行を抑えるため、実移動を伴うボタンには種別ごとのレートリミットがあります。サーバー単位直近 60 秒のスライディングウィンドウ で計上され、上限到達時はボタンを押しても ✖ クールダウン中です。あと N 秒お待ちください。 の ephemeral メッセージが返り、移動は実行されません。Dry-run / VC 選択(投票) / 状況確認など、移動を伴わない操作はカウント対象外です。Bot を再起動した場合、カウンタはリセットされます。

枠は 実際に移動が発生するときだけ 消費されます。プランメッセージにメンションが含まれていない//move gather で誰も選択していない、など結果として移動が走らないケースでは枠を消費しないため、後続の正規実行が阻害されません。
対象ボタン バケット 上限 備考
/move plan 各計画の実行ボタン plan 5回 / 60秒 複数人移動
/move vc の一括移動実行 vc_bulk 5回 / 60秒 複数人移動
/move vc の自己移動ボタン vc_self 50回 / 60秒 1人ずつの自己移動
/move gather の一斉移動 実行 gather 2回 / 60秒 複数人移動・セッション型
Dry-run / 選択(投票) / 状況確認 無制限 移動を伴わない操作

権限

  • /move 配下のスラッシュコマンドはサーバー管理者向けに公開されています(既定で administrator 権限保持者のみコマンド一覧に表示)。
  • /move vc で生成される一括移動 / Dry-run ボタンは、押下時点で管理者権限の保持者のみ操作できます。
  • /move gather の「一斉移動 実行」「選択状況を確認」は管理者のみ操作可、各VCの選択ボタンと「選択キャンセル」は対象メンバー本人の操作になります。