Guides

How to migrate from MEE6 without losing your setup

A practical migration plan: inventory what you actually use, map each piece to a replacement, run both bots side by side, and cut over one feature at a time.

Most bot migrations go wrong in the same way: somebody removes the old bot on a Friday, and on Monday nobody has an autorole, the welcome message is gone, and the leaderboard is empty. The fix is boring and it works. Inventory first, run both bots at once, move one feature at a time, and remove the old bot last.

This guide is written around moving off MEE6, but the method is the same for any bot swap. There is also an honest section on the one thing that does not migrate.

Step 0: change nothing yet

Do not remove MEE6. Do not turn off its plugins. The old bot is your rollback plan and it costs nothing to leave running for a week.

Take two snapshots before you touch anything:

  • Screenshot your MEE6 dashboard. Every plugin page you have configured, including the exact welcome text, level-up message, role rewards, and any custom commands. This is the only copy of that configuration you will have once the bot is gone.
  • Screenshot the leaderboard. Top 50 at minimum. If levels matter to your community, this is the record you will point people at later.

Step 1: inventory what you actually use

The mistake here is migrating the feature list instead of your usage. Most servers running MEE6 use two or three plugins and have the rest sitting at defaults.

Open your MEE6 dashboard and write down, per plugin, whether it is on and whether anyone would notice if it stopped. As of August 2026, the plugin set commonly in use covers levels, welcome and goodbye messages, custom commands, moderation, reaction roles, and social-platform alerts.

A useful test for each one: when did you last change it, and when did a member last mention it? A levelling system people talk about is a real dependency. A moderation plugin that has issued four warnings in a year is not.

Step 2: map each piece to a replacement

Here is the honest mapping. "Bond" here means an agent bot you talk to in plain language; the general point holds for whatever you pick.

What you use MEE6 forReplacementNotes
Welcome and goodbye messagesBond event flowmember_join and member_leave triggers. Free, no plan needed.
Autorole on joinBond event flowSame flow can greet and assign in one go.
Custom commandsBond custom slash commandsReal slash commands with typed options, not prefix commands.
Reaction rolesBond panel or reaction flowA select-menu panel is the better default; reaction roles still work if you want them.
Moderation actions and loggingBond moderation toolsTimeouts, bans, kicks, mod-log channel.
Keyword filtering and spamDiscord AutoModServer-side, and it does not need any bot. Set it up regardless of which bot you keep.
Scheduled or recurring postsBond cron flowNeeds a server plan on Bond; event flows and one-off reminders are free.
Levelling and XPBond data store, or a levelling specialistRead the next section before deciding.
Rank cards (image cards showing level)A levelling specialistArcane and ProBot both do generated rank cards as of August 2026.
Server backups and templatesXenonAs of August 2026, Xenon's own site describes backups and templates as its purpose.
Generated welcome imagesProBotAs of August 2026, ProBot advertises welcome image generation.

Bond's MEE6 alternative page says the same thing in fewer words: the difference is that you describe what you want instead of filling in a panel, and Bond asks you to approve each change before it happens. Where a specialist bot is the better answer, it says so.

The XP problem, stated plainly

MEE6 XP data cannot be imported into Bond. Levels start from zero.

There is no export path from MEE6 into Bond's data store, and no amount of asking the bot nicely creates one. If you move levelling to Bond, your leaderboard resets on day one.

You have four real options.

Option A: keep MEE6 for levels only. Turn off every other MEE6 plugin, keep the levels plugin, and let it sit there. Two bots, one job each. This is the least disruptive path and it is what most servers with an invested leaderboard should do.

Option B: accept the reset and say so. Announce it a week ahead with the old top-50 screenshot pinned. Communities take this fine if they hear about it before it happens and terribly if they find out by opening /rank. If you go this way, seed the new system rather than starting everyone at zero: grant the level roles by hand to the people who already earned them.

@Bond give the Regular role to everyone who currently has the Level 10 role

Option C: move to a levelling specialist. Arcane and ProBot are both built around levelling, with XP, rank cards, and role rewards. Ask whichever one you pick whether it can import from MEE6 before you assume it can; import support is a per-bot question and it changes.

Option D: build levelling on Bond because you want it to do something else. Bond stores per-server data itself, so a level number is just data you can read from a slash command, feed into a weekly post, or use as a condition in another automation. That is the reason to move it, not the leaderboard itself. See leaderboards and levels and the Arcane comparison.

