Captcha verification
Cloudflare Turnstile for every new member.

Captcha rules post a Verify button in the channel you pick, send the member to a hosted Turnstile page, and run the role, permission, or message actions you set when verification clears.

discord/telegram/turnstile/core feature
01overview

How a captcha rule works

A captcha rule connects a dashboard-configured verification prompt to a hosted page. Flake posts the prompt with a Verify button, validates the Turnstile token after a member completes it, and runs the success actions for that rule.

Hosted Verification Page
Members click a Verify button and complete Cloudflare Turnstile captcha on a Flake-hosted page
Custom Verification Message
Configure the channel, message copy, and button prompt from the dashboard
Persistent or Per-User Prompts
Use one persistent verification post or send a separate request when each member joins
Join, Verify, Timeout Stages
Run different actions before verification, after success, or when a request expires
Role and Permission Control
Limit access before verification, then grant the right Discord roles or Telegram permissions after success
Automatic Cleanup
Optionally remove verification request messages after successful verification
02setup

Five steps from new rule to live

Each step lines up with a section of the captcha rule editor in the dashboard. Keep the rule disabled until the message and flow actions are ready.

  1. 01

    Create a Captcha Rule

    Start from the Captcha section of your server dashboard

    • 01Open the server dashboard and select Captcha
    • 02Create a new captcha rule
    • 03Give the rule a clear name so moderators know what it controls
    • 04Keep the rule disabled until the message and flow actions are ready
  2. 02

    Configure the Verification Message

    Choose where Flake posts the prompt and what it says

    • 01Write the custom message that explains why members need to verify
    • 02Select the verification channel where the prompt should be posted
    • 03Use template variables when the message should mention the member or server
    • 04Decide whether the prompt is persistent or sent separately for each joining member
  3. 03

    Choose Prompt Behavior

    Decide whether members share a prompt or receive their own

    • 01Persistent messages create one long-lived verification prompt with a Verify button
    • 02Per-user messages are sent when a member joins
    • 03For per-user messages, set a cleanup delay if the request should be removed after verification
    • 04Leave cleanup delay empty when the request should stay visible
  4. 04

    Add Flow Actions

    Configure what happens on join, on verify, and on timeout

    • 01Use On Join to restrict access or send setup instructions before verification
    • 02Use On Verified to restore access, assign roles, or post a welcome message
    • 03Use On Timeout to kick inactive members or keep restrictions in place
    • 04Set a timeout duration when unverified members should expire automatically
  5. 05

    Save and Enable

    Review the rule, save it, and turn it on

    • 01Confirm the bot can post in the verification channel
    • 02Confirm the bot can manage the roles or permissions used by your actions
    • 03Save the captcha rule
    • 04Enable Captcha Verification when the flow is ready for new members

ready to configure

Open the dashboard and create a captcha rule.

The rule editor is under Captcha in your server settings. Keep the rule disabled while you draft, then enable it once the actions and channel are set up.

03verification flow

Three stages, run in order

Each stage runs against the member individually. Configure actions for the stages you actually need; the others stay empty.

flow
3 stages
  1. 01On Join

    Before Verification

    Runs as soon as a member joins and a verification request is created.

    Use this stage to prepare the member and limit access.

    • +Post verification instructions
    • +Assign a waiting-room role
    • +Limit Telegram permissions
  2. 02On Verified

    After Turnstile Passes

    Runs after the member logs in, completes Turnstile, and Flake validates the token.

    Use this stage to restore normal access.

    • +Grant the member role
    • +Revoke a restricted role
    • +Send a welcome or next-step message
  3. 03On Timeout

    When Verification Expires

    Runs when the timeout duration passes before the member completes verification.

    Use this stage to avoid leaving members in an undefined state.

    • +Kick inactive members
    • +Post a final notice
    • +Keep restricted permissions active
04actions

Available actions

Action availability shifts by platform and stage. Discord rules lean on roles; Telegram rules lean on permissions. Both can post messages.

  • Post Message

    Send a templated message during a verification flow stage.

    Post "Thanks for verifying" in the verification channel

  • Grant Role

    Assign Discord roles when a member reaches a stage.

    Grant the Member role after successful verification

  • Revoke Role

    Remove Discord roles that were used as temporary limits.

    Remove the Unverified role after success

  • Grant Permissions

    Restore Telegram permissions for verified users.

    Allow sending messages after verification

  • Revoke Permissions

    Temporarily limit Telegram permissions before verification.

    Prevent posting until Turnstile is completed

  • Kick or Ban

    Remove members who should not remain in the server after timeout or failure handling.

    Kick a member when verification times out

05use cases

Common configurations

The same three flow stages compose into very different gates depending on the platform and the kind of member you’re filtering.

  1. case · 01

    Discord Waiting Room

    Place new Discord members in a restricted role until they verify.

    • 01Post the verification prompt in a welcome or verify channel
    • 02On Join, grant an Unverified role
    • 03On Verified, revoke Unverified and grant Member
    • 04On Timeout, kick the member or leave the restriction in place

    outcomeNew members can see the verification instructions but cannot access the full server until they pass Turnstile.

  2. case · 02

    Telegram Permission Gate

    Restrict a new Telegram member until they complete the hosted captcha verification.

    • 01Send a per-user verification message on join
    • 02On Join, revoke message permissions
    • 03On Verified, grant message permissions back
    • 04On Timeout, keep permissions limited or kick the user

    outcomeSpam accounts cannot post freely while legitimate members can regain access after verification.

  3. case · 03

    Persistent Verify Channel

    Use one long-lived message so members always know where to verify.

    • 01Enable Persistent Message in the verification message card
    • 02Write a short prompt that explains the Verify button
    • 03Use On Verified actions to grant normal access
    • 04Use a timeout when old verification requests should expire

    outcomeModerators maintain a clean verification channel without reposting instructions for every member.

06troubleshooting

Common issues

still stuck

Talk to the people who wrote the code.

Support is run by the same team that ships the product. Both rooms below are watched during working hours, and answers do not go through a tier-one queue.

end of page