Importing levels from another bot

Switching leveling bots normally means telling your community that everyone is back to level 0. You don't have to. Open Levels → Import in the panel and bring your members' XP across — from MEE6 directly, or from a JSON export of any other leveling bot.

Nothing is written until you have seen a preview and confirmed it.

Coming from MEE6 specifically? Switching from MEE6 to YAWBDB walks through the whole move, not just the import screen.


📥 Importing from MEE6

Pick MEE6, enter the Discord server ID (yours is filled in already), and hit Preview.

The MEE6 leaderboard has to be public. In the MEE6 dashboard, turn on "Make my server's leaderboard public". Without it, MEE6 refuses to hand the data over and the import stops with an explanation instead of a silent half-result.

You can import from a different server than the one you're configuring — just paste that server's ID. Useful if you're consolidating two communities.

The preview shows how many members were found, how many of them already have XP here, and a sample of the top of the leaderboard.


📄 Importing from a JSON file

Amari's public API was shut down, and most other leveling bots never had one — so the second route is a file. Pick JSON file and upload an export.

The parser is deliberately forgiving. It accepts:

Each entry needs only two things to be usable: a Discord user ID and an XP amount. Entries missing either are skipped rather than failing the whole file.

If the file also carries role rewards (role_rewards or rewards), those are picked up too.


📐 The level curve — the one decision worth reading

Two bots can hold the exact same XP and still show different levels, because the level is just a lookup on a curve, and not every bot uses the same one.

MEE6 charges 5·l² + 50·l + 100 XP to leave level l. YAWBDB's formula has the same shape but is indexed on the level being reached. The practical consequence: importing MEE6 XP onto our default preset makes every member drop exactly one level. Their XP is untouched and correct — it just maps one rung lower.

So the preview measures it on your actual data and tells you plainly, for example: "412 of the 900 members we could compare would change level here — up to 1 level lower."

Then you choose:

Adopting the curve is a server-wide setting, so it also recalculates the level of members who were already here before the import. Their XP is never modified — only the level it maps to. That's on purpose: leaving half the leaderboard on the old formula would look like a bug.

If your server already uses a curve identical to MEE6's, the question isn't asked at all.


⚙️ Members who already have XP here

Choose what happens on a collision:

Option What it does
Keep the higher XP Imports only when the source has more. The safest option, and the default.
Replace with the imported XP The source wins, even when it's lower.
Leave them alone Only members with no XP here at all are imported.

Members who are in the import but have never spoken here are never affected by XP decay until they actually become active — an import doesn't start a decay clock.


🎖️ Role rewards

If the source exposes role rewards, you can import them at the same time. Each one is added to your Reward Graph as a "level reached → assign role" pair.

Existing paths are checked first, so re-running an import doesn't stack duplicate branches on your canvas. If your reward graph is at its node limit, the import fills what it can and tells you how many were added out of how many were found.


🔕 What an import does not do

An import is a data migration, not a live event:

This is deliberate. Announcing thousands of level-ups at once would flood the server, and back-filling roles for an entire leaderboard is rarely what you actually want.


⏳ While it runs

Large leaderboards are imported in the background. The page shows a progress bar, and you can close it — the import keeps going and the progress is still there when you come back.

When it finishes you get a breakdown: members added, updated, skipped, and role rewards imported.

Only one import can run at a time per server.


👍 Recommended order

  1. Configure Leveling first (XP rates, cooldown, level-up channel).
  2. Run the Preview and read the curve comparison.
  3. Decide on the curve before importing — changing it afterwards means every member's level moves again.
  4. Import, then check Levels → Leaderboard.
  5. Add or adjust rewards in the Reward Graph.