Absolet’s verification system lets you place a gate between new members and the rest of your server. Until a user completes the verification step they won’t receive the member role, keeping bots and low-effort raiders from accessing your channels. You can choose between a CAPTCHA challenge that requires reading a generated image, or a one-click direct method for communities that prefer a lighter touch.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/devjhoan/absolet/llms.txt
Use this file to discover all available pages before exploring further.
Verification Types
Captcha
The CAPTCHA method generates a unique 450 × 150 px PNG image using@napi-rs/canvas with a random 7-character uppercase word rendered in the custom deToks font at 70 px. The text is drawn centred on a transparent canvas. The user is shown the image alongside five buttons, each labelled with a different 7-character word string. Only one button matches the word in the image.
- ✅ Correct answer — the bot grants the configured role and replies with the
UserVerifiedEmbed. - ❌ Wrong answer — the bot replies with the
VerificationIncorrectEmbed. All buttons are disabled and colour-coded (the correct answer turns green, all wrong answers turn red) so the user can see what they missed before retrying.
ephemeral: true, only the member attempting verification can see the challenge — no spam in your public channels.
Direct
The direct method skips the image challenge entirely. The user simply clicks the Verify button in the verification panel and the bot immediately grants the configured role. This method is ideal for servers that use other screening mechanisms (such as Discord’s built-in membership screening or a rules agreement) and just need an easy role-grant trigger.Setup
Configure the verification role
Run
/setup and navigate to Verification Settings. Set the roleId to the Discord role you want new members to receive upon successful verification. This role is stored in guildData.verifySettings.roleId.Choose a verification type
Still in
/setup → Verification Settings, set the verification type to either captcha or direct. This is stored in guildData.verifySettings.type and defaults to captcha for new guilds.Post the verification panel
Run The bot posts an embed defined by the
/verify in any channel (or pass an optional channel argument to target a specific channel):VerificationMainEmbed key in messages.yml, along with a single Verify button whose label, emoji, and style are all configurable under Buttons.Verification in messages.yml.Members click Verify
When a new member clicks the button, the bot checks their guild’s
verifySettings:direct— role is granted immediately with no further interaction.captcha— a private CAPTCHA challenge is sent as an ephemeral follow-up. On success the role is granted; on failure the result is shown inline without a re-prompt (the member must click the original Verify button again to retry).
Customising the Panel Embed
The verification panel embed is fully customisable viaconfig/messages.yml. Look for the VerificationMainEmbed key to adjust the title, description, colour, and footer. The {guild-name} placeholder is replaced at send time with the server’s display name.
You must run
/verify again after editing messages.yml for the changes to appear in the channel. The previously posted panel will not update automatically.How the CAPTCHA is Generated
The image is produced by thegenerateCaptcha helper (src/helpers/images/generateCaptcha.ts):