Before You Pull
What your bot, destination server and members need before a RestoreCord pull, and exactly which members count as eligible.
A pull needs three things: a working bot in the destination server, the right Discord permissions, and members who still authorize your bot. Check these before you start, because most failed pulls come from one of them.
Checklist
| Check | Why it matters | Where to fix it |
|---|---|---|
| A custom bot is linked to the server | Every pull uses the server's own bot and the members' authorization for that bot. The Pull Members button is greyed out without one. | Bot Management |
| The bot token and client secret are current | An invalid token stops the pull before it starts. A changed client secret fails the migration as soon as a member's authorization needs refreshing. | Bot Settings |
| The bot is in the destination server | The destination list only shows servers your bot is in. Use Invite Bot in the popup to add it. | Discord |
| The bot can create invites there | Discord needs the Create Instant Invite permission to add members. 15 permission failures in a row fail the migration. | Discord: Server Settings › Roles |
| The bot's role is above the role you give | The popup tests the role before starting and refuses roles the bot can't assign. | Discord: drag the bot's role higher |
| Invites are enabled in the destination server | Pulls are refused while the server has invites disabled. | Discord: Server Settings |
| Server Members Intent is on | Lets RestoreCord read the destination's member list and skip people who are already there. Without it the pull still works but is slower. | Discord Developer Portal › your app › Bot |
| Join Servers For User was on when members verified | The guilds.join scope is what allows your bot to add a member to a server. It's on by default. | Security settings |
Go to Security › Join Servers For User
Turning Join Servers For User back on doesn't fix members who verified while it was off. Those members have to verify again before they can be pulled.
Who Can Start a Pull
- The server owner.
- Sub-users with the Pull Members permission. They can start, pause, resume and stop migrations for that server. Plan features follow the owner's plan when the server checks them. See Sub-Users.
Which Members Are Eligible
When a migration starts, RestoreCord builds the list of members to pull from this server's verified members:
| Rule | Effect |
|---|---|
| Verified on this server | Only members saved for this RestoreCord server are used. Members of your other servers aren't included. |
| Still authorized | Members marked as no longer authorized are left out. A member is marked when Discord rejects their saved authorization, for example after they remove your bot under Authorized Apps. |
| Not blocked by your firewall | Members with an active, unexpired firewall Block rule on their user are left out. |
| Country (Business) | With Country Specific set, only members from that country are kept. |
| Quality filters (Business / Enterprise) | With any Smart Filter set, members outside its limits are left out. |
| Already in the destination | They stay in the list, but RestoreCord skips them when the pull runs and counts them under Members in Server. |
The popup's Pullable members number shows how many members are left after these rules (except the last one).
The member list is reused for 10 minutes. Someone who verified in the last few minutes may not be in a migration you start right away. Start another pull later to include them.
What "Authorized" Means
When a member verifies, Discord gives your bot a token that lets it add that member to servers. RestoreCord refreshes the token as needed while pulling. It stops working when:
- The member removes your bot under User Settings › Authorized Apps in Discord.
- Discord rejects the refresh because the authorization expired or was revoked.
- The member's Discord account is deleted, or Discord requires them to verify their account first.
RestoreCord then marks the member as no longer authorized. They are skipped in future pulls until they verify again. They are never deleted from your member list. OAuth Authorization Checks (Premium) can find these members on a schedule.
Discord Limits to Keep in Mind
- Server limit: a Discord account can only be in a limited number of servers. Members at the limit can't be added and are counted under Members in Maximum Servers.
- Bans: banned members can't be added.
- Rate limits: Discord slows down bots that add many members. RestoreCord waits and retries automatically, so large pulls take longer than the estimate.