From b933487c47a538dd275860d9226c30c60834514d Mon Sep 17 00:00:00 2001 From: Alexander Date: Fri, 6 Sep 2024 15:09:46 -0400 Subject: [PATCH] added deleting the captcha if user leaves --- app/custom.py | 2 ++ app/main.py | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/app/custom.py b/app/custom.py index d199cec..72cc918 100644 --- a/app/custom.py +++ b/app/custom.py @@ -52,6 +52,8 @@ async def solve_captcha(update, context, user_data): msg = await update.callback_query.edit_message_text(text=text, reply_markup=reply_markup) else: msg = await update.message.reply_photo("{}/{}".format(os.getenv('DATA_FOLDER'), user_data["captcha_file"]), caption=text, reply_markup=reply_markup) + user_data['captcha_message_id'] = msg.message_id + save_case_file(update.message.chat.id, user_data) context.job_queue.run_once(delete_message, int(os.getenv('CAPTCHA_EXPIRES')), data={'chat_id': msg.chat_id, 'message_id': msg.message_id}) diff --git a/app/main.py b/app/main.py index ec8e02e..9bf374d 100644 --- a/app/main.py +++ b/app/main.py @@ -73,6 +73,12 @@ async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE) -> await solve_captcha(update, context, user_data) return + # new user leaves the chat before completing the captcha + elif 'left_chat_participant' in update.message.api_kwargs: + user_data = load_case_file(update.message.chat_id, update.message.api_kwargs['left_chat_participant']['id']) + if not user_data['captcha_solved']: + await context.bot.delete_message(chat_id=update.message.chat_id, message_id=user_data['captcha_message_id']) + async def menu_button(update: Update, context: ContextTypes.DEFAULT_TYPE): query = update.callback_query