1
Write down what actually matters
Not everything needs to move day one. At minimum, note: your prefix (if you want to match the old one), mod-log channel, mute role (if you use one instead of timeout), welcome/leave channel and message text, and any custom commands or autoresponders worth keeping.
2
Set up Petto alongside the old bot first
Don’t remove the old bot yet. Run through Your First Server Setup with Petto while the old one is still active, so you’re never without moderation coverage mid-migration.
3
Recreate config, don't guess
Copy welcome/leave/boost message text directly if you have it saved, rather than rewriting from memory, small wording differences compound. Variables use different token names between bots, translate the concept, not the literal syntax.
4
Test each moved feature once
Trigger a test welcome (
!welcome test), post a test autoresponder trigger, open a test ticket, before trusting the migration is complete.5
Turn off the old bot's overlapping features
Running two bots that both respond to the same welcome event, or both log the same moderation actions, means duplicates. Disable the old bot’s equivalent feature once Petto’s version is confirmed working, module by module rather than all at once.
6
Remove the old bot last
Only once every feature you actually use has a working Petto equivalent. There’s no rush, and keeping it a few extra days costs nothing.
What doesn’t carry over, and why
Moderation case history
Moderation case history
Past bans/warns/kicks logged by another bot live in that bot’s own database, Petto has no way to read it. Old sanctions already applied in Discord (an actual ban, an actual timeout) stay in effect regardless, only the history/case record doesn’t transfer.
XP and levels
XP and levels
Same reason, plus most bots use a different XP curve, so even a raw number import would produce different levels under Petto’s formula. Members start fresh, or use
/level join / /level manage xp to award a starting bonus if you want to soften that.Custom command / autoresponder syntax
Custom command / autoresponder syntax
The trigger and response text usually copies over fine, but variable tokens (
{user}-style syntax) differ between bots and need translating, see Variables for Petto’s real list.