@IlyaPook

Есть ли похожий капча-бот в телеграм?

Всем привет!

Недавно наткнулся на такой бот (pyTelegramBotCAPTCHA) 62b02118074f9308458176.png который отправляет капчу при вступлении в группу. Собственно, такой и нужен, НО, с другой капчей и с обычными кнопками, а не инлайн. Чтобы на капче он генерировал разные предметы: фрукты, авто и пр. И на кнопках нужно было нажимать на то, что показано на капче.

Искал очень долго и не нашел. Если такого нет, то как можно эту капчу адаптировать?

Код от pyTelegramBotCAPTCHA:

from telebot import TeleBot
from pyTelegramBotCAPTCHA import CaptchaManager
from datetime import datetime, timedelta

bot = TeleBot("TOKEN")
captcha_manager = CaptchaManager(bot.get_me().id, default_timeout=90)

MAX_TRIES = 3
MAX_WRONG_DIGITS = 2

# Message handler for new chat members
@bot.message_handler(content_types=["new_chat_members"])
def new_member(message):
    for user in message.new_chat_members:
        captcha_manager.restrict_chat_member(bot, message.chat.id, user.id)
        captcha_manager.send_random_captcha(bot, message.chat, user, timeout=60)


# Callback query handler
@bot.callback_query_handler(func=lambda callback: True)
def on_callback(callback):
    captcha_manager.update_captcha(bot, callback)


# Handler for correct solved CAPTCHAs
@captcha_manager.on_captcha_correct
def on_correct(captcha):
    bot.send_message(captcha.chat.id, "Congrats! You solved the CAPTCHA!")
    captcha_manager.unrestrict_chat_member(bot, captcha.chat.id, captcha.user.id)
    captcha_manager.delete_captcha(bot, captcha)


# Handler for wrong solved CAPTCHAs
@captcha_manager.on_captcha_not_correct
def on_not_correct(captcha):
    if (
        captcha.incorrect_digits <= MAX_WRONG_DIGITS
        and captcha.previous_tries < MAX_TRIES
    ):
        captcha_manager.refresh_captcha(bot, captcha)
    else:
        bot.kick_chat_member(
            captcha.chat.id,
            captcha.user.id,
            until_date=(datetime.now() + timedelta(hours=1)),
        )
        bot.send_message(
            captcha.chat.id,
            f"{captcha.user.first_name} failed solving the CAPTCHA and was kicked!",
        )
        captcha_manager.delete_captcha(bot, captcha)


# Handler for timed out CAPTCHAS
@captcha_manager.on_captcha_timeout
def on_timeout(captcha):
    bot.kick_chat_member(
        captcha.chat.id,
        captcha.user.id,
        until_date=(datetime.now() + timedelta(hours=1)),
    )
    bot.send_message(
        captcha.chat.id,
        f"{captcha.user.first_name} did not solve the CAPTCHA and was kicked!",
    )
    captcha_manager.delete_captcha(bot, captcha)


bot.polling()


Спасибо заранее!
  • Вопрос задан
  • 2482 просмотра
Пригласить эксперта
Ответы на вопрос 2
@nsk-realty
В Телеграм полно готовых ботов с функцией капчи. Например, https://t.me/Captcha_Rubot
Ответ написан
Комментировать
@Veramilet
То, что вы ищете есть в combot в разделе модерации. Раньше было бесплатно, но с недавнего времени только в про-версии эту функцию оставили. У него и правда самая симпатичная капча из всех, что я встречала.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы