Setting it up
Run!restore and pick This Server from the menu, then press Set Up.
Before you post anything, pick two things:
- The verified role. This is the role members get once they’re through. It can’t have moderation permissions, and it has to be below your own top role.
- The channel. Wherever new members land first, usually a
#verifychannel that’s the only thing they can see.
@everyone can only see the verify channel, and let the verified role see the rest. That way nobody gets in without verifying.
What members see
They press Authorize on the message and Discord asks them to let your bot know who they are and join servers for them. That second part is what makes pulling possible later. After that they land on a short verification page with a captcha, and a password box if you set one. Once they pass, they get the role and they’re in. Members can come back and verify again at any time, it just refreshes their spot in the pool.Changing the message
By default the message is a simple embed with your server’s name and icon and an Authorize button. Press Edit Message to write your own using embed scripting, for example:Requirements
Under Requirements you can make it harder to get through:- Password Members have to type it on the verification page.
- Profile picture Blocks accounts still on the default avatar.
- Account age Blocks accounts younger than 1, 7, 30 or 90 days.
- Extra roles Anything here gets handed out along with the verified role.
Firewall
The firewall checks where someone is verifying from and blocks them.- Block VPNs also covers proxies.
- Block Tor blocks Tor exit nodes.
- Block Hosting blocks connections from servers and cloud providers.
- Block Alts stops someone verifying if their device already verified a different account.
- Block Banned Alts stops someone verifying if their device was used by an account you’ve banned. This one is worth turning on even if you skip the rest.
203.0.113.0/24, a whole network by ASN like AS13335, or a country by its two letter code like DE. IP addresses are saved as a one way hash, so mira never stores the actual address.
If someone gets caught by mistake, add them (or a role they have) to the skip list on the same page and they’ll go straight through.
Blocked members are told why on the verification page, like their account being too new or their connection going through a VPN. Their authorization gets thrown away, so they don’t end up in your pool. Country blocks only ever look at the country, never their location or IP.
Auto-kick
Auto-kick removes people who join and never verify. Pick how long they get, anywhere from 10 minutes to 3 days (1 day by default), and turn it on. A few things it never does:- It never kicks members who were already in the server before you turned it on.
- It never kicks anyone with the verified role or one of the exempt roles you pick.
- It never DMs anyone, they just get removed.
Logs
You can have every verification posted in a channel:When someone can’t verify
Most of the time the page tells them what went wrong. The ones you’ll hear about the most:- “You’re already in 100 servers.” Discord won’t let anyone join more than 100, so they need to leave one first.
- “This link has expired.” They took too long on the page. Pressing Authorize again starts over.
- “Verification isn’t available for this server right now.” Either verification is turned off, or your restore bot is lacking role hierarchy.
- “This browser has already verified a different account.” That’s from the Block Alts firewall. If it’s a real person sharing a computer, add them to the firewall skip list.