Sync Bot — Server Mirroring
Troubleshooting
Common Sync Bot problems and how to fix them.
Troubleshooting
"Could not locate the bindings file"
The native SQLite module doesn't match the Node version, or was never built.
- Make sure the egg runs on Node 22.
- Delete the uploaded
node_moduleson the server once:On the next start,rm -rf /home/container/node_modulesnpm installfetches the correct binary fresh.
Never upload a locally built
node_modules to the server — npm install then only reports "up to
date" and never fetches the native binary.Mirrored messages arrive empty
The Message Content Intent is not enabled. Turn it on in the Developer Portal under Bot → Privileged Gateway Intents and restart the bot.
Slash commands don't show up
- The bot was invited without the
applications.commandsscope — re-invite it with a correct OAuth2 URL. - Right after joining it can take a moment. A restart re-registers the commands.
@everyone doesn't ping
- The webhook or the
@everyonerole lacks the Mention Everyone permission in the target channel. - A @user/role ping only fires if that user or role exists on the target server.
A reaction with a custom emoji is missing
The bot is not a member of the server the emoji belongs to. Standard emojis and emojis from Server A or B work.
Duplicate messages / infinite loop
The DATABASE_PATH is not persistent. If the database is lost, the bot no longer recognises its own
webhooks. Put the database on a persistent path and restart.
A name keeps reverting
This is intentional: channel and category names on Server B follow Server A. Set custom names through
/sync rename-channel or /sync rename-category — see Synchronisation.