すべての記事

MEE6の代わりになるレベルBot:MEE6なしでDiscordのXPランキングを作る方法

CordBaseチーム

「MEE6なしのXPランキング」と言うとき、たいていは2つのうちどちらかを指していて、それぞれ必要なツールが違います。

ランキングを1回投稿したいだけなら、無料のDiscordランキング作成ツールで、名前とスコアの一覧からメダル付きのランキングのメッセージを作れます。このガイドの残りでは、スコアをサーバーに保存して、ランキングのコマンドを実行するたびに最新の数値で順位を付けられるようにします。

  1. メンバーにチャットで自動的にXPを貯めてもらい、レベルアップでロールを付けたい。でもMEE6 Premium(2026年10月時点の定価は1サーバーあたり月$11.99)にはお金を払いたくない。
  2. スタッフが意図して配るポイントのランキングが欲しい:イベントでの勝利、レイドへの出席、サポートチャンネルでの手助け、大会の結果など。

1つ目なら、別のレベルBotを使ってください。2つ目にはレベルBotは形が合わず、ポイントのテーブルのほうが向いています。両方を紹介します。

方法1:無料のレベルBotでチャットのXPを自動で付与する

次のBotはメッセージを見て、自動でXPを付与します。

  • Lurkrはすべての機能が無料だとしていて、最大50個の報酬ロールと100人分のWebランキングも含まれます。任意の有料プランは月$1と$5です。
  • Arcaneの無料プランには、メッセージとリアクションのXP、最大15個のロール報酬が含まれます。ボイスのXPとXP量のカスタマイズはPremium(月$7)です。
  • Tatsuには無料のサーバースコアと、最大10個のレベルロールがあります。
  • AmariBotは、メッセージのXPに加えて、週間ランキングとロール報酬に対応しています。

どれかを選んで招待し、XPの対象チャンネルとロール報酬を設定すれば完了です。この用途にCordBaseは使えません。メッセージを読まないので、誰がチャットしているか分からないからです。

方法2:スタッフが管理するポイントのランキング

レベルBotが記録するのは、活動に応じて増える1つの数値です。Botが見られないことでポイントが付く場合や、複数の数値を記録したい場合、シーズンやゲームごとに別のランキングを作りたい場合には扱いにくくなります。そういうときはテーブルが得意です。この手順では、私たちが作っているCordBaseを使います。

ステップ1:テーブルを作る

cordbase.ggにDiscordでログインし、Botをサーバーに追加して、「XP」というテーブルを次の列で、この順番に作ります。

  1. name:テキスト、必須。最初に置きます。CordBaseはランキングの各項目に最初のテキスト列かメンバー列の値を表示し、誰かがrowオプションに入力すると、最初のテキスト列を検索して行を探します。
  2. member:メンバー、必須。
  3. xp:数値、必須。
  4. wins:数値(任意。2つ目のランキングが欲しい場合)。

保存すると、数秒でBotがサーバーに/xpを登録します。テンプレートから始めたいなら、サーバーランキングにはplayer、score、wins、losses、rank、last gameの列があります。そこにnameというテキスト列を追加してください。テーブルで唯一のテキスト列になるので、rowオプションはこの列を検索します。

ステップ2:ポイントを付与できる人を決める

テーブルの権限で、スタッフのロールに編集権限、全メンバーが持っているロール(例えば@Member)に閲覧権限を与えます。これでメンバーはランキングを見られますが、編集はできません。テーブルにロールをひとつでも設定すると、それらのロールを持たないメンバーはテーブルをまったく使えなくなります。Discordの「管理者」権限を持つ人は、常にすべての操作ができます。

ステップ3:メンバーを追加してXPを付与する

メンバーごとに一度だけ追加します。

/xp add name:Kai member:@Kai xp:0

ポイントは、新しい合計を入力するのではなく、加算して付与します。

/xp update row:Kai xp:25 _mode:Increment

加算はKaiの今の値に25を足します。減算はポイントを減らし、設定は値を上書きします。加算と減算は1回のデータベース操作として反映されるので、同時に2回加算しても両方が反映されます。

ステップ4:ランキングを表示する

/xp leaderboard column:xpは上位10人を高い順に投稿し、上位3人にはメダルが付きます。もっと長い一覧ならlimit:25を、別の数値で順位を付けるならcolumn:winsを加えてください。

有料プランなら、上位5人(テーブルの最初の数値の列の順)をチャンネルに毎週予約投稿できるので、毎週日曜日に誰かが忘れずに実行する必要がなくなります。

ステップ5:シーズン

新しいシーズンでリセットするには、新しいテーブル(「XP Season 2」)を作り、古いテーブルは記録として残します。新しいテーブルのコマンドは/xp-season-2になります。Freeではこれで2個目のテーブルの枠を使います。Proならテーブル数は無制限です。

どちらの方法を選べばいいですか

XPにチャットでの活動の多さを反映させたいなら、方法1のレベルBotを使ってください。XPがスタッフの配る報酬である場合や、複数の数値を記録する場合は、方法2を使ってください。両方を使っているサーバーもたくさんあります。チャットの活動にはレベルBot、イベントのポイントにはテーブルという使い分けです。

よくある質問

CordBaseはメッセージに対して自動でXPを付与できますか?

できません。CordBaseはスラッシュコマンドにしか反応せず、メッセージを読んだり、ボイスアクティビティを監視したりしません。チャットで自動でXPを付与したいなら、Lurkr、Arcane、TatsuなどのレベルBotを使ってください。

レベル機能でMEE6の代わりになる無料のBotはありますか?

Lurkrはすべての機能が無料だとしています。Arcaneの無料プランには、メッセージのXPと最大15個のロール報酬が含まれます。無料の範囲は変わるので、各Botの最新のプランのページを確認してください。

ランキングを2つ以上作れますか?

CordBaseなら作れます。テーブルの数値の列はどれも/<table> leaderboard column:<name>で順位を付けられ、テーブルごとに別のランキングになります。