Levels (BETA) を使うと、Scoreboards が Discord のレベルボットになります。メンバーはチャットやボイスチャンネルでの会話で XP を獲得し、その XP からレベルが決まり、リーダーボードがサーバー全体を XP 順に並べます。誰も何も送信する必要はありません。数えるのはボットです。
いちばん新しいリーダーボードの種類なので、落ち着くまではベータ版です。見た目は Discord レベルボットのページで確認できます。このガイドでは、設定方法とその裏にある数値を説明します。
Levels (BETA) でできること
Levels (BETA) のリーダーボードは、サーバーのリアルタイムな XP ランキングです。ほかの Scoreboards のリーダーボードと同じように、チャンネルに投稿されます。
- マイランク(リーダーボードの下のボタン)を押すと、自分のレベル、XP、次のレベルまでに必要な XP が表示されます。
- ウェブサイトには各メンバーのレベル、XP、進捗バーが表示され、公開リーダーボードは自分のサイトに埋め込めます。
- 週間まとめが毎週月曜日に投稿され、上位 3 人、その週いちばん順位を上げたメンバー、XP を獲得したメンバー数がわかります。XP を獲得したメンバーが 3 人以上いた週だけ投稿されます。
1 つのサーバーで同時に持てる Levels (BETA) のリーダーボードは 1 つで、ほかのリーダーボードとは並べて使えます。XP はサーバーのチャットから生まれるので、必ずサーバーのリーダーボードになり、個人用にはできません。
3 ステップで設定
- リーダーボードを作る。 Scoreboards を招待し、
/leaderboard createを実行して種類に LEVELS (BETA) を選び、「Server Levels」のような名前を付けます。リーダーボードが投稿され、XP のカウントが始まります。 - 数値を調整する。 ダッシュボードを開き、リーダーボードを選んで Levels (BETA) に進みます。1 メッセージあたりの XP、クールダウン、ボイス XP、レベルカーブ、XP なしのチャンネルとロール、レベルアップ通知を設定できます。デフォルト値で十分始められるので、このステップは飛ばしてもかまいません。
- ロール報酬を追加する。 ティアロールで レベル モードを選び、節目ごとにロールを割り当てます。レベル 5 から 1 つ、レベル 10 から別の 1 つ、という具合です。
メンバーが XP を獲得するしくみ
メッセージ 1 通ごとに 15〜25 XP がランダムで付きますが、数えるのは 1 人につき 60 秒に 1 通だけです。短いメッセージを 10 通続けて送っても 1 通分にしかならないので、スパムは得になりません。デフォルト設定では、レベル 10 まで XP の付くメッセージがおよそ 234 通必要です。
ボット、Webhook、Discord のシステムメッセージ(参加、ブースト、ピン留め)には XP が付きません。XP なしのチャンネル(その中のスレッドも含む)や、XP なしのロール(たとえばミュート用のロール)を持つメンバーも同じです。数値はすべて変更でき、クールダウンを 0 にするとすべてのメッセージに XP が付きます。
ボットがメンバーの書いた内容を読むことはありません。Discord の Message Content intent を使っておらず、メッセージの本文を読むことも保存することもありません。保存するのはメンバーごとに、Discord の ID と表示名、合計 XP、XP の付いたメッセージ数とボイスの分数、最後に XP を獲得した日時と、順位履歴グラフ用に毎晩記録する順位のスナップショットです。サーバーの経済機能でレベルに通貨を支払う場合は、到達したレベルごとに通貨の履歴にも 1 件記録されます。
ボイス XP
メンバーはボイスチャンネルにいる 1 分ごとに 10 XP を獲得します。ただし、マイクもスピーカーもミュートしておらず、サーバーの AFK チャンネルにおらず、自分以外にボットではない人が少なくとも 1 人いる場合に限ります。音楽ボットと 2 人きりのメンバーは、誰とも話していません。ボイスで 1 時間話すと 600 XP です。ボイス XP は 0(オフ)から 1 分あたり 100 XP まで設定できます。
レベルカーブ
デフォルトのカーブは MEE6 と同じで、レベル L から次のレベルまでに 5L² + 50L + 100 XP かかります。各レベルに到達するのに必要な XP の合計は次のとおりです。
- レベル 1: 100 XP
- レベル 5: 1,150 XP
- レベル 10: 4,675 XP
- レベル 20: 23,850 XP
- レベル 50: 268,375 XP
- レベル 100: 1,899,250 XP
もう 1 つの選択肢は、1 レベルあたり 100L + 75 XP のリニアカーブです。出だしは少しきつい(レベル 10 で 5,250 XP)代わりに、高いレベルにずっと早く届きます(レベル 50 で 126,250 XP)。カーブを切り替えても全員の XP はそのままで、XP から決まるレベルだけが変わります。
レベルに応じたロール報酬
ロール報酬は、レベル モードのティアロールです。レベル 5 から 1 つ、レベル 10 から別の 1 つ、レベル 25 からさらに 1 つと、必要なだけティアを作れます。下位のティアロールも残すをオンにすると、メンバーは到達したロールをすべて持ち続け、オフにするといちばん上のロールだけが残ります。Scoreboards のロールは、サーバー設定 → ロールで、付与するすべてのロールより上に置く必要があります。
サーバーで Scoreboards の通貨機能を使っているなら、新しいレベルごとに通貨を支払うこともできます。支払いは 1 レベルにつき 1 回で、通貨機能の 1 日の上限の範囲内です。
レベルアップ通知
メンバーが新しいレベルに達すると、ボットがそのメンバーをメンションしたメッセージを投稿します。投稿先は、最後に発言したチャンネル(デフォルト)、#level-ups のような決まったチャンネル、または投稿しない、から選べます。
独自の文面も 200 文字まで書けて、{user}、{level}、{board} が埋め込まれます。たとえば GG {user}!レベル {level} に到達しました! のように書けます。文面に @everyone があっても、通知が届くのはレベルアップしたメンバーだけです。同じチャンネルで 4 人以上が同時にレベルアップしたときは、1 つのメッセージにまとめられます。
シーズンと新しいスタート
シーズンを終えるとリーダーボードは凍結され、XP は数えられなくなり、順位は終了時のまま残ります。凍結を解除すると、全員が同じ XP から続けます。ゼロからやり直したいときは、新しい Levels (BETA) のリーダーボードを作り、凍結したものは記録として残しましょう。凍結したリーダーボードは、1 サーバーに 1 つという制限には数えられません。
MEE6 やほかのレベルボットからの移行
Scoreboards は、MEE6 からレベルを自動で取り込むことはできません。MEE6 の利用規約は、ロボット、スパイダー、その他の自動化ツールによる同社サービスへの自動アクセスを認めていないため、そうした仕組みは作っていません。ただし、数値は自分で移せます。自分のサーバーのデータなので、作業は一度だけです。
- Levels (BETA) のリーダーボードを作る。 取り込み先を先に用意します。
- 各メンバーの合計 XP をコピーする。 MEE6、または使っていたボットにある自分のサーバーのリーダーボードからコピーします。コピーするのはレベルではなく XP です。MEE6 に 12.5k のような丸めた数値が表示される場合は、完全な数(12500)を書いてください。XP が少しずれることがあります。
- 各メンバーの Discord ユーザー ID をコピーする。 Discord で開発者モードをオンにし(設定 → 詳細設定)、メンバーを右クリックして ユーザーIDをコピー を選びます。
- CSV ファイルを書く。 1 行に 1 つ
name,xpを書き、名前の欄にはユーザー ID を入れます。例:123456789012345678,4675。XP は数字だけで書いてください。12,500や12.500ではなく12500です。前の 2 つのように書いた行は取り込まれず、行番号つきで表示されるので、直してからもう一度取り込めます。 - 取り込む。 ダッシュボードでリーダーボードを開き、全般にある CSVから取り込む を使います。
行とメンバーを結びつけるのはユーザー ID です。17〜20 桁の数字だけの名前は ID として読まれ、そのメンバーがその後に獲得した XP が加算されていきます。ユーザー名など、それ以外の名前の行は、誰にも結びつかないカスタムエントリーになり、増えることはありません。
各行はメンバーの XP に加算されるのではなく、置き換えます。メンバーがここで多くの XP を獲得する前に取り込みましょう。修正したファイルはいつでも取り込み直せます。1 ファイルは 500 行までなので、大きなサーバーは複数のファイルに分けてください。
デフォルトのカーブは MEE6 と同じなので、同じ XP なら同じレベルになります。4,675 XP はどちらでもレベル 10 です。取り込みではレベルアップ通知は投稿されず、レベルの報酬も支払われないので、50 回もメンションされる人は出ません。ロール報酬は引き継がれないので、レベル モードのティアロールとして設定し直してください。次にリーダーボードが描き直されたときに、メンバーにロールが付きます。最後に、レベルアップ通知が二重に届かないよう、以前のボットのレベル機能をオフにしましょう。
よくある質問
メンバーは MEE6 のレベルをそのまま持ち越せますか? はい、XP を取り込めば持ち越せます。デフォルトのカーブは MEE6 と同じなので、同じ XP なら同じレベルです。
XP を手動で付けたり減らしたりできますか? できます。Discord で /score を使うか、ウェブサイトでプレイヤーのメニューから Set XP と Adjust XP を使います。手動の変更ではレベルアップ通知は投稿されず、レベルの報酬も支払われません。
メンバーが XP を送信できますか? いいえ。Levels (BETA) のリーダーボードには送信ボタンがありません。XP はチャット、ボイス、管理者による変更からだけ生まれます。
1 つのサーバーに Levels (BETA) のリーダーボードを 2 つ置けますか? 同時には置けません。新しいシーズンを始めるときは、古いものを凍結してから新しいものを作ります。
サーバーに追加する
Scoreboards を招待し、/leaderboard create を実行して LEVELS (BETA) を選びましょう。すべての設定はドキュメントの「LevelsとXP (BETA)」セクションで説明しています。
競技用のランキングも並べたいなら、ELO レーティングのガイドで 1v1 とチーム戦のランク戦を説明しています。