Skip to content

Instantly share code, notes, and snippets.

@jakobbouchard
Last active February 18, 2024 13:40
Show Gist options
  • Save jakobbouchard/647404a48c7df34aeb21dce2c511b4a0 to your computer and use it in GitHub Desktop.
Save jakobbouchard/647404a48c7df34aeb21dce2c511b4a0 to your computer and use it in GitHub Desktop.
Rundown of all the info about Discord's bot verification

Quick rundown of the Discord bot verification situation.

Remember, there's not rush to get verified before October 7th, since verification takes about 5 days anyways. If you are in less than a 100 servers, no need to worry, your bot will still work as it does currently. Keep in mind some stuff is NOT official, so unless there's a source, take it with a grain of salt.

Verification

  • If you are in a team, the owner gets verified, which verifies the whole team. Source
  • If you can't provide ID verification, you could transfer ownership of your team to another member so they can do the verification process. Source
  • The Stripe verification piece is on the user itself, but the other parts of the form are per-bot.
  • You do NOT need a Stripe account to verify, only your ID. Source
  • Verification is only needed if you are in more than a 100 servers, however you can start early at 75+ servers. Source
  • Will verification be available for bots in less than 75 servers? Currently, no. We may raise or lower the limit in the future. Source
  • Verification time should be about a five business day turnaround. Source
  • Deadline is October 7th, after that your bot won't be able to join more servers, but won't get kicked of existing ones. Plus, you will not be able to use privileged intents. Source
  • Verification seems open to everybody as long as they are in the age of using Discord, which is 13.
  • Verification is done by a human, no need to worry about bots misundestanding you.

What are Privileged Intents? Source

GUILD_MEMBERS lets you catch events when people update themselves or join/leave a server. GUILD_PRESENCES lets you catch status updates such as online, idle & games/custom statuses.

GUILD_MEMBERS (1 << 1)
  - GUILD_MEMBER_ADD
  - GUILD_MEMBER_UPDATE
  - GUILD_MEMBER_REMOVE

GUILD_PRESENCES (1 << 8)
  - PRESENCE_UPDATE

Non-exhaustive list of accepted IDs Source

  • Passport
  • Driver license (front/back)
  • ID card (front/back)
  • Resident permit ID/U.S. Green Card/North Carolina Resident ID
  • Border Crossing Card
  • Child ID card
  • NYC Card
  • U.S. visa card

It depends from country to country, but in general, you'll want a valid, government-issued photo id. This can be a driver's license, passport, federal ID, or something else in that category. The specifics to where you are located may be different. If you are required to get verified, Stripe will let you know during the process if your ID is OK or not. For a list for countries other than the US, see here: https://stripe.com/docs/connect/identity-verification-api#acceptable-id-types. However, this is NOT EXHAUSTIVE OF ALL THE COUNTRIES THEY SUPPORT.

If you don't have an ID, contact support, they'll help. Also apparently, in the U.S. you can get a state ID with parental conscent.

Other stuff

  • Stripe is already a trusted platform for payments, no need to worry about your data there. They don't make money off your data, they make money off of transaction fees. For those worrying about data being stored in a U.S. server, I get that, but we don't really have any other choice sadly. I'm not saying that's how it should be, I'm saying that's how it is.
  • Can our bots have verified support servers? It's been asked a couple times. On a note for me to think about, but nothing right now. Source

Questions about the verification form

WHAT SYSTEMS AND INFRASTRUCTURE DO YOU USE?

How do you run your bot?

  • OS with version, if possible.
  • Libraries (including version) and programming language.
  • Databases, if any.
  • Hosting solution. E.g. List your provider or self-hosted.

HAVE YOU SECURED ACCESS TO YOUR SYSTEMS AND INFRASTRUCTURE?

Is your server secure? Can anybody access that data?

DOES YOUR APPLICATION UTILIZE OTHER THIRD-PARTY AUTH SERVICES OR CONNECTIONS? IF SO, WHICH, AND WHY?

The third party services are more like "Does your bot also do Twitch OAuth so you can connect Discord to Twitch?" Source

All the stuff about storing data

If you do not store any data, just write I don't store data. If you store data about e.g. levels and currencies, you should write that. Since data is anonymized, it's most probably fine. Anyways, lying would get you in even more trouble. When in doubt include it.

From what I understand, end user data is data generated by users (like their username, message content, etc). Snowflakes aren't because they are generated by Discord.

Does storing data count if it's logging to a text channel?

No, it's literally just sending Discord's data back to Discord. It's fine.

WHY DOES DISCORD GET ACCESS TO MY ID?!?!?!?

Probably because they need to verify that Stripe is not lying to them about the verification. They specifically said that they don't keep any data.

Any suggestions or questions are appreciated!

@MrBoombastic
Copy link

Very useful, thx!

@ferothefox
Copy link

Thank you for this, very helpful for people that might need it

@Roki100
Copy link

Roki100 commented Apr 8, 2020

cool

@zneix
Copy link

zneix commented Apr 8, 2020

Helpful gist, thank you!

@HarmoGlace
Copy link

Thanks, very useful !

@MegaVasiliy007
Copy link

Thx, it's very helpful!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment