Wiki / Core Features / 等级与 XP / 从其他机器人导入等级

从其他机器人导入等级

更新者 Maxime_48 · 3小时前 · 浏览量:119

语言: 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(你自己的已经预先填好了),然后点击预览。

**MEE6 的排行榜必须是公开的。*在 MEE6 的仪表板中,开启“Make my server's leaderboard public”*。没有开启的话,MEE6 会拒绝提供数据,导入会停止并给出说明,而不是悄悄地只得到一半的结果。

你可以从与你正在配置的服务器不同的服务器导入,只需粘贴那台服务器的 ID。如果你要合并两个社区,这会很有用。

预览会显示找到了多少名成员、其中有多少人在这里已有 XP,以及排行榜前列的一部分样本。


📄 从 JSON 文件导入

Amari 的公共 API 已经关闭,而大多数其他等级机器人从来就没有 API,所以第二种途径是文件。选择 JSON 文件并上传一个导出文件。

解析器有意设计得很宽容。它接受:

  • 一个普通的 JSON 成员数组,
  • 一个包含 players 数组的对象(MEE6 的原始响应可以直接使用),
  • 一个包含 data 数组的对象(Amari 使用的格式,XP 为字符串也没问题),
  • 以及常见的字段别名:id / user_id / discord_id,和 xp / exp / experience。

每个条目只需要两样东西就能使用:一个 Discord 用户 ID 和一个 XP 数值。缺少其中任何一项的条目会被跳过,而不会导致整个文件失败。

如果文件中还带有身份组奖励(role_rewards 或 rewards),它们也会被一并读取。

往返流程是内置的:等级 → 排行榜中的 ↓ JSON 导出会生成一个格式与此完全一致的文件,包括 players 数组。从一台服务器导出,再导入到另一台服务器,或者把它保留为备份,随时可以直接再导入。请参阅等级卡片与公开排行榜。


📐 等级曲线:唯一值得读一读的决定

两个机器人可以保存完全相同的 XP,却显示不同的等级,因为等级只是在曲线上查表得到的结果,而并非每个机器人都使用同一条曲线。

MEE6 离开等级 l 需要 5·l² + 50·l + 100 XP。YAWBDB 的公式形式相同,但以将要达到的等级为索引。实际的后果是:**把 MEE6 的 XP 导入到我们的默认预设上,会让每位成员恰好降一级。**他们的 XP 没有被改动,而且是正确的,只是映射到了低一级的位置。

因此,预览会在你的实际数据上进行测算,并清楚地告诉你,例如:“在我们能够比较的 900 名成员中,有 412 名在这里会改变等级,最多低 1 级。”

然后由你来选择:

  • 保留你的曲线:XP 按原样导入,等级根据你的公式重新计算。成员会看到自己的数字降低一级。
  • 使用来源的曲线:YAWBDB 会把这台服务器的公式切换为自定义预设 a = 5, b = 40, c = 55,它能把 MEE6 的曲线精确到每一点 XP地还原。每个人都保留他们原来的等级。

采用来源的曲线是一个服务器范围的设置,所以它也会重新计算在导入之前就已经在这里的成员的等级。他们的 XP 绝不会被修改,改变的只是它所对应的等级。这是有意为之:让排行榜的一半停留在旧公式上,看起来会像是一个错误。

如果你的服务器已经使用了与 MEE6 完全相同的曲线,就根本不会询问这个问题。


⚙️ 在这里已有 XP 的成员

选择出现冲突时如何处理:

选项 作用
保留较高的经验 仅在来源的 XP 更高时才导入。这是最稳妥的选项,也是默认选项。
用导入的经验覆盖 以来源为准,即使它更低。
保持不变 只导入在这里完全没有 XP 的成员。

那些在导入中出现、但从未在这里发言的成员,在真正变得活跃之前,绝不会受到 XP 衰减的影响:导入不会启动衰减的计时。


🎖️ 身份组奖励

如果来源提供了身份组奖励,你可以同时导入它们。每一项都会作为一个**“达到等级 → 分配身份组”**的组合添加到你的奖励图中。

系统会先检查已有的路径,所以重新运行导入不会在你的画布上叠加重复的分支。如果你的奖励图已达到节点上限,导入会尽可能多地填充,并告诉你在找到的奖励中添加了多少项。


🔕 导入不会做什么

导入是一次数据迁移,而不是实时事件:

  • 不会发送升级消息,无论成员升了多少级,
  • 不会追溯触发任何奖励,不会在导入的历史记录上重放奖励图,
  • 你导入的身份组奖励从成员下一次升级时开始生效。

这是有意设计的。一次性公布成千上万次升级会淹没服务器,而为整个排行榜补发身份组也很少是你真正想要的。


⏳ 运行期间

大型排行榜会在后台导入。页面会显示进度条,你可以关闭它:导入会继续进行,你回来时进度仍然在那里。

完成后,你会得到一份明细:新增、已更新、已跳过的成员,以及导入的身份组奖励。

每台服务器同一时间只能运行一个导入。


👍 推荐顺序

  1. 先配置等级功能(XP 速率、冷却时间、升级频道)。
  2. 运行预览,并阅读曲线对比。
  3. 在导入之前决定曲线:之后再更改,意味着每位成员的等级会再次变动。
  4. 导入,然后查看等级 → 排行榜。
  5. 在奖励图中添加或调整奖励。