Scoreboards Documentation
Everything you need to create and manage Discord leaderboards
- ボットを追加する — トップページの招待リンクから、ScoreboardsをDiscordサーバーに招待します。
- セットアップウィザードを実行する —
/leaderboard createで短いフォームが開きます。名前とタイプ、必要ならログチャンネルを選ぶだけで、ボードがそのチャンネルに投稿されます。Classic、Highscore、Timeのボードには最初からサンプルの記録が入っていて、動きをすぐ確かめられます。実際のスコアが1件でも入れば消えます。 そのあと返信のその他のオプションから、並び順・チーム戦・free-for-all を設定できます。 - ロールを決める — ダッシュボードを開いて、
bot permissionロール(リーダーボードを管理できる人)とvalidatorロール(送信を承認できる人)を設定します。 - リーダーボードを追加する — それぞれ
/leaderboard createをもう一度実行します。返信のその他のオプションで並び順・チーム戦・free-for-all を設定し、それ以外はダッシュボードで。 - チャンネルに出す — チャンネルで
/leaderboard showを実行すると、送信ボタンとページ送り付きのリーダーボードが投稿されます。
Scoreboardsに必要なDiscordの権限はごくわずかで、初期設定のサーバーならすでに付与されています。重要な権限はチャンネルごとに決まるため、あるチャンネルでは許可されていても隣のチャンネルでは締め出されている、ということが起こります。リーダーボードが更新されなくなったら、まずここを確認してください。
リーダーボードのチャンネルで
- View Channel と Read Message History — 自分のリーダーボードのメッセージを見つけて編集するために必要です。これがないと、誰かが
/leaderboard showを実行したときにしか更新されません。スラッシュコマンドはボットが読めないチャンネルでも応答できますが、編集はできないためです。 - Send Messages — リーダーボードを投稿し、問題があるときに知らせるために必要です。
- Embed Links と Attach Files — リーダーボードは画像と、その下のキャプションでできています。Attach Files がないと画像が落ち、Embed Links がないとキャプションと代替の表が落ちます。
- Create Public Threads と Send Messages in Threads — ELOとLeagueのリーダーボードの対戦スレッドはここに開きます。
ログチャンネルで
同じ権限一式です。提出はここに承認待ちとして投稿され、承認または却下されるとボットが編集します。画像の提出は添付ファイルです。リーダーボードのチャンネルに対戦スレッドを作れない場合は、代わりにここに開きます。ボットがログチャンネルに投稿できない場合、承認依頼は代わりにリーダーボードのチャンネルに投稿され、足りない権限が示されます。
サーバー全体で
- Manage Roles — Tier Rolesとショップで販売するロールに必要です。また Server Settings → Roles で、Scoreboardsのロールは割り当てるすべてのロールより上に置いてください。
- Change Nickname — Brandingでボットの名前を変える場合のみ必要です。
- Manage Channels、Connect、Move Members — マッチメイキングのボイスチャンネル専用で、ログチャンネルがあるカテゴリー内でのみ必要です。
Add to Discord のリンクが求めるのは View Channel、Send Messages、Embed Links、Attach Files、Read Message History、Send Messages in Threads です。それ以外はサーバーの @everyone の初期設定か、ボットに付けたロールから来ます。@everyone を制限しているサーバーでは、チャンネルごと、またはボットのロールに対して、これらの権限を自分で付与する必要があります。
権限が足りないとき、ボットは黙って失敗せずに知らせます。Embed Links、Attach Files、割り当てられないティアロールについてはリーダーボードのチャンネルに、リーダーボードにまったく届かないときはログチャンネルにメッセージを投稿します。
/leaderboard createでリーダーボードを作るときは、次の7種類から選びます。
Classic
合計に加算・減算していく方式です。ポイントを積み上げていく競技に向いています。
Highscore
各プレイヤーの自己ベストだけを保存します。より良い記録が出れば、古い記録は自動で置き換わります。
Time (Speedrun)
タイムは00:00:00(1/100秒)か00:00:000(ミリ秒)で送信します。どちらで表示するかはダッシュボードの設定で決まり、新しいボードは既定でミリ秒です。最速勝ちなら低い順、長く続けたほうが勝ちなら高い順に並べてください。
ELO - Ranked
本格的なELOレーティングです。1v1でも2v2〜8v8のチーム戦でも使えます。マッチ結果を送信すると、参加者全員のレーティングが自動で更新されます。
Rating
画像を投稿して、コミュニティが1〜10の星で評価します。平均がスコアになります。アートコンテストやお題チャレンジにぴったりです。
League
1試合ごとに勝ち点を与える方式で、サッカーやバスケ、FIFAなどに向いています。勝ち・引き分け・負けの点数(既定は3/1/0)と、試合のスコア(3-1など)を設定できます。
Levels (BETA)
チャットやボイスチャンネルで過ごした時間で貯まるXPで、メンバーを順位付けします。レベル、レベルアップ通知、レベルごとのロールが付いていて、誰も何も送信する必要はありません。
リーダーボードの管理
| コマンド | 説明 | 必要な権限 |
|---|---|---|
/leaderboard create | 1 つのフォームでリーダーボードを作成(名前・タイプ・任意のログチャンネル)してチャンネルに投稿。あとから「その他のオプション」で並び順と試合形式を設定 | 管理者 / ボット操作ロール |
/leaderboard show | いまのチャンネルに、ボタン付きのリーダーボードを表示します | 管理者 / ボット操作ロール |
/leaderboard settings | ダッシュボードを開いて、このボードの設定(並び順、公開範囲、見出し、表示モード、ELO設定など)を変更します | 管理者 / ボット操作ロール |
/leaderboard delete | リーダーボードと、そのデータをすべて完全に削除します(確認が必要です) | 管理者 / ボット操作ロール |
スコアとマッチの送信
| コマンド | 説明 | 必要な権限 |
|---|---|---|
/score | プレイヤーのスコア・ELO・タイムを設定または調整します。リーダーボードを選ぶと、設定か調整かを選ぶフォームが開きます。画像レーティングのリーダーボードは対象外です。 任意のコメントで理由を添えると、ログチャンネルのスコア更新に表示されます。 ロールを選ぶとそのロールを持つメンバー全員に同じ変更が入ります。サーバー全体なら「サーバー外のプレイヤー」に @everyone と入力します。 | 管理者 / ボット操作ロール |
設定
| コマンド | 説明 | 必要な権限 |
|---|---|---|
/help | 対話形式のヘルプを開いて、すべてのトピックを確認できます | 全員 |
/feedback | 自由な言葉でフィードバックを送れます: アイデア、問題、なんでも | 全員 |
/delete_my_data | 個人用リーダーボードとスコア、そして全サーバーでの通貨データを完全に削除します(確認が必要です) | 全員 |
/uninstall | ボットをサーバーから削除します。フォームで合わなかった理由を聞き(任意)、その後サーバーのリーダーボードとスコアをすべて削除します | 管理者 |
通貨(ベータ版)
通貨機能にスラッシュコマンドはありません。メンバーはリーダーボードの下にあるShopボタンを押すか、サーバーのショップページを開いて、残高の確認、ロール・ボード絵文字・名前の色の購入、各支払いの計算の内訳の確認を行います。管理者はダッシュボードの「通貨」で、セットアップ、ショップへの商品の追加、通貨の付与や回収を行います。
送信のしかたは2通りあります。
- Discordでは、投稿されたリーダーボードのメッセージにある送信ボタンを押します。ボタン名はClassic / Highscore / TimeがSubmit score、ELOとLeagueがSubmit result、RatingがSubmit imageです。ボードの種類に合わせて、スコアの入力、プレイヤーと勝者の選択、プレイヤーとスコアの選択、名前と画像そのもの、と適切な画面が開きます。チーム制のリーダーボードでは、1人だけでなく各サイドのメンバー全員を選びます。フリー・フォー・オールのリーダーボードには、代わりにReport resultボタンが付きます。
- Webサイトでリーダーボードを開いてSubmitを押しても、同じ送信画面が開きます。Discordにいないプレイヤーのために好きな名前で登録できるのは、こちらだけです。
確認の流れ
- 送信された内容が、設定したログチャンネルに投稿されます(設定している場合)。
- validator または管理者が Approve か Reject をクリックします。ELO・League の試合では、出場したプレイヤーも承認できます。対戦相手が結果を確認すれば十分なので、試合を進めるのに validator ロールは必須ではありません。試合を報告した本人は自分の報告を承認できず、却下できるのはその本人だけです。リーダーボードにログチャンネルがない場合、送信は即座に承認されます。先に確認するにはログチャンネルを設定してください。
- 却下された場合は、送信した人にDMで理由が届きます。
- 承認されると、リーダーボードがすぐに更新されます。
自動承認
リーダーボードごとに、一定時間が過ぎた送信を自動で承認できます。オフ、即時、1時間、3時間、24時間、3日、7日から選べます。ELOのリーダーボードは、既定で24時間です。
スコアを取り消す
管理者と承認者は、承認済みのスコアをあとから取り消せます。送信のメッセージを右クリックして"Cancel Review"を選ぶと、そのスコアの変更が元に戻ります。取り消しには理由の入力が必要です。
ELO - Rankedのリーダーボードは、ELOレーティングで実力どおりの順位をつけます。1v1でも、最大8人ずつのチーム戦でも使えます。
しくみ
- 全員が同じ開始ELOからスタートします(既定は1200。変更できます)。
- マッチの結果は、勝ち・負け・引き分けのいずれかです。
- レーティングはKファクター32で計算されます。
- 承認されると、参加者全員のレーティングが同時に更新されます。
チーム戦(2v2〜8v8)
ELOとLeagueのリーダーボードには、固定のチーム人数を設定できます。作成時に選ぶか、あとからダッシュボードのMatch formatで変更してください。3v3にしたリーダーボードでは毎回3人ずつで対戦し、順位はそれでもプレイヤー個人ごとにつきます。
ELOでは、各チームの期待勝率をチームの平均レーティングから計算し、その結果をチーム全員に同じだけ反映します。格上に勝てば、勝った側の全員が同じだけ上がるということです。Leagueでは、勝ったチームの全員に勝ちの点数が、負けたチームの全員に負けの点数が入ります。
マッチメイキングキュー(ベータ)
リーダーボードでキューのボタンを有効にしておくと、プレイヤーはそれを押してマッチメイキングに参加できます。まずはELOの近い相手を探し、見つからなければ範囲を少しずつ広げていきます。マッチが決まると専用のスレッドが作られ、結果を報告する投票ボタンが用意されます。5分たっても相手が見つからない場合は、キューから自動で外れます。
チーム制のリーダーボードでは、両サイドが埋まる人数(3v3なら6人)がそろうまで待ってから、平均レーティングができるだけ近くなるように2つのチームへ分けます。いちばん強い人といちばん弱い人は、自然と別のチームになります。全員が Readyを押す必要があり、押さない人が出たときは、その人だけ外れて、残りは順番を保ったままキューへ戻ります。
チームごとに専用のボイスチャンネルが用意されるので、相手に聞かれずに作戦を話せます。見えるのも入れるのも自分のチームのチャンネルだけです。マッチが確定すると、どちらのチャンネルも消えます。結果は両方のチームで過半数が同じ結果に投票した時点で確定するので(3v3なら各チーム2人)、片方のチームだけで勝ちを宣言することはできません。食い違ったときは異議として扱われ、承認者が判断します。
キューはもう ELO 専用ではありません。League のリーダーボードでも有効にできます。League の勝ち点は累計であって実力の推定値ではないため、League のボードは 1 試合あたりの勝ち点でマッチングします。つまり、たくさん遊ぶだけではキュー内の位置は変わりません。
固定チーム
チーム人数を決めたELOやLeagueのリーダーボードは、fixed teamsモードでも動かせます(ダッシュボードのMatch formatの隣で切り替えます)。名前つきの固定チームは、リーダーボードのTeam sign-upボタンから一度だけ登録します。チーム名を決めてメンバーを選ぶ形で、チーム人数に加えて控えを2人まで入れられます。以降、リーダーボードはチームそのものを順位づけします。ELOのボードならチームごとにレーティングを持ち、格上に勝つほど大きく上がります。Leagueのボードなら、本物のリーグ戦と同じように勝ち点順に並びます。Leagueの固定チームは、リーダーボードのSubmit resultボタンで試合を記録します。
メンバーの誰かがQueueを押すと、チーム全員がキューに入り、全員にDMが届きます。マッチングはチームのレーティングどうしで組み合わせ、レディチェックはそのまま出場メンバーの選抜も兼ねます。各チームで先にReadyを押したチーム人数分の人が出場し、残りはそのマッチを見送ります。結果の投票は出場した人が行い、こちらも各チームの過半数で確定します。 各チームのロスターはウェブサイトのリーダーボードページで確認できます。チーム名の横にメンバー数が表示され、そこにカーソルを合わせると名前の一覧が、チームを開くとキャプテン付きのロスター全体が表示されます。
Leagueのリーダーボードは、試合を重ねて貯めた勝ち点でプレイヤーを順位づけします。サッカー、バスケ、フットサル、ホッケーのようなスポーツや、シーズンの順位表がすべてを語る1v1・チーム戦にぴったりの形式です。
しくみ
- リーダーボードのSubmit resultボタンで試合を送信すると、両サイドと、それぞれのスコア(3と1など)を聞かれます。
- スコアが高いほうが勝ち、同点なら引き分けです。
- 勝った側にpoints_win、負けた側にpoints_loss、引き分けなら両者にpoints_drawが入ります。チーム制のリーグでは、そのサイドの全員に同じ点数が入ります。
- リーダーボードは合計勝ち点で並び、勝ち・引き分け・負けの数はそれぞれ別に記録されます。
勝ち点の初期値
新しいリーグの初期値は3 / 1 / 0です(1994年以降のFIFA標準)。3つの値はどれも、ダッシュボードからリーダーボードごとに変更できます。ホッケーなら2 / 1 / 0、ラグビーなら4 / 2 / 0のように、競技に合わせて自由に決めてください。
試合を送信する
Webサイトからは、リーダーボードを開いてSubmitを押し、両サイドと試合のスコアを入力します。Discordでは、リーダーボードのSubmit resultボタンから同じ入力画面が開きます。同じプレイヤーどうしの対戦や、マイナスのスコアは送信の時点で弾かれます。
チームで戦うリーグ
Leagueのリーダーボードには、2v2から8v8まで固定のチーム人数を設定できます。作成時でも、あとからダッシュボードのMatch formatからでも変更できます。順位はプレイヤー個人ごとのままで、勝ったサイドの全員に勝ちの点数、負けたサイドの全員に負けの点数が入り、試合のスコアはそれぞれの得点・失点として記録されます。
チームそのものが並ぶ、本物のリーグ表にしたいですか?Match formatの隣にあるFixed teamsをオンにしてください。名前つきの固定チームがリーダーボードのTeam sign-upボタンから一度だけ登録され(控えは2人まで)、試合はチーム対チームでスコアとともに送信し、表はチームを勝ち点順に並べます。 各チームのロスターはウェブサイトのリーダーボードページで確認できます。チーム名の横にメンバー数が表示され、そこにカーソルを合わせると名前の一覧が、チームを開くとキャプテン付きのロスター全体が表示されます。
確認と取り消し
Leagueの試合も、ELOのマッチと同じ確認の流れを通ります。承認者が1件ずつ承認または却下し、承認された時点で勝ち点が入ります。承認済みの試合はあとから取り消すこともでき、そのときは入った勝ち点がそのまま元に戻ります。
ELO と League のリーダーボードは、2 サイドである必要はありません。バトルロイヤルではマッチの全員が自分のために戦い — 3〜8 人 — それぞれの着順が結果になります。リーダーボードの作成時に ffa_players オプションで、あるいは後からダッシュボードの Match format で有効にできます。これはチーム戦と置き換わるもので、バトルロイヤルのリーダーボードにチームサイズや固定チームを併用することはできません。有効にしても影響を受けるのはこれからのマッチだけなので、すでに記録された内容はそのまま残ります。
結果の種類
| 結果 | ELO | League |
|---|---|---|
| 全員の着順 — 1 位から最下位まで | ✓ 可 | ✓ 可 |
| 全員引き分け | ✓ 可 | ✓ 可 |
| 勝者ひとり、ほかは順位なし | — 不可 | ✓ 可 |
勝者のみ、は League の方式です。League ではこれ以上のものは要りません。勝者が勝利ポイント、ほかは敗北ポイント、それだけです。レーティングはそこまで大らかにはできません。敗者に順位がなければ、正直に言えるのは「全員が引き分けた」ということだけで、その結果、戦績上は負けのマッチで低レーティングのプレイヤーがレートを得てしまいます。だから ELO のバトルロイヤルは全員の着順か、実際に起きた全員引き分けを求めます。
結果を報告する
バトルロイヤルのリーダーボードには Submit result の代わりに Report result ボタンが付きます。まず参加した全員を選びます — リーダーボードのロビー人数とちょうど同じ人数を選びます。6 人ボードなら 6 人で、5 人ではフォームを送信できません。同じフォームで結果まで送れます。勝者を選べばその場で報告が完了し、順位ポイント表のあるリーダーボードでは同じ欄が着順全体に広がります(1 位から順に)。空のままにすると、結果を決める手順に進みます。続いて結果を設定します。League のボードは勝者を尋ね、同じメニューに 全員引き分け があり、全体を並べたいときは 順位をすべて設定 を使います。ELO のボードは最初から着順を尋ね、1 回の操作で 1 つの順位を決めていきます。押し間違えには 直前を取り消す、その隣に 全員引き分け ボタンがあります。送信ボタンは、そのボードが採点できる結果になるまでグレーのままです。Discord でバトルロイヤルの結果を報告できるのはこのボタンだけです。表示されていない場合は、ダッシュボードの Discordでの表示 → Submitボタン で有効にするか、ウェブサイトのリーダーボードのページから報告してください。
そのあとは、バトルロイヤルもごく普通の送信です。承認待ちに入り、バリデーターが承認または却下し(設定した遅延の後に自動承認が行うこともあります)、承認時にレーティングとポイントが動きます。承認済みマッチを取り消すと、各プレイヤーには与えられた分がそのまま戻ります。
レーティングの計算
ELO のバトルロイヤルは、含まれるすべての一騎打ちを同時に採点したものとして扱われます。すべてのペアを比較し — 上位の着順が下位に勝ち、同着なら両者引き分け — その一つひとつを 1v1 と同じ期待勝率の計算で処理します。ですから、自分よりはるかに高いレーティングの相手より上で終えることは、最下位付近を上回るよりずっと大きな報酬になります。そのうえで K ファクターを対戦相手の人数で割ります。これが、技術的には 7 回の一騎打ちを戦っていても、バトルロイヤル 1 回の変動をおおよそ 1 マッチ分に保っている仕組みです。
全体はぴったりゼロサムです。失われた分がそのまま残りの取り分になり、最後の 1 ポイントまで一致します。同レーティングの 6 人が K=32 で +16、+10、+3、−3、−10、−16 になります。戦績は着順に従い、1 位は — 同着の 1 位も含めて — 勝ち、その下はすべて負け、全員引き分けは全員の引き分けとして記録されます。
League ボードの順位ポイント
League のバトルロイヤルは、順位ポイント表で全員に配点できます。F1 方式で、1 位に何点、2 位に何点、と最下位まで並べます。編集はダッシュボードの勝利・引き分け・敗北ポイントの下、バトルロイヤルを行う League のリーダーボードで行います。同着のプレイヤーはその共有した順位のポイントをそれぞれ受け取り、表の長さを超えて終えた人は最後の値を受け取り続けます。
この表が使われるのは全員に順位がついたときだけです。1 人でも順位なしが残ると — 勝者のみの報告でも、途中でやめた並べ方でも — 表はまったく使われず、1 位がボードの勝利ポイント、ほかは全員敗北ポイントになります。表を設定していない場合もこれと同じなので、表は任意です。全員引き分けは、表がどうであれ全員に引き分けポイントを支払います。
マッチメイキングキューのバトルロイヤル
キューボタンを有効にすると、バトルロイヤルのリーダーボードは個人を待機列に入れ、ちょうどロビー人数に達した瞬間に成立します — 6 人ボードなら 6 人で、5 人でも 7 人でもありません。バランスを取るサイドがないので、ロビーはキューが組める中でもっともレーティングの近い集団というだけです。それでも全員が Ready を押す必要があり、マッチには共有のボイスルームが 1 つ付きます。バトルロイヤルには、隠れる相手となる味方がいないからです。
結果は投票ではなく報告で決まります。投票ボタン 3 つでは 8 人の着順を表せないからです。ロビーの誰でもマッチのメッセージで結果を設定でき、ほかの人は 確認 を押します。参加者の過半数が同意した時点で確定し(3 人なら 2 人、8 人なら 5 人)、報告した本人がその 1 人目として数えられます。異議あり を押すとマッチはバリデーターに渡り、バリデーターが正しい結果を設定して自分で確認します。キューのマッチは専用スレッドで決着するため、承認待ちのキューは通りません。
Ratingのリーダーボードでは、メンバーが画像を投稿し、お互いの投稿を星で評価し合います。
しくみ
- リーダーボードのSubmit imageボタンから画像を送信します。フォームには名前、任意の説明、そして画像そのものを入れます。
- 送信された画像は、設定したログチャンネルに評価用のドロップダウン付きで表示されます。
- 誰でも1〜10の星で評価できます。評価の平均がスコアになります。 各エントリーの下で評価するか、リーダーボードの Rate entries を押して、まだ評価していないエントリーを1件ずつ順番に評価できます。
- 投票はいつでも変えられます。1人につき、1つの投稿に1票までです。
- リーダーボードは、平均評価の高い順に並びます。
Webサイトでの評価
Webサイトでは、投稿はEntriesタブに並びます。開くと画像が大きく表示され、星のボタンから評価できます。入れた票は、あとで開き直しても残っています。
Levels (BETA)のリーダーボードは、サーバーのメンバーをXPで順位付けします。送信は必要ありません。メンバーはチャットとボイスチャンネルでの会話でXPを獲得し、ボットが自動で数え、各メンバーのレベルはXPから決まります。1つのサーバーで同時に持てるLevels (BETA)のリーダーボードは1つだけで、必ずサーバーのリーダーボードです。個人用のリーダーボードをLevels (BETA)にすることはできません。
XPの獲得方法
- メッセージ — 1通ごとに15〜25のXPがランダムで付きますが、数えるのは1人につき60秒に1通だけです。短いメッセージを10通続けて送っても、1通と同じです。
- ボイス — ボイスチャンネルにいる1分ごとに10XP。ただし、マイクもスピーカーもミュートしておらず、サーバーのAFKチャンネルにおらず、チャンネルに自分以外の人(ボットではない)が少なくとも1人いる場合に限ります。
- ボット、Webhook、Discordのシステムメッセージ(参加、ブースト、ピン留め)にはXPが付きません。また、メッセージが数えられるのはボットが見られるチャンネルだけです。
これらの数値はすべて、ダッシュボードにあるリーダーボードのLevels (BETA)設定で変えられます。1通あたりのXPの範囲、待ち時間、ボイスの1分あたりのXP(0でボイスのXPはオフ)です。
XPからレベルへ
メンバーのレベルは表示のたびにXPから計算されるので、保存されることはありません。標準カーブはDiscordのレベルボットの多くが使うもので、レベルLから次のレベルまでに5L² + 50L + 100 XPかかります。リニアカーブは1レベルあたり100L + 75 XPなので、出だしは少しきつい代わりに、高いレベルにずっと早く届きます。各レベルに必要なXPの合計は次のとおりです。
| レベル | 標準 | リニア |
|---|---|---|
| 5 | 1,150 | 1,375 |
| 10 | 4,675 | 5,250 |
| 20 | 23,850 | 20,500 |
| 50 | 268,375 | 126,250 |
| 100 | 1,899,250 | 502,500 |
カーブを切り替えても全員のXPはそのままで、XPから決まるレベルだけが変わります。
XPが付かないチャンネルとロール
メッセージやボイスの時間でXPが付かないチャンネル(スレッドは親チャンネルの一部として扱われます)と、メンバーがXPを一切獲得しないロール(たとえばミュート用のロール)を選べます。
レベルアップ通知
メンバーが新しいレベルに達すると、ボットがそのメンバーをメンションしたメッセージを投稿します。デフォルトでは、メンバーが直前に書き込んだチャンネルに投稿されます。決まった1つのチャンネルに送ることも、オフにすることもできます。独自の文面も200文字まで書けて、{user}、{level}、{board}が埋め込まれます。文面に@everyoneがあっても、通知が届くのはレベルに達したメンバーだけです。同じチャンネルで4人以上のメンバーが同時に新しいレベルに達したときは、1つのメッセージにまとめられます。ボットにはそのチャンネルでメッセージを送る権限が必要です。
レベルごとのロール
Levels (BETA)のリーダーボードでは、ティアロールに4つ目の基準レベルがあります。レベル5から1つのロール、レベル10から別のロール、という具合です。下位のティアロールも残すをオンにすると、メンバーは到達したロールをすべて持ち続けます。オフにすると、いちばん上のロールだけが残ります。ロールは、メンバーが新しいレベルに達した少しあとに切り替わります。
レベルごとの通貨
サーバーで通貨機能を使っているなら、レベルに通貨を支払えます。メンバーが新しいレベルに達するたびに一定額で、支払いは1レベルにつき1回だけです。ほかの支払いと同じ1日の上限に数えられ、アカウントの作成日数のルールも同じように適用されます。メッセージやボイスの時間そのものに通貨は付きません。
シーズン
シーズンを終えるとリーダーボードは凍結され、XPは数えられなくなり、順位は終了時のまま残ります。凍結を解除すると、同じXPから続きます。最初からやり直したいときは、新しいLevels (BETA)のリーダーボードを作り、凍結したものは記録として残しましょう。凍結したリーダーボードは、1サーバーに1つという制限には数えられません。
XPの取り込みと手動設定
ほかのレベルボットから移ってきましたか? 1行に name,xp と書いたCSVファイルから、ダッシュボードの「CSVから取り込む」でXPを取り込めます(「取り込みと移行」で説明しています)。名前には各メンバーのDiscordユーザーIDを使ってください。その行がメンバーと紐づき、その後に獲得したXPが上乗せされます。それ以外の名前の行は通常のエントリーになり、誰の活動も加算されません。
XPを手動で設定するには、Discordで/scoreを使うか、ウェブでプレイヤーのメニューからSet XPとAdjust XPを使います。取り込みや手動の変更では、レベルアップ通知は投稿されず、レベルの報酬も支払われません。ティアロールは、次にリーダーボードが描き直されたときに追いつきます。
MEE6やほかのレベルボットからの移行
ScoreboardsはMEE6から自動で取り込みません。MEE6の利用規約は同社サービスへの自動アクセスを認めていないため、ボットがほかのボットのリーダーボードを代わりに読むことはありません。その代わり、メンバーのXPは自分で移せます(自分のサーバーのデータです)。使うのはCSVファイル1つです。
- MEE6、またはほかのボットにある自分のサーバーのリーダーボードから、各メンバーの合計XPをコピーします。コピーするのはレベルではなくXPです。レベルはXPから決まります。MEE6に12.5kのような丸めた数値が表示される場合は、完全な数(12500)を書いてください。XPが少しずれることがあります。
- 各メンバーのDiscordユーザーIDをコピーします。DiscordでDeveloper Modeをオンにし(Settings → Advanced)、メンバーを右クリックしてCopy User IDを選びます。
- 1行に1つ
name,xpを書き、名前の欄にはユーザーIDを、XPは数字だけで入れます。12,500や12.500ではなく12500です。前の2つのように書いた行は取り込まれず、行番号つきで表示されるので、直してからもう一度取り込めます。 - ダッシュボードでLevels (BETA)のリーダーボードを開き、「CSVから取り込む」を使います。各行はメンバーのXPに加算されるのではなく置き換えるので、メンバーがここで多くのXPを獲得する前に取り込みましょう。修正したファイルはいつでも取り込み直せます。1ファイルは500行までです。
name,xp 123456789012345678,4675 234567890123456789,23850
行とメンバーを結びつけるのはユーザーIDだけです。17〜20桁の数字の名前はDiscordのユーザーIDとして読まれ、そのメンバーがその後に獲得したXPが加算されます。ユーザー名やそれ以外の名前は誰とも結びつかず、通常のエントリーになり、誰の活動も加算されません。
標準カーブはMEE6と同じなので、同じXPなら同じレベルになります。4,675 XPはどちらでもレベル10です。取り込みではレベルアップ通知は投稿されず、レベルの報酬も支払われません。ロール報酬は引き継がれないので、レベル基準のティアロールとして設定し直してください。次にリーダーボードが描き直されたときにメンバーに付きます。最後に、レベルアップ通知が二重に届かないよう、ほかのボットのレベル機能をオフにしましょう。
リーダーボードの更新頻度
Discordのリーダーボードのメッセージは、誰かが新しいレベルに達したときや、表示されている順位の並びが変わったときに描き直されます(最大で1分に1回)。それ以外は、メンバーがXPを獲得している間、およそ15分ごとです。誰も活動していないリーダーボードは描き直されません。下の最終更新の行で、いつ描かれたかがわかります。マイランクとウェブのリーダーボードには、数秒でXPが反映されます。
プライバシー
ボットがメンバーの書いた内容を読むことはありません。DiscordのMessage Content intentを使っておらず、メッセージの本文を読むことも保存することもありません。XPを獲得したメンバーごとに保存するのは、DiscordのIDと表示名、XPの合計、XPが付いたメッセージの数、XPが付いたボイスの分数、最後にXPを獲得した時刻と、順位履歴グラフ用に毎晩記録する順位のスナップショットです。メッセージ単位では何も保存しません。データはリーダーボードと一緒に削除され、ボットがサーバーから外されたときはサーバーのほかのデータと一緒に削除されます。サーバーの経済機能でレベルに通貨を支払う場合は、到達したレベルごとにメンバーの通貨の履歴にも1件記録され、ほかの通貨データと一緒に保管されます。詳しくはプライバシーポリシーをご覧ください。
Scoreboardsのサイトで、リーダーボードを誰が見られるかを決められます。
サイト上で誰でも見られます。
Discordサーバーのメンバーだけが見られます(ログインが必要です)。リーダーボード一覧に表示されるのはサーバーの管理者だけです。
指定したDiscordロールを持つメンバーと、サーバーの管理者だけが見られます。
サイトにはまったく表示されません。
リーダーボードの順位に応じて、Discordのロールを自動で割り当てられます。たとえば上位3人に「Champion」、4〜10位に「Veteran」といった具合です。
- ティアは、Webダッシュボードの各リーダーボードの設定から追加します。
- ティアの決め方は、順位(1〜3位)、パーセンタイル(上位10%)、スコア(2000ポイント以上の全員)から選べます。Levels (BETA)のリーダーボードではレベル(レベル10以上の全員など)も使えます。1つのリーダーボードでは、すべてのティアが同じ基準を使います。
- 各ティアには、既存のDiscordロールを自由に割り当てられます。
- 順位が動くと、ロールも自動で付け外しされます。
- Server Settings → Rolesで、Scoreboardsのロールを、割り当てるすべてのロールより上に置いてください。Discordでは、自分と同じかそれより上のロールをボットが操作できません。うまくいかないときは、ボットがリーダーボードのチャンネルに警告を投稿します。
すでに別の場所で大会を回していますか?CSVファイルがあれば、リーダーボードをまるごと一度に埋められます。打ち直す必要はありません。
ダッシュボードを開いてリーダーボードを選び、「CSVから取り込む」を使ってください。サーバーのリーダーボードでも、Discordサーバーを持たない個人用のリーダーボードでも、入口は同じです。ファイルの形はどちらも同じで、1行に name,score と書きます。
name,score Alex,120 "Cooney, EM",95 Sam,88
- 見出し行は自動で判別して読み飛ばします。
- 区切り文字はカンマ、セミコロン、タブのどれでも構いません。表計算ソフトの出力そのままで大丈夫です。
- カンマを含む名前も、
"Cooney, EM"のように引用符で囲めば使えます。 - 名前がDiscordのユーザーIDなら、その行はそのメンバーと紐づき、表示名で並びます。それ以外は通常のエントリーになります。
- 同じ名前が2回出てきた場合は、最後の値が残ります。直したファイルをもう一度取り込んでも問題ありません。
- 読み取れなかった行は飛ばし、行番号を一覧で知らせます。残りはそのまま取り込まれるので、数行だけ直して実行し直せます。
タイムはmm:ssとhh:mm:ssに対応し、小数部も付けられます(1:30、1:12:44.081など)。数字だけの場合はミリ秒として読みます。コロンで区切った3つの数字はhours:minutes:secondsという意味になるので、1秒未満はドットのあとに書いてください。
Levels (BETA)のリーダーボードは name,xp を受け付け、名前には各メンバーのDiscordユーザーIDを使います。ユーザー名は別のエントリーになり、XPが一切加算されません。数値はメンバーのXPの合計で、それまでのXPを置き換えます。取り込みではレベルアップ通知は投稿されず、レベルの報酬も支払われません。
上限は1ファイルにつき500行・100KBです。大きな書き出しは分けて取り込んでください。Image Ratingのリーダーボードは取り込めません。エントリーがスコアではなく、アップロードされた画像だからです。
シーズンを使うと、何も失わずに競争に区切りを付けられます。終了日時を設定する(またはダッシュボードから終了する)とボードが凍結され、表彰台が投稿されて順位は終了時のまま残ります。
- リセットも削除もされません。凍結されたボードがそのシーズンの永続的な記録として、誰でも見られます。
- 凍結中のボードは新しい送信・試合・投票を受け付けません。管理者はいつでも凍結解除できます。
- すべてのボードタイプでシーズンを使えます。Image Rating も対象で、ブラインド投票のボードを凍結すると結果も公開されます。
- 新しいシーズンを始めたいときは、新しいボードを作成し、凍結したボードは記録として残しましょう。
週間まとめは、毎週月曜日にリーダーボードのチャンネルへ短いまとめを投稿します。トップ3、その週いちばん順位を上げたプレイヤー、どれだけ遊ばれたかがわかります。直近1週間にスコアが3件以上あったボードだけが対象なので、静かなリーダーボードは静かなままです。まとめは Web のダッシュボードから、リーダーボードごとにオフにできます。
通貨機能は、試合の結果を、メンバーがサーバーのショップで使える通貨に変える仕組みです。ベータ版で、管理者がダッシュボードの通貨でセットアップして開始するまではオフのままです。開始後は、サーバーで承認された結果ごとにプレイヤーへ支払われます。支払いは固定の基本額と変動プールの一部の合計で、プールの一部は勝敗に、一部は番狂わせに連動するため、レーティングがずっと上の相手に勝つほうが、下の相手に勝つより多くもらえます。Classic、Highscore、Timeのボードには対戦相手がいないので、代わりにボード上の順位がその役割を果たします。残高はメンバーごとにサーバー全体で1つで、サーバー内のすべてのリーダーボードで共通です。
- 連勝すると1勝ごとに2%上乗せされます。上限は自分で決められます。
- 同じ相手と何度も対戦すると、直近1週間のあいだは支払いが下がります。最初の2試合は満額で、それ以降は1試合ごとに少なくなり、最低で10分の1になります。
- 1日の上限で、1人が1日に持ち帰れる量を抑えられます。また、デフォルトでは、Discordアカウントは作成から7日たつまで何も獲得できません。
- 結果を取り消し・修正・削除すると、支払いも同じだけ戻ります。すでに使ったあとなら、残高はマイナスになることもあります。その一行一行はサーバーのショップページで確認できます。
- Image Ratingのボードでは支払いは起きません。値段を付けられる結果がないからです。
- Levels (BETA)のリーダーボードは、代わりにレベルごとに支払います。メンバーが新しいレベルに達するたびに、リーダーボードのLevels (BETA)設定で決めた一定額が支払われ、1日の上限に数えられます。
メンバーは、サーバーのショップページで通貨を使います。このページはサーバーのメンバー専用で、Discordでログインして残高の確認、購入、身に付けるものの選択ができ、どの支払いも開けば計算の内訳をそのまま確認できます。Discordのリーダーボードの下にあるShopボタンから直接移動できます。通貨を開始するときにすべてのリーダーボードの下へまとめて追加でき、リーダーボードごとのオン・オフは Discord → ブランディング で切り替えられます。
そのページはscoreboards.dev/shop/サーバーIDにあり、サーバーごとに1つで、サーバーのリーダーボードのページからもリンクされています。販売できる商品は3種類です。Discordロールは購入した瞬間に付与され、ずっと持てるか、レンタルがオンなら決まった期間だけ持てます。期限が切れるとロールは外れ、メンバーはまた購入できます。サーバー設定 → ロールで、Scoreboardsが販売するすべてのロールより上にある必要があり、付与できないロールはダッシュボードでグレー表示になり、その理由も表示されます。ボード絵文字は、サーバーのリーダーボードで購入者の名前の横に、ウェブサイトでもDiscordでも表示されます。購入した絵文字は上位3人も含めてメダルの代わりに表示され、ボードのメダルがオフでも、通貨がオンのあいだは表示されます。ボード上の名前からは絵文字が取り除かれるため、名前を変えても購入した絵文字は真似できません。名前の色は、ウェブサイトとDiscordの画像リーダーボードで購入者の名前に色を付けますが、テキスト埋め込みとして投稿されたボードには表示されません。誰かが何かを購入したり装備したりすると、その人が載っているDiscordのリーダーボードがすぐに描き直されて反映されます。
サーバーは、リーダーボードのシーズンとは別に、通貨のシーズンを運用できます。1つが終わると — ダッシュボードで設定した長さに達したとき、または管理者がそこで終了したとき — すぐに次が始まり、半減がオンなら先に2以上の残高がすべて半分になります。購入したロールやアイテムは残ります。メンバーはショップページで事前に終了日を確認でき、終了はログチャンネルに投稿されます。
プレステージがオンなら、残高が管理者の設定した基準に達したメンバーは、ショップページで残高をすべて燃やして次のプレステージ レベルに上がれます。プレステージ レベルはウェブのリーダーボードと Discord のカードで名前の横に星と数字で表示され、シーズンが終わっても残り、ログチャンネルで告知されます。
入れ替わる品揃えがオンなら、どのショップアイテムにも開始日と終了日を設定できます。日付は商品の追加・編集時に設定します。開始前はショップページに近日登場として表示され、終了すると棚から消えて購入できなくなります。
オークションがオンなら、管理者がダッシュボードからロールやコスメを出品し、メンバーはショップページで入札します。入札額は入札時に差し引かれ、より高い入札があればすぐに返金されます。最後の5分間の入札は締め切りを延長します。締め切り時に落札額は消滅し、賞品が渡され、結果はログチャンネルに投稿されます。
セットアップは、ダッシュボードの「通貨」で、シンプルモードの4ステップで完了します。通貨に名前を付ける。3つのペースからメンバーの稼ぎ方を選ぶ(それぞれ、アクティブなメンバーが週にどれくらい稼ぐかの目安が表示されます)。ショップに商品を並べる(そのペースに合わせた価格の、名前の色6つとボード絵文字6つのおすすめセットをワンクリックで追加でき、このステップはスキップもできます)。そして開始する(ベータのチェックボックスにチェックを入れます。すべてのリーダーボードの下にShopボタンを表示する項目は、最初からチェック済みです)。商品の追加と編集は「通貨 → ショップ」で、おすすめ価格とプレビュー付きの短い3ステップのシートで行います。詳細モードでは、支払いの数値、獲得できる条件、ログチャンネル、シーズン、レンタル、プレステージ、入れ替わる品揃え、オークションも設定できます。管理者はウェブサイトから通貨を配ったり取り消したりできます。リーダーボード上のプレイヤーのコンテキストメニューから、またはどのボードにもいないメンバーなら「通貨 → メンバー」から行います。どちらも指定したログチャンネルに投稿されるので、モデレーターの言葉を信じるしかない状況にはなりません。この通貨はお金ではありません。換金価値はなく、獲得したサーバーの外には持ち出せず、いつでもリセットできます。