from aiogram import types from aiogram.types.chat_permissions import ChatPermissions from load import dp, bot, config from keyboards.inline.keyboard import verify_button from utils.timer import timer_manager, KickTimer async def captcha_kick_user(message: types.Message, chat_id: int, user_id:int): print("asdasdasd") try: await bot.ban_chat_member(chat_id=chat_id, user_id=user_id) except Exception: pass await bot.unban_chat_member(chat_id, user_id, only_if_banned=True) await message.delete() try: await bot.send_message(user_id, "Время вышло!") except Exception: pass state = dp.current_state(chat=user_id, user=user_id) await state.finish() @dp.message_handler(is_chat=True, content_types=["new_chat_members"]) async def on_join(message: types.Message): user_id = message.from_user.id chat_id = message.chat.id try: await bot.restrict_chat_member( chat_id=chat_id, user_id=user_id, permissions=ChatPermissions(can_send_messages=False) ) except Exception: return hello_message = ( "Привет, {name}! " "Для того чтобы удостоверится что ты наш игрок, мы попросим пройти верификацию!\n" "У вас есть 2 минуты на прохождение верификации!" ) me = await bot.get_me() captcha_message = await bot.send_message( message.chat.id, hello_message.format(user_id=user_id, name=message.from_user.first_name), reply_markup=verify_button(message.from_user, me.username) ) timer_manager.add_timer(user_id, captcha_message, KickTimer(int(config['Bot']['verify_timeout']), captcha_kick_user, args=[captcha_message, chat_id, user_id])) #Timer(int(config['Bot']['verify_timeout']), captcha_kick_user, args=[captcha_message, chat_id, user_id]) await message.delete()