Commands
๐ค User Commands
These commands can be used by any user.
| Command | Description |
|---|---|
/verify |
Start the email verification process to get access to the server |
/data delete-user |
Delete your personal verification data and remove your verified status |
๐ง Administrator Commands
The following commands require administrator permissions.
๐ฅ Role Configuration
Configure which roles are assigned during the verification process.
Default Roles
Default roles are given to all verified users, regardless of their email domain.
| Command | Description |
|---|---|
/role add <role> |
Add a role to the default roles list |
/role remove <role> |
Remove a role from the default roles list |
/role list |
View all configured default roles |
/role unverified [role] |
Set or view the optional role for unverified members (select current role to disable) |
Domain-Specific Roles
Assign different roles based on which email domain the user verifies with. Users receive their domain-specific roles plus any default roles.
| Command | Description |
|---|---|
/domainrole add <domain> <role> |
Add a role for a specific email domain |
/domainrole remove <domain> <role> |
Remove a role from a specific domain |
/domainrole list |
View all domain-role mappings |
/domainrole clear <domain> |
Remove all roles for a specific domain |
Domain Role Examples
| Setup | Result |
|---|---|
Default: @MemberDomain: @*.edu โ @Student |
User with @stanford.edu gets: @Student, @Member |
Default: @VerifiedDomain: @company.com โ @Employee, @Staff |
User with @company.com gets: @Employee, @Staff, @Verified |
Domain: @*.harvard.edu โ @HarvardDomain: @*.edu โ @Student |
User with @cs.harvard.edu gets: @Harvard, @Student (all matching patterns) |
๐ก Tip: When using
/domainrole add, the domain field autocompletes with your configured domains from/domain add.
๐ง Domain Management
Control which email domains are allowed for verification.
| Command | Description |
|---|---|
/domain add <domains> |
Add allowed email domains (comma-separated for multiple) |
/domain remove <domains> |
Remove allowed domains |
/domain list |
View all currently allowed domains |
/domain clear |
Remove all allowed domains |
Wildcard Support
Use * as a wildcard to match any text:
| Pattern | Matches | Example |
|---|---|---|
@gmail.com |
Only Gmail | user@gmail.com โ |
@*.edu |
Any .edu domain | user@stanford.edu โ, user@mit.edu โ |
@*.harvard.edu |
Harvard subdomains | user@cs.harvard.edu โ, user@law.harvard.edu โ |
@company.com |
Specific company | user@company.com โ |
๐ซ Blacklist Management
Block specific email addresses or patterns from verifying. Supports * wildcard.
| Command | Description |
|---|---|
/blacklist add <patterns> |
Add patterns to the blacklist (supports * wildcard) |
/blacklist remove <patterns> |
Remove patterns from the blacklist |
/blacklist list |
View all blacklisted entries |
/blacklist clear |
Remove all entries from the blacklist |
Blacklist Wildcard Examples
| Pattern | Blocks | Example Matches |
|---|---|---|
spam@example.com |
Specific email | spam@example.com |
*@tempmail.* |
All tempmail domains | user@tempmail.com, test@tempmail.net |
*spam* |
Emails containing "spam" | spam@gmail.com, myspammail@test.com |
test*@* |
Emails starting with "test" | test123@gmail.com, testuser@company.com |
โ๏ธ Settings
Configure bot behavior and preferences.
| Command | Description |
|---|---|
/settings language <language> |
Change the bot's display language |
/settings log-channel [channel] |
Set a channel for verification logs (leave empty to disable) |
/settings verify-message [message] |
Set a custom message for verification emails (leave empty for default) |
/settings auto-verify <enable> |
Automatically prompt new members to verify when they join |
/settings auto-unverified <enable> |
Automatically assign the unverified role to new members |
/settings email-style <plain\|styled> [confirm] |
Choose plain text (default) or HTML rendering for verification emails. Switching to styled requires confirm:True because HTML mail is more likely to be filtered as spam. |
/settings mail-mode <free\|zeptomail> |
Choose how verification emails leave the bot. free (default) uses the operator's self-SMTP server with the 25/month free quota. zeptomail is an opt-in credit-funded mode: no free quota โ every verification routes through Zoho ZeptoMail and costs 1 bonus credit. Auto-disables back to free when credits hit 0 and notifies the server owner. Requires bonus credits to enable. |
๐ก๏ธ Moderation & Setup
| Command | Description |
|---|---|
/button <channel> <buttontext> [title] [message] [color] |
Create a verification button embed in a channel |
/manualverify <user> <email> |
Manually verify a user without email confirmation |
/set_error_notify owner |
Send error notifications to the server owner (default) |
/set_error_notify channel <channel> |
Send error notifications to a specific channel |
/set_error_notify user <user> |
Send error notifications to a specific user via DM |
/set_error_notify status |
View current error notification settings |
๐ Premium
Manage paid plans, credit packs, and the CSV unlock.
| Command | Description |
|---|---|
/premium status |
Show this server's current plan, monthly email usage, remaining bonus credits, and CSV unlock status |
/premium redeem |
Apply purchases (credit packs, CSV unlock) to this server |
How redemption works
EmailVerify's premium features are sold through Discord's native subscription and consumable system. There is one important detail to know:
Purchases are bound per server, not per user.
When you click a Premium button (in
/premium statusor in the limit-reached embed) and complete the purchase in Discord, the credits or unlock you bought are not yet active. You must run/premium redeeminside the Discord server where you want the purchase to apply. Subscriptions track the server selected at the time of purchase. Credit packs and the CSV unlock are consumed by/premium redeemand become permanently bound to that server โ they cannot be transferred to another server afterwards.
If /premium redeem reports "no unredeemed purchases", check that:
- you are running the command in the correct server (the one you want the benefit applied to);
- you are using the same Discord account that completed the purchase;
- the purchase has finished processing (Discord usually takes 1โ2 minutes).
What free users get
Each server gets a small monthly free quota of verification emails (default 25 per month). The bot will warn admins via the configured error-notification channel as the quota approaches: at 80%, at 95%, and again when the limit is reached. Quota resets at the start of each calendar month.
Mail delivery modes
Non-subscribed servers can pick which delivery path to use via
/settings mail-mode:
free(default) โ Verification emails are sent through the operator's self-SMTP server (mail.larskaesberg.de). The 25/month free quota applies. Bonus credits, if any, are consumed as overflow once the free quota is gone.zeptomail(credit-funded) โ Every verification routes through Zoho ZeptoMail (EU endpoint, premium deliverability) and costs 1 bonus credit per send. The 25/month free quota is not used in this mode. When credits reach 0, the server is automatically switched back tofreemode and the owner is notified.
Subscribed servers (Standard or Pro) always use ZeptoMail with unlimited
verifications โ the mail-mode setting is ignored while a subscription is
active. If ZeptoMail is ever unreachable, the bot falls back to self-SMTP and
notifies the operator.
๐ Information
| Command | Description |
|---|---|
/status |
View bot configuration, verification statistics, and check for setup issues |
/help |
Show setup instructions and command overview |
โ ๏ธ Data Management (Danger Zone)
| Command | Description |
|---|---|
/data delete-server |
Delete all server data and remove the bot from the server |
โ ๏ธ Important Notes
Role Hierarchy
The EmailBot role must be higher in the role hierarchy than both the verified and unverified roles. Otherwise, you'll see this error:
Can't find roles. Please contact the admin!

Unverified Role Usage
The unverified role can be used to:
- Make a verification channel visible only to unverified users
- Restrict access to most channels until users verify
- Combined with /settings auto-unverified, automatically restrict new members
Role Display in Verification
When domain-specific roles are configured, the verification modal shows users which roles they will receive:
This helps users understand what access they'll get before verifying.