Discordの接頭辞コマンド:何か、そしてなぜ廃れつつあるか
接頭辞コマンドは、!や$のような短い記号で始まる普通のメッセージとして入力される、ボットのコマンドです。例えば$helpです。 ボットは接頭辞を見つけるためにすべてのメッセージを読むので、接頭辞コマンドには、特権のメッセージ内容のインテントが必要です。
接頭辞コマンドの仕組み
スラッシュコマンドができる前は、これが唯一の方法でした。ボットは、見えるチャンネルのすべてのメッセージを見張ります。テキストがその接頭辞で始まると、残りをコマンド名と引数に分け、コマンドを実行します。接頭辞は、ボットが選んだ慣習にすぎないので、すべてのボットが独自のものを持ちます。
一つのサーバーで同じ接頭辞を持つ二つのボットは、どちらも答えるので、二重の返信のよくある原因です。
スラッシュコマンドと比べた制限
- メニューや自動補完がないので、メンバーは正確な名前を覚えておく必要があります。
- ボットはすべてのメッセージの本文を読む必要があります。2022年以降、それにはメッセージ内容の特権インテントが必要です。
- DiscordのIntegrations画面を通じた組み込みの権限の管理がないので、各ボットが自分で権限を確認します。
- 打ち間違いを捕まえるのはボットであって、Discordではありません。
それでも、多くのメンバーは、特に音楽ボットでは、短い入力のコマンドの方が速いと感じ、一部のボットは両方を残しています。より詳しい見方は、接頭辞とスラッシュコマンドの記事をお読みください。
Noxyrの接頭辞
Noxyrは、すべてのコマンドを両方の方法で実行します。サーバーの接頭辞で始まるメッセージは、スラッシュコマンドが行うのと同じ要求に変換され、同じコードを実行するので、権限と振る舞いが一致します。既定の接頭辞は$です。サブコマンドは名前の後に続き($music settings)、オプションは名前:値の形で、名前のない単語は、必要なオプションに順番に埋まるので、$play never gonna give you upは動きます。
/prefix viewは、現在の接頭辞を表示します。/prefix setは、1〜5文字で空白のない形に変えます。たとえば!、?、n!です。/prefix resetは、$に戻します。
ダッシュボードのSetupかCustom Commandsのページからも設定できます。ポップアップを開くフォームは、スラッシュのメニューからだけ動きます。詳細は接頭辞のドキュメントにあり、ボットの接頭辞を変えるのガイドが手順を説明しています。
接頭辞の選び方
サーバーの中で他のボットが使っていないものを選んでください。n!のような二文字は、ぶつかることがほとんどありません。別のコマンド名も使いたいなら、カスタムコマンドを使ってください。
手早いコツ
接頭辞は短く、普通のチャットの先頭に現れにくいものにしてください。ルールやようこそメッセージでメンバーに伝え、毎日使うコマンドの短い一覧を固定してください。
よくある質問
Noxyrの既定の接頭辞は何ですか?
既定は$です。/prefix setで、1〜5文字の範囲で変更できます。
接頭辞コマンドには、特別な権限が必要ですか?
ボットは読むためにメッセージ内容のインテントが必要です。Noxyrは、スラッシュ版と同じ権限の確認を適用します。
なぜ二つのボットが同じコマンドに答えるのですか?
同じ接頭辞を共有しているからです。二重の返信を止めるには、各ボットに別の接頭辞を付けてください。