lkaesberg / EmailVerify

Discord bot to verify your email

Home Page:https://emailbot.larskaesberg.de

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


EmailBot

Discord Email Verify

A Email Verification Bot

Build Status License GitHub forks GitHub stars

Report Bug · Request Feature

Website

Table of Contents

  1. Built With
  2. Usage
  3. Contributors
  4. Self Host

Built With

NodeJS npm DiscordJS Nodemailer

Description

This bot is able to verify that a discord user owns an email with a certain domain (i.e. verify name@uni.edu mails). This can be useful when there is some sensitive data on the server which shouldn't be accessed by everyone. To verify, the user just has to add a reaction to a specified message and the bot will send a direct message which asks for the email address. A code will be sent to the email which will grant the verified role when send to the bot.

Usage

Invite Bot

Use this link to invite the bot to your server:

https://discord.com/api/oauth2/authorize?client_id=895056197789564969&permissions=268504128&scope=bot%20applications.commands

Commands

Commands Arguments Usage
/help get instructions on how to use the bot
/verify verify on the server
/status - returns whether the bot is properly configured or not
/domains (domain name) () -> returns registered domains
(domain name) -> register given domain
/removedomain domain name remove registered domain
/button channel,message, buttontext creates a button in the channel with the message and button text
/message channel,message sends a message to the channel to which the user can add a reaction to start the verification process
/verifymessage (message) () -> resets to default verify message
(message) -> set custom verify message
/verifiedrole (verified role name) () -> returns the name of the verified role
(verified role name) -> set the role name for the verified role
/unverifiedrole (unverified role name) () -> returns the name of the unverified role
(unverified rolename) -> set the role name for the unverified role
(current unverified rolename) -> deactivates unverified role
/language language set language for the user interactions
/add_unverified_on_join enable (enable/disable) -> automatically adds the unverified role to every new user
/verify_on_join enable (enable/disable) -> automatically asks every new member to verify
/delete_user_data delete all the data from the user
/delete_server_data delete all the data from the server

react := react to the message with an emoji

The commands can only be used by an administrator

The unverified role can be used to make a channel visible in which the message is located

The EmailBot role has to be higher in the role hierarchy then the verified and unverified role else -> Cant find roles. Please contact the admin! error

img.png

Contributors

Developer

  • Lars Kaesberg

Translation

  • Lars Kaesberg (English, German)
  • gus2131 (Spanish)
  • kploskonka (Polish)
  • Norma1Name (Hebrew)
  • iplayagain (Korean)
  • Charles Van (France)
  • EmreSoftware (Turkish)

To add more languages please create an issue with the translation file. Template

Self Host

Node version: 16.15.0

To install the bot execute following commands:

Download the Bot

git clone https://github.com/lkaesberg/EmailVerify.git
cd emailverify

Create Config File

nano config/config.json
{
  "token": "<Discord Bot Token>",
  "clientId": "<Discord Bot Client ID>",
  "email": "<Email Address>",
  "username": "<Mail Server Username>",
  "password": "<Email Password>",
  "smtpHost": "<SMTP Server>",
  "isGoogle": <true/false>,
  "topggToken": "<optional: TopGG Token (remove field when empty)>"
}

Install and Start the Bot

npm install
npm start

Usage

Type "email" in the console to see debugging messages for email errors.

If you are using a Gmail account you have to create an App password and use that instead of your password.

About

Discord bot to verify your email

https://emailbot.larskaesberg.de

License:GNU General Public License v3.0


Languages

Language:JavaScript 99.5%Language:Dockerfile 0.5%