Captcha

Live

Captcha

Captcha settings: challenge mode, type, random types, timeout, attempts, fail action and topics.

Tip: change one option at a time and verify the result in the group so false positives are easy to spot.

In short

Captcha protects new members and join requests. Choose the simplest challenge that stops the attack without hurting real users.

How it works

  1. A new member joins the chat or submits a join request, depending on the selected mode.
  2. Defendy presents the selected challenge and starts the timer and attempt counter.
  3. A correct answer restores ordinary group permissions or approves a join request. Timeout or exhausted attempts triggers the consequences for the selected mode, explained below.

Set it up step by step

  1. Open Settings in your private chat with @defendy_bot, select the group under My groups, then open Captcha.
  2. Choose the mode, challenge, time limit and failure action. Use a test group for the first trial.
  3. Test with a new ordinary member. See CAPTCHA setup for the full sequence and how to check both outcomes.

Every setting explained

Enable captcha

Default: Off.

Turns verification on for new members or join requests.

Captcha mode

Default: In group.

In group checks members after joining; Join requests sends a private challenge before approving admission.

Captcha type

Default: Button.

Button, Math, Emoji, Question or Random. Adaptive mode is not available in the current Mini App.

Random type pool

Default: Button, Math, Emoji, Question.

Challenge types used in random mode. At least one type must remain enabled; the WebApp blocks turning off the last one.

Timeout

Default: 300 sec.

How long a member has to pass the challenge. The WebApp offers 30, 60, 90, 120, 180 or 300 seconds; the API accepts up to 600 seconds.

Attempts

Default: 1.

The number of wrong answers that ends the challenge: 1, 2, 3 or 5. With 1 selected, the first wrong answer fails the challenge.

Fail action

Default: Kick.

In group mode applies kick, mute or ban. In Join requests mode, failure declines the application; selecting ban additionally attempts to block the account. Selecting mute for join requests does not create a temporary in-group mute.

Fail-action duration

Default: 0.

The form shows a duration for mute and ban, but the reviewed implementation applies it only to an in-group mute. For that mute, 0 means no expiry; a temporary mute lasts at least 60 seconds. Changing the action resets the duration to 0, so choose a finite value again if needed.

Neither CAPTCHA mode passes the selected ban duration to Telegram. A displayed duration is not a promise of a temporary ban. An applied ban needs to be removed separately; disabling CAPTCHA does not reverse it.

Captcha topic

Default: Not set.

Optional forum topic for captcha messages in in-chat mode.

Set captcha topic

Default: Not set.

When group topics are enabled and captcha works in chat, turn off Use global topic and send /setcaptchatopic inside the target topic.

Practical example

Start with an in-group button challenge in a test group: five minutes, one attempt and kick. Join as a new ordinary member and test success and timeout. To test incorrect answers, temporarily select Math or another challenge with wrong options; the simple button has no such choice.

Recommendations

  • Button captcha is usually best for low-risk groups.
  • Join-request mode changes the user journey; test it before enabling in a large group.

Troubleshooting

  • Check that Defendy is still an administrator in the group.
  • Refresh the settings panel and make sure you are editing the correct group.
  • If a setting is saved but does not work, check the bot permissions in Telegram.
  • If logging is connected and the relevant category is enabled, check the event record. The log cannot show events that were not recorded.

Need help?

If a setting behaves differently than expected, contact support.@ubotz