Migration

Data Mapping

Understanding how your data is transformed and mapped during the migration process.

User Levels & XP

Source → SYNTHET
user_id→ user_id
level→ current_level
experience→ total_xp
last_xp_gain→ last_activity_timestamp

XP progressions are preserved with 100% accuracy. All historical level achievements are maintained in SYNTHET's database.

Moderation History

Field Mappings
warn_id → incident_id
moderator_id → action_user_id
reason → action_reason
timestamp → action_timestamp
action_type → moderation_type

All moderation actions including warns, mutes, kicks, and bans are converted to SYNTHET's unified moderation schema.

Action Type Conversion

Different bots use different naming conventions. SYNTHET standardizes these to: WARN, MUTE, KICK, BAN, TIMEOUT, NOTE.

Custom Commands

Custom commands are mapped with support for text replacements and basic variables:

// Source Command (MEE6)
trigger: "!hello"
response: "Hello {user.mention}!"
// SYNTHET Equivalent
trigger: "!hello"
response: "Hello {user}!"
  • Common variables like {user}, {channel}, {server} are automatically converted
  • Complex scripting features may require manual adjustment
  • All command aliases and alternative triggers are preserved

Welcome & Goodbye Messages

Welcome and goodbye messages are mapped while preserving all formatting and placeholders:

Supported Placeholders

  • {user} - User mention
  • {server} - Server name
  • {membercount} - Current member count
  • {username} - User's display name

Important Mapping Notes

  • • Some advanced features may not map directly and require reconfiguration
  • • Custom scripts and complex automations need to be manually recreated
  • • Ensure all source data is accessible before beginning migration
  • • Check data integrity after migration completes

Role & Channel Mapping

Roles and channels are matched by name and preserved in SYNTHET's role hierarchy:

Source FieldSYNTHET FieldBehavior
role_idrole_idDirect mapping
role_namerole_namePreserved if role exists
channel_idchannel_idMust exist in destination