Skip to main content
ガイド
ガイドCommand CreatorBasics

本物の分岐を持つ Discord コマンドを作る

高度なビルダーは、実際の条件を扱えるビジュアルなフローエディターです。何ができるのか、どんなときにシンプルモードを離れる価値があるのか、そしてなぜ Discord が保存の回数を数えるのかを解説します。

公開日 著者: AlphaCloud4 分で読めます

カスタムのスラッシュコマンドはすぐに作れます。名前を入力し、返信を入力すれば完成です。/rules や /discord ならこれで十分で、ほとんどのサーバーにとっては、これ以上必要になることはありません。

面白くなるのは、返信が毎回同じであってほしくない場合です。

シンプルモードでは足りなくなるとき

シンプルモードの限界がくる例を3つ挙げます:

  • その人がブースターかどうかで、コマンドの返信を変えたい
  • コマンドにボタンを付けて、ボタンごとに違う動きをさせたい
  • いくつかの返信の中から、コマンドにランダムで1つ選ばせたい

この3つはどれも、ビジュアルなフローエディターである高度なビルダーの出番です。決まった1つの返信の代わりに、ブロックをつないでフローを組み立てます。

分岐

中心にあるのは、「真の場合」と「偽の場合」の2つの出力を持つ条件です。次のものを確認できます:

  • サーバーブースターである
  • 権限を持っている(管理者、サーバー管理、メッセージの管理、メンバーをタイムアウト、ロールの管理)
  • パラメーターが値と一致する(あらかじめ決めた選択肢と組み合わせると特に強力です)

最後のものは見落とされがちです。コマンドにパラメーターを持たせ、決まった選択肢の一覧も用意し、選ばれた選択肢に応じて分岐できます。これで、3つの選択肢を持つ1つのコマンドが、実質的に3つの異なる返信を持つ1つのコマンドになります。コマンドを3つ作る必要はありません。

ボタンのフロー

返信に付けたボタンには、それぞれエディター内で独自の出力ができます。クリック後に何が起きるかは、そこから組み立てます。

これで、小さな案内付きのフローを作れます。3つのボタンが付いた質問があり、それぞれが独自の分岐へと続く、といったものです。誰も覚えていない3つの別々のコマンドよりも、ずっと快適です。

ここにしかない3つのアクション

待機。 2つのステップの間に1秒から300秒の間を置きます。ちょっとした小技に聞こえますが、フローを文字の壁ではなく会話のように感じさせるのは、まさにこれです。

ランダム返信。 最大10個のメッセージから1つを選びます。マジックエイトボールのようなコマンドなら、これで2分の作業です。

ニックネームを設定。 変数を使えて、空にするとリセットされます。

変数

分かりやすいもののほかに、{channel}、{channel.name}、{server.members}、そして範囲内のランダムな数字を出す {random.X-Y} があります。最後のものとランダム返信を組み合わせれば、ちょっとしたお遊びコマンドのほとんどが作れます。

なぜ Discord が保存の回数を数えるのか

ほかのどこにも出てこない点で、保存がときどき遅れているように感じる理由でもあります。Discord は、サーバーごとに1日に新しく作成できるコマンドの数を制限しています。

何も対策をしなければ、頻繁な編集でこの枠を使い切ってしまいます。そのため、短い間に何度も保存した場合は、クリックのたびに Discord に問い合わせるのではなく、1回の登録にまとめています。

実際の影響としては、落ち着いてすべてを作ってから保存するほうが、小さなステップごとに保存するよりも良い、ということです。それでも何かが引っかかった場合は、パネルに再登録ボタンがあります(サーバーごとに5分のクールダウンがあります)。

オートメーションのほうが合うとき

違いを1文で言うと、コマンドは誰かが呼び出すもので、オートメーションはひとりでに動くものです。

フローをスケジュールで始めたい場合や、参加のようなイベントに結び付けたい場合は、コマンド作成ではなくオートメーションの出番です。逆に、条件やボタンが必要になった時点で、高度なビルダーが正解です。オートメーションには意図的に分岐がないからです。

エディターのすべてはコマンド作成のドキュメントにあります。

その他の記事