Plugins

Verification

Premium
Maths-captcha gate for new members — panels, granted roles, rate limiting and panel branding.

Cloudy posts a panel with a Verify button. A member clicks it, answers a simple arithmetic question — an addition, subtraction or multiplication of small numbers — and on the correct answer receives the roles configured on that panel. A wrong answer costs an attempt.

LicensePremium
TabsPanels · Settings
NeedsManage Roles, and Cloudy's role above every granted role · in the panel channel: View Channel, Send Messages, Embed Links, Read Message History

How it actually gates the server

The panel alone protects nothing. The protection comes from your channel permissions:

Deny @everyone

In every channel except #verify, remove View Channel for @everyone.

Allow the verified role

Give the role your panel grants View Channel on the channels members should see after verifying.

Leave #verify visible

@everyone needs View Channel and Read Message History there — and nothing else. They should not be able to post.

Without those permissions, unverified members already see the whole server and the captcha is decoration.

Panels

Each panel is one Discord message with two buttons: Verify and Remove Verify, which takes the panel's roles away from the member who clicks it. You can have several panels — different channels, different roles.

Channel

Required · fixed after creation

Where the panel message is posted. To move a panel, delete it and create a new one.

Granted roles

1–10 roles · required

Assigned to the member after they solve the captcha. All of them, at once.

Cloudy's own role must sit above every role listed here in Server Settings → Roles. If it does not, the member is told that verification succeeded but a role could not be assigned — and an admin has to fix the hierarchy. Remove Verify cannot take such a role away either; the member is told to ask an admin.

The bot posts a new panel within about 30 seconds; the list shows posting… until it has. If Cloudy may not post in that channel (Send Messages or Embed Links missing), it keeps trying every few minutes — fix the permission and the panel appears within about five minutes. Deleting takes the Discord message down first, then the entry. Deleting the panel message — or its whole channel — in Discord removes the panel too.

Settings

Guild-wide — they apply to every panel.

Max failed attempts

1–50 · default 5

How many wrong answers a member may submit before they are temporarily locked out.

Lockout window

0–3600 seconds, in steps of 30 · default 600 (10 minutes)

How long the failed-attempt counter — and therefore the lockout — lasts before it resets. Setting it to 0 disables the window entirely, which effectively removes the lockout; a wrong answer then just asks the member to try again, without an attempts counter.

The two settings work together: 5 attempts per 10 minutes means a member who fails five times waits out the rest of the window before trying again.

Captcha lifetime

1–60 minutes · default 5

How long a started verification stays valid. Click Verify, walk away for longer than this, and the answer is no longer accepted — the member clicks Verify again for a fresh question.

Short is good here. A long lifetime lets someone collect a question, solve it elsewhere and submit it much later.

Panel branding

Every field is optional; leave it empty for the built-in default in your server's language. The defaults below are the English ones.

FieldLimitDefault
Panel title256 characters🔐 Verification
Panel description2000 charactersClick the button below to verify your account. followed by the roles the panel grants
Button label80 charactersVerify
Success message2000 charactersYou have been verified in your server! followed by the roles assigned

The panel and the success message can also be designed as full embeds with the embed builder.

Branding changes are re-rendered into the existing Discord message — you do not lose the panel or its button by editing the text.

Behaviour notes

  • The success message is shown only to the member who verified (ephemeral). It does not spam the channel.
  • Someone who already holds the roles and verifies again simply keeps them. Remove Verify lets a member drop the panel's roles themselves.
  • If a member leaves and rejoins, they verify again — Discord does not restore roles on rejoin.
  • A member who holds the raid quarantine role or the new-account role from Moderation cannot verify: the verified role would lift that restriction. They are told their account is being reviewed; once a moderator removes the role, they verify normally.
  • Only the newest captcha counts. A member who clicks Verify twice (or on two devices) and answers the older window is told the verification expired — that does not cost an attempt.
  • Members who cannot see the panel channel cannot verify. Check your permissions before assuming the plugin is broken.
  • If a role bound to a panel was deleted, verification still works — the remaining roles are granted and the deleted one is skipped. If no bound role exists any more, members are told verification failed.
  • An attempt window of 0 means no lockout at all.
  • A panel whose message or channel was deleted is removed from the list. A panel message deleted while Cloudy was offline is noticed the next time the panel is edited. If Cloudy cannot reach the channel (missing access), it retries with a growing pause instead of every 30 seconds.