🛡️ ONIDbot is a free and open-source Discord bot that verifies your server's members using their onid@oregonstate.edu email addresses.
👨💻 ONIDbot was developed by Finlay Christ, a cybersecurity major and president of the OSU Rock Climbing Club.
🗓️ ONIDbot has been protecting clubs at Oregon State University since 9/26/2025.
📈 ONIDbot has verified over 150 students and has blocked dozens of scammers and creeps.
🫶 ONIDbot proudly protects the OSU Rock Climbing Club, OSU Hiking Club, and OSU Conservation Club.
Posting your club's Discord server invite to social media is a great way to grow your community, but as soon as that link becomes public, anyone can join. OSU clubs specifically have seen a massive increase in scammers and creeps. ONIDbot keeps your club members safe by restricting the access given to non-students.
Verifying with ONIDbot is easy. New members press the "Get Verified!" button, enter their onid@oregonstate.edu email address, receive a link to their inbox, click that link, and then verification is complete and they get access to your server. For members who already verified on a different server pressing "Get Verified!" instantly grants access to your server, no email required.
To add ONIDbot to your server click here and follow Discord's instructions.
ONIDbot asks for three permissions, each of which are essential for the bot to function correctly:
- Manage Roles: Required to give members the "ONID-Verified" role after completing verification.
- Manage Nicknames (optional): Allows ONIDbit to change each member's nickname to their real name from the OSU directory.
- Send Messages: Required to post the "Get Verified!" button so members can click it.
📝 NOTE: In addition to the Manage Nicknames permission the ONIDbot role must be above each members's highest role in order to change their nickname.
Next, you will need to create a role that is given to verified members.
Go to Server Settings > Roles and press Create Role.
Name the role exactly "ONID-Verified" and give that role the following permissions:
View Channels, Send Messages and Create Posts, Read Message History, Connect, Speak, and Use Voice Activity.
Then go to @everyone and press "Clear permissions" to remove all permissions.
📝 NOTE: The ONIDbot role must be dragged above the ONID-Verified role for ONIDbot to function correctly.
Next create a new channel called get-verified.
Go to Edit Channel > Permissions and set the following:
- @everyone is granted View Channel, and Read Message History.
- @ONIDbot is granted Send Messages.
- @ONID-Verified is denied Send Messages.
Finally type "/post_verification_button" in the get-verified channel to create the "Get Verified!" button.
ONIDbot is now setup and verifying members!
📝 NOTE: It is highly recommended to have a friend test out verification to ensure it's setup correctly.
Q: Will existing members have to verify through ONIDbot?
A: Nope, if you already gave the verified role to a member ONIDbot won't take it away.
Q: I like having some channels public. Will ONIDbot force everything to be private?
A: Nope, you have total control over which channels and permissions require the verified role and which are given to everyone.
Q: What should I do if I want to allow some non-students to join?
A: Anyone with an active @oregonstate.edu email can verify through ONIDbot. Other's can be given the verified role manually.
Q: Who can verify with ONIDbot?
A: ONIDbot can verify anyone with an @oregonstate.edu email address, so students, staff, faculty, and recently graduated alumni.
Q: What should I do if I have another question that's not answered here?
A: Send a Discord DM to @finlaytheberry or an email to christj@oregonstate.edu.
ONIDbot stores the following information about you after verification: your ONID email address, your full name, your Discord user ID.
ONIDbot also collects logs which may include additional data relating to your interations with the software.
You can request the deletion of this data at any time by emailing christj@oregonstate.edu.
I respect your right to privacy. If you have additional questions or concerns please reach out to christj@oregonstate.edu.