mirror of
https://github.com/aydenjahola/discord-multipurpose-bot.git
synced 2024-11-22 08:45:55 +00:00
74 lines
2.2 KiB
Markdown
74 lines
2.2 KiB
Markdown
# Discord Verification Bot
|
|
|
|
Welcome to the **Discord Verification Bot**! This bot is designed to handle user verification for Discord servers. It verifies users through their student email addresses and manages roles based on their verification status.
|
|
|
|
## Features
|
|
|
|
- **Email Verification**: Users receive a verification code via email and must enter it in Discord to verify their account.
|
|
- **Role Management**: Automatically assigns a specific role to users once they have been verified.
|
|
- **Customizable**: Easy to configure email domains, roles, and channels for different needs.
|
|
- **Expiration Handling**: Verification codes expire after 10 minutes for added security.
|
|
|
|
## Getting Started
|
|
|
|
### Prerequisites
|
|
|
|
Before you begin, ensure you have:
|
|
|
|
- A Discord bot token (create a bot on the [Discord Developer Portal](https://discord.com/developers/applications)).
|
|
- Access to a MongoDB database (you can use [MongoDB Atlas](https://www.mongodb.com/cloud/atlas) for a free tier).
|
|
- A Gmail account for sending emails (you can use any email service, but make sure to adjust the Nodemailer configuration).
|
|
|
|
### Installation
|
|
|
|
1. **Clone the Repository**
|
|
|
|
```sh
|
|
git clone git@github.com:aydenjahola/esports-verification-bot.git
|
|
cd esports-verification-bot
|
|
```
|
|
|
|
2. **Install Dependencies**
|
|
|
|
```sh
|
|
npm install
|
|
```
|
|
|
|
3. **Set Up Environment Variables**
|
|
|
|
Create a `.env` file in the root directory and add the following:
|
|
|
|
```env
|
|
# Bot token
|
|
BOT_TOKEN=YOUR_BOT_TOKEN
|
|
|
|
# Nodemailer
|
|
EMAIL_NAME="Example"
|
|
EMAIL_USER=example@example.com
|
|
EMAIL_PASS=YOUR_EMAIL_PASS
|
|
|
|
# Allowed domains for email verification
|
|
EMAIL_DOMAINS=example@example.com // or it can be a list, example: "example.com,example2.com"
|
|
|
|
# Discord
|
|
GUILD_ID=YOUR_GUILD_ID
|
|
VERIFICATION_CHANNEL_NAME=YOUR_VERIFICATION_CHANNEL_NAME
|
|
VERIFIED_ROLE_NAME=YOUR_VERIFIED_ROLE_NAME
|
|
ADMIN_LOG_CHANNEL_ID=YOUR_ADMIN_LOG_CHANNEL_ID
|
|
|
|
# Database
|
|
MONGODB_URI=YOUR_MONGODB_URI
|
|
```
|
|
|
|
this can also be seen in in the [.env.example](./.env.example)
|
|
|
|
4. **Run the Bot**
|
|
|
|
```sh
|
|
node bot.js
|
|
```
|
|
|
|
### Usage
|
|
|
|
- **/verify your_email@example.com**: Sends a verification code to the provided email.
|
|
- **/code your_code**: Validates the provided verification code.
|