Пытаюсь сделать капчу по документации, скопировала все как у них, запустила и он мне вот такую ошибку выдает:
ImportError: cannot import name 'CaptchaManager' from partially initialized module 'pyTelegramBotCAPTCHA' (most likely due to a circular import) (C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\pyTelegramBotCAPTCHA\__init__.py)
Вот сам код с капчей:
from telebot import TeleBot
from pyTelegramBotCAPTCHA import CaptchaManager
bot = TeleBot("6********************************************")
captcha_manager = CaptchaManager(bot.get_me(999).id)
# Обработчик сообщений для новых участников
@bot.message_handler(content_types=["new_chat_members"])
def new_member(message):
for new_user in message.new_chat_members:
captcha_manager.restrict_chat_member(bot, message.chat.id, new_user.id)
captcha_manager.send_new_captcha(bot, message.chat, new_user)
# Обработчик обратного вызова запроса
@bot.callback_query_handler(func=lambda callback:True)
def on_callback(callback):
captcha_manager.update_captcha(bot, callback)
# Обработчик правильно решенных CAPTCHA
@captcha_manager.on_captcha_correct
def on_correct(captcha):
bot.send_message(captcha.chat.id, "Поздравляем! Вы разгадали капчу!")
captcha_manager.unrestrict_chat_member(bot, captcha.chat.id, captcha.user.id)
captcha_manager.delete_captcha(bot, captcha)
# Обработчик неправильно решенных CAPTCHA
@captcha_manager.on_captcha_not_correct
def on_not_correct(captcha):
if (captcha.incorrect_digits == 1 and captcha.previous_tries < 2):
captcha_manager.refresh_captcha(bot, captcha)
else:
bot.kick_chat_member(captcha.chat.id, captcha.user.id)
bot.send_message(captcha.chat.id, f"{captcha.user.first_name} не справился с CAPTCHA и был забанен!")
captcha_manager.delete_captcha(bot, captcha)
# Обработчик тайм-аута CAPTCHAS
@captcha_manager.on_captcha_timeout
def on_timeout(captcha):
bot.kick_chat_member(captcha.chat.id, captcha.user.id)
bot.send_message(captcha.chat.id, f"{captcha.user.first_name} не справился с CAPTCHA и был забанен!")
captcha_manager.delete_captcha(bot, captcha)
bot.polling()