Skip to content

CAPTCHA

Rose can help fight bots in your group by using her built-in CAPTCHA features.

The basic flow of this is as follows:

  • User joins group for the first time
  • User gets muted by Rose's CAPTCHA
  • User gets a welcome message, with a button asking to solve the CAPTCHA
  • Depending on the captcha results, different things happen:
    • If the user solves the captcha, they get unmuted, and continue as normal.
    • If the user doesn't solve the captcha, they remain muted (or get kicked, depending on settings)
    • If the user fails the captcha (eg, gets the wrong answers), they get temporarily banned.

With multiple different settings, there are options for every scenario!

Tip

If you use join requests in your group, Rose will send the CAPTCHA straight to the user's PM when they request to join!

Enabling CAPTCHAs

To enable CAPTCHAs, use the following command:

/captcha on

And to disable them, use:

/captcha off

Note

To use CAPTCHAs, you MUST have welcome messages enabled!

Changing CAPTCHA mode

The /captchamode command allows for changing between different CAPTCHA modes.

For example, to set the captchamode to text2 (the hardest mode), use the following:

/captchamode text2

The other CAPTCHA modes are described in detail below:

Button

The button CAPTCHA is the simplest setting, and the default. It just requires users to press the button under the welcome message to solve it. captcha-button.png

Text

The text CAPTCHA requires users to select the text which matches the picture to complete the CAPTCHA.

Users will be presented with a button similar to the button captcha, which will redirect them to the private chat with Rose. Once there, the user must then select the correct answer from a list of possible solutions.

captcha-text.png

Math

The math CAPTCHA requires users to solve a basic math question to complete the CAPTCHA.

Users will be presented with a button similar to the button captcha, which will redirect them to the private chat with Rose. Once there, the user must then select the correct answer from a list of possible solutions.

captcha-math.png

Text2

The text2 CAPTCHA is the most advanced and safest setting available.

Users will be presented with a button similar to the button captcha, which will redirect them to the private chat with Rose. Once there, the user must select the individual characters which match the picture to complete the CAPTCHA. captcha-text2.png

Customising The CAPTCHA Button

You might want to customise the button that gets added to your welcome message. This may be to change the text to make it clearer to your users, or to change the language; up to you! Like the rest of your welcome message, you can customise it.

To set the displayed text, use the command below, followed by the text you wish to be shown on the button:

/setcaptchatext <new button text>

By default, the text shown on the CAPTCHA button is "Click here to prove you're human". If at any time you wish to reset your unmute button text to this default string, issue the below command:

/resetcaptchatext

Note

Remember, only plaintext is allowed in your button text. This means you cannot use any markdown, and you also cannot use any variables such as {username}.

Other CAPTCHA settings

Using Join Requests

Telegram's join request feature allows for limiting access to your group such that only people that have been approved can see the group. And CAPTCHAs will work with this just fine!

All you need to do is to create an invitelink which has join requests enabled (also called "admin approval" on some clients), and give Rose the permission to "add users" - and the rest is al automatic. Users that try to use this link will press "request to join" button, which will make Rose send them a message to solve the CAPTCHA. Once the CAPTCHA is solved, they'll be accepted into the group.

This can be a VERY powerful way of protecting your group from both raids and spammers - it essentially allows you to create a join portal for your group, where users can only see the group's members and contents once they've solved the CAPTCHA.

Join Request Process

Curious about what the joinrequest process looks like? These are the steps that a use goes through when using join requests:

  1. User finds your group link, and presses "request to join".
  2. Rose sends them a private message, asking them to press a button to start the CAPTCHA.
  3. User presses the button, which begins the CAPTCHA process.
  4. If CAPTCHA rules are enabled, the user is asked to accept them.
  5. Once done, the user is accepted into the group.
  6. Finally, they are welcomed into the group with the welcome message. You might want to keep this short!

CAPTCHA kicks

If a user hasn't solved the CAPTCHA after a certain time, it may be a good idea to kick them. That way, you don't risk filling your member list with muted users. It also has the perk of forcing users that didn't notice the CAPTCHA to rejoin your group; maybe they'll pay more attention next time.

You can use this feature by enabling CAPTCHA kicks; to do so, use the following command:

/captchakick on

And to disable it, use:

/captchakick off

Once you've enabled CAPTCHA kicks, you may also want to change the duration after which to kick the user. The default duration is 5 minutes, and values can be between 5 minutes and 1 day. You can change the time with the following command:

/captchakicktime <time>

The <time> argument is set according to the following table:

Option Description
Xm X minutes
Xh X hours
Xd X days
Xw X weeks

CAPTCHA rules

Something else you might want to do, is to make sure your users accept the rules before joining your group. And what better place than to make that part of your CAPTCHA?

Enabling CAPTCHA rules will show your rules to any new members as part of the CAPTCHA process. You can enable it like so:

/captcharules on

And disable it like so:

/captcharules off

CAPTCHA mute time

Note

Careful with this setting; you may end up unmuting spammers. We typically recommend using captchakicks instead.

What if a user just doesn't see the message or button, but you still want to trust them? No problem at all! If a user still hasn't pressed the "unmute" button after a certain amount of time, you can have Rose automatically unmute them. To configure this, issue the below command:

/captchamutetime <time>

The <time> argument can be set following the below table:

Option Description
Xm X minutes
Xh X hours
Xd X days
Xw X weeks

Example

If you want to make sure that any user that has joined gets unmuted after 12 hours, you would issue the below command:

/captchamutetime 12h

If you want to disable this, and therefore make sure that users remain muted forever until they solve the CAPTCHA (the recommend option!), you can disable captchatime again as follows:

/captchamutetime off