@Bond track message counts, give the Regular role at level 5, and make a /rank command that shows my level

Step 3: run both bots side by side

This is the part that prevents the Monday disaster, and it has three traps.

Trap 1: duplicate welcome messages. If MEE6's welcome plugin is on and you build a Bond welcome flow, new members get greeted twice. Build the Bond flow first, verify it fires with a test account, then turn off the MEE6 plugin. Not the other way round.

Trap 2: two bots fighting over the same role. Two autoroles assigning the same role is harmless. Two bots with different opinions about who gets a level role is not. Move levelling last, or not at all.

Trap 3: role hierarchy. A bot can only manage roles positioned below its own highest role. When you add a second bot, drag its role high enough in Server Settings, Roles before you test anything. "The new bot can't assign the role" is almost always this. See Discord permissions explained.

While both are installed, also check that you are not paying twice. If you have a MEE6 premium subscription and you are about to stop using the features it covers, cancel it at the point of cutover, not before (you may want the old config readable) and not months after.

Step 4: cut over one feature at a time

Order matters. Move the low-risk, high-visibility things first so you build confidence, and leave anything holding data for last.

Week 1: welcome, goodbye, autorole.

@Bond set up a welcome flow that greets new members in #general and gives them the Member role

Test it with a second account. Then turn off the corresponding MEE6 plugin. Related: welcome messages, auto-assign roles on join, goodbye messages.

Week 1: keyword filtering to Discord AutoMod. Do this whichever bot you end up with. AutoMod runs inside Discord on message content, which means it works without granting any bot the Message Content intent. Server Settings, AutoMod, or ask:

@Bond add an AutoMod rule blocking invite links, except for mods

You get up to 6 keyword rules per server, plus one each of spam, keyword-preset, mention-spam, and member-profile. See configure AutoMod rules.

Week 2: custom commands. Rebuild them as slash commands. This is not a like-for-like port: MEE6's custom commands are prefix-triggered, and Bond cannot read message text at all, because it does not hold Discord's Message Content intent. !rules becomes /rules. You get typed arguments, autocomplete, and per-role access control in exchange.

@Bond make a /rules command that posts our rules, and only Mods can edit it

Free servers on Bond can keep 5 custom commands enabled; higher caps are on the server plans. See custom slash commands.

Week 2: reaction roles. Rebuild as a panel with a role select menu. It shows real role names, needs no emoji legend, and does not break when someone removes a reaction.

@Bond post a role picker in #roles for Gaming, Music and Art

If you specifically want the old reaction behaviour, say so and you get reaction roles instead: reaction roles.

Week 3: moderation and logging.

@Bond post in #mod-log every time someone is banned or unbanned, with the reason

See log moderation actions to a channel.

Week 4 or never: levelling. Per the section above.

Step 5: remove MEE6

Only when every item on your inventory is either rebuilt or deliberately dropped.

  1. Re-read your inventory list and tick off each row.
  2. Ask a moderator to spot-check the things they use daily.
  3. Kick the bot: right-click MEE6 in the member list, Kick.
  4. Cancel the subscription if you had one. Kicking a bot does not cancel billing.
  5. Clean up the leftovers: the MEE6 role sitting in your role list, any #mee6-logs channel, any command permissions you set for it in Server Settings, Integrations.

Point 5 matters more than it looks. An orphaned bot role with Manage Roles still sitting in your hierarchy is a permission surface for nothing. See the pre-invite permissions checklist for how to audit what is left.

Rollback

If something breaks and you have not kicked MEE6 yet, rollback is one click: re-enable the plugin you turned off. That is the entire reason for the side-by-side week.

Once the bot is kicked, rollback means re-inviting it and reconfiguring from your screenshots. This is why Step 0 is Step 0.

What this migration does not fix

Two honest notes.

Consolidating bots reduces the number of dashboards and the total permission surface, but it concentrates risk: if the one bot you kept has an outage, everything it does is down at once, instead of one plugin being down. Whether that trade is worth it depends on how much of your server is automated. There is a fuller version of this argument in replacing multiple Discord bots with one.

And nothing about switching bots improves a server whose problem is that nobody is moderating it. Automation moves work around; it does not remove it.

Keep reading