Age Verification ensures every member is genuinely 18+ before entering Masquerade. Our system balances safety, privacy, and efficiency by combining user-provided photos with automated checks, guided flows, and Bouncer review.
Masquerade uses a semi-automated verification system powered by Elias — The Attendant and Rico Rojo — Master of Ceremonies.
Here is the exact flow:
The user opens a verification ticket
They are prompted to submit:
Date of Birth
Current Age
A private thread is created automatically
Only the user, Bouncers, and Admins can see it.
The Staff roles are quietly added — no pings yet.
The user sends their verification photo(s)
The bot detects the image.
The user receives a Submit button.
Pressing the button:
Stores their user ID as the ticket’s “User”
Alerts the Bouncer role with a ping
Prepares the ticket for review
Bouncer reviews the submission
The Bouncer clicks the Action Menu on the ping message. They can choose:
Verify
Deny
Unset (rarely needed—used only if the wrong user was bound to the ticket)
Verification Type Selection
If verifying, the Bouncer chooses:
ID18+ (standard ID + paper + selfie verification)
Partner (trusted partner verification)
Bot displays the exact DOB cutoff date (e.g., “User is 18+ if DOB is on or before 11/16/07”)
Confirmation
Bouncer: “Are you sure you want to verify this user?”
If yes:
Verification roles are automatically applied
A verification log is generated automatically (to #mod-logs)
The user is notified
Ticket Closure
The user is reminded to delete photos before closing
Bouncer to use /ticket requestclose to trigger timed closure
Age Verification tickets do NOT generate transcripts
To keep verification tickets moving — and to prevent stale or abandoned threads — staff must manually trigger the autoclose timer. This is handled through two quick staff-only commands:
If no one has said anything yet (no user message, no staff message, no denial post):
Type vgreet
This sends a short greeting that prompts the member to submit their verification photos.
More importantly, it officially starts the autoclose countdown.
Use this immediately after a new ticket appears and you see a completely empty conversation.
If any message is already in the ticket — from the user or from staff — or if a denial message was posted:
Type blank
This sends a clean, invisible staff message that restarts the autoclose timer without cluttering the thread.
Use this when the member stalls, stops responding, or the review enters a second round and you need the countdown running again.
Masquerade requires two photos for ID + Selfie verification:
Full-face selfie holding a handwritten paper with
Today’s date
Verification ticket number
Discord username
ID photo held next to the same handwritten paper
The ID must show photo and date of birth.
Everything else may be blurred out.
Check the following:
Both required photos are present
Selfie + paper
ID + paper
All details match
Same date and ticket number
Same username
ID appears legitimate
DOB aligns with the cutoff date
Content is clear and readable
Not too dark
Not blurry
Text clearly visible
Photos appear genuine
Watch for:
Heavy edits
Strange cropping
Blurred or mismatched faces
Signs of manipulation
The user appears to be 18+
If something feels off → escalate.
Used when a member is already age-verified in a Trusted Partner server.
Required Proof
One (1) screenshot or short screen recording showing:
The user’s Discord username
The partner server name or icon
Their age-verified role in that server
What Bouncers Check
The server is on the Trusted Partner List
Username matches this ticket
The verified role is legitimate (not cosmetic)
Screenshot/video is clear and unedited
No suspicious cropping or mismatched profile info
If Approved
Select Partner during verification
Confirm → bot applies roles, logs, and prompts closure
If Denied
User may:
Resubmit correct partner proof
Or switch to ID Verification
Escalate if:
Server isn’t recognized
Role seems fake or unsafe
Screenshot appears altered
Something feels “off”
Missing Required Content
Only one of two required photos provided
Missing handwritten paper
Missing date, ticket number, or username
Unreadable or unclear photos
Too dark
Too blurry
Glare obscures details
Face partially covered or shadowed
Camera too far away
Incorrect file type
Photos submitted as HEIC
(We do not download files; user must resend as PNG/JPG.)
Suspicious or inconsistent submission
ID doesn’t match the selfie
Ticket number is incorrect
Signs of editing
Information inconsistent with DOB/appearance
Partner Verification issues
Screenshot missing username/server/role
Server not on Trusted Partner list
Role does not confirm age
Bot will:
Apply Verified roles
Post a verification log
Notify the member
Bouncer should:
Encourage user to delete their verification photos
Run:
/ticket requestclose reason:Verified timeout:1h
Bot opens a denial form.
Bouncer should:
Choose the correct reason
Add comments if needed
Encourage the user to correct and resubmit
Escalate immediately if:
The user appears underage
ID/DOB conflict
Photos look altered or suspicious
The user attempts to circumvent verification
They show hostility, defensiveness, or inconsistent information
Partner verification comes from an unknown or questionable server
You’re simply unsure
When in doubt → escalate.