Wiki / Core Features / レベリングとXP / ほかのボットからレベルをインポートする

ほかのボットからレベルをインポートする

更新者 Maxime_48 · 1時間前 · 閲覧数:113

言語: English Français Deutsch Español Português (Brasil) Italiano Nederlands Polski Türkçe Русский 日本語 한국어 中文

レベリングボットを乗り換えると、通常は、全員がレベル0に戻ることをコミュニティに伝えなければなりません。その必要はありません。パネルでレベリング → インポートを開けば、メンバーのXPを引き継げます。MEE6から直接、またはほかのレベリングボットのJSONエクスポートから取り込めます。

プレビューを確認して確定するまで、何も書き込まれません。

MEE6からの移行をお考えですか? MEE6からYAWBDBへの乗り換えでは、インポート画面だけでなく、移行の全体を順に説明しています。

インポートのタブ。取り込み元の選択、サーバーIDの欄、プレビューボタンが示されたレベリングページ

  1. 取り込み元として、MEE6またはJSONファイルを選びます。
  2. MEE6のDiscordサーバーIDを入力します。
  3. プレビューで、インポートされる内容が表示されます。確定するまで、何も書き込まれません。

📥 MEE6からインポートする

MEE6を選び、DiscordサーバーIDを入力して(あなたのサーバーのIDはすでに入力されています)、プレビューを押します。

**MEE6のリーダーボードは公開されている必要があります。**MEE6のダッシュボードで、*「Make my server's leaderboard public」*をオンにしてください。これがないと、MEE6はデータの引き渡しを拒否し、インポートは、中途半端な結果を黙って出すのではなく、説明つきで停止します。

設定中のサーバーとは別のサーバーからもインポートできます。そのサーバーのIDを貼り付けるだけです。2つのコミュニティを統合する場合に便利です。

プレビューには、見つかったメンバーの数、そのうちすでにこのサーバーでXPを持っている人数、リーダーボード上位のサンプルが表示されます。


📄 JSONファイルからインポートする

AmariのパブリックAPIは終了しており、ほかのほとんどのレベリングボットにはそもそもAPIがありませんでした。そのため、2つ目の方法はファイルです。JSONファイルを選んで、エクスポートしたファイルをアップロードしてください。

パーサーは、あえて寛容に作られています。次のものを受け付けます。

  • メンバーのプレーンなJSON配列
  • players 配列を含むオブジェクト(MEE6の生のレスポンスもそのまま使えます)
  • data 配列を含むオブジェクト(Amariが使っていた形式で、文字列のXPでも問題ありません)
  • よくあるフィールドの別名: id / user_id / discord_id、および xp / exp / experience

各エントリーが使えるようになるために必要なのは、DiscordのユーザーIDとXPの量の2つだけです。どちらかが欠けているエントリーは、ファイル全体を失敗させるのではなく、スキップされます。

ファイルにロール報酬(role_rewards または rewards)も含まれている場合は、それらも取り込まれます。

往復の仕組みも組み込まれています。レベリング → リーダーボードの**↓ JSON エクスポート**は、players 配列を含め、まさにこの形式のファイルを出力します。1つのサーバーからエクスポートして、別のサーバーにインポートできます。そのままバックアップとして保存して、あとでそのまま戻すこともできます。ランクカードと公開ランキングをご覧ください。


📐 レベル曲線: 読んでおく価値のある、ただ1つの判断

2つのボットがまったく同じXPを持っていても、表示されるレベルが違うことがあります。レベルは曲線上の参照にすぎず、すべてのボットが同じ曲線を使っているわけではないからです。

MEE6は、レベル l を抜けるのに 5·l² + 50·l + 100 のXPを必要とします。YAWBDBの計算式も同じ形ですが、基準になるのは到達するレベルです。実際の結果として、**MEE6のXPをデフォルトのプリセットにインポートすると、全メンバーがちょうど1レベル下がります。**XPには手を加えておらず正確で、1段下に対応するだけです。

そのため、プレビューではあなたの実際のデータで測定し、たとえば次のようにわかりやすく伝えます。「比較できた900人のメンバーのうち412人は、ここでレベルが変わります。最大で1レベル下がります。」

そのうえで、選びます。

  • 自分の曲線を維持する: XPはそのままインポートされ、レベルはあなたの計算式で再計算されます。メンバーには、数字が1つ下がって見えます。
  • 取り込み元の曲線を使う: YAWBDBは、このサーバーの計算式を、カスタムのプリセットa = 5、b = 40、c = 55に切り替えます。これは、MEE6の曲線をXP単位で再現します。全員が、これまでのレベルを維持します。

曲線を採用するのはサーバー全体の設定なので、インポート前からここにいたメンバーのレベルも再計算されます。XPが変更されることはなく、対応するレベルだけが変わります。これは意図的なものです。リーダーボードの半分が古い計算式のままだと、不具合のように見えてしまうからです。

サーバーがすでにMEE6と同一の曲線を使っている場合は、この質問自体が表示されません。


⚙️ すでにここでXPを持っているメンバー

重複したときの扱いを選びます。

オプション 内容
高い方の XP を残す 取り込み元のほうが多い場合にだけインポートします。最も安全なオプションで、デフォルトです。
インポートした XP で置き換える 取り込み元が優先され、低い場合でも置き換えます。
そのままにする ここでXPをまったく持っていないメンバーだけをインポートします。

インポートに含まれていても、ここで一度も発言したことがないメンバーは、実際にアクティブになるまで、XP減衰の影響を受けません。インポートで減衰のカウントが始まることはありません。


🎖️ ロール報酬

取り込み元がロール報酬を公開している場合は、同時にインポートできます。それぞれが、**「レベル到達 → ロールを割り当て」**のペアとして、あなたの報酬グラフに追加されます。

既存のパスが先に確認されるので、インポートを再実行しても、キャンバスに重複したブランチが積み重なることはありません。報酬グラフがノードの上限に達している場合は、入るだけ取り込み、見つかった数のうちいくつが追加されたかをお知らせします。


🔕 インポートが行わないこと

インポートはデータの移行であり、ライブのイベントではありません。

  • メンバーが何レベル上がっても、レベルアップのメッセージは送信されません。
  • 報酬が遡って発動されることはありません。インポートした履歴に対して、グラフが再生されることはありません。
  • インポートしたロール報酬は、メンバーが次に到達するレベルから適用されます。

これは意図的なものです。何千件ものレベルアップを一度に告知するとサーバーが埋まってしまいますし、リーダーボード全体のロールをさかのぼって付与することは、実際にはまず望まれないからです。


⏳ 実行中の動作

大きなリーダーボードは、バックグラウンドでインポートされます。ページには進捗バーが表示されますが、ページは閉じてかまいません。インポートは続行され、戻ってきたときにも進捗が表示されます。

完了すると、内訳が表示されます。追加、更新、スキップされたメンバーの数と、インポートされたロール報酬の数です。

インポートは、1つのサーバーにつき、同時に1つしか実行できません。


👍 おすすめの順序

  1. まず、レベリングを設定します(XPの比率、クールダウン、レベルアップのチャンネル)。
  2. プレビューを実行して、曲線の比較を読みます。
  3. インポートする前に曲線を決めます。あとで変更すると、全メンバーのレベルがもう一度動くためです。
  4. インポートしたら、レベリング → リーダーボードを確認します。
  5. 報酬グラフで、報酬を追加または調整します。