diff --git a/webproj/bot/views.py b/webproj/bot/views.py index 6404e30..04dd153 100644 --- a/webproj/bot/views.py +++ b/webproj/bot/views.py @@ -272,6 +272,17 @@ class WebHookView(View): secret = '' while len(secret) < telegramGroupPreferences.captcha_digits: secret += random.choice(telegramGroupPreferences.captcha_chars) + models.PendingCaptchaUser.objects.filter(group=telegramGroup, user=telegramMember).delete() + pcu = models.PendingCaptchaUser( + bot_token=telegram, + user=telegramMember, + group=telegramGroup, + captcha_answer=secret, + attempts_left=telegramGroupPreferences.captcha_attempts, + lifetime=telegramGroupPreferences.captcha_timeout, + captcha_message_id=0, + ) + pcu.save() imbytes = imageCaptcha.generate(secret) captcha_message = (telegramGroupPreferences.captcha_first_message .replace('{NAME}', telegramMember.name) @@ -289,16 +300,8 @@ class WebHookView(View): photo=imbytes, caption=captcha_message, ) - models.PendingCaptchaUser.objects.filter(group=telegramGroup, user=telegramMember).delete() - models.PendingCaptchaUser( - bot_token=telegram, - user=telegramMember, - group=telegramGroup, - captcha_answer=secret, - attempts_left=telegramGroupPreferences.captcha_attempts, - lifetime=telegramGroupPreferences.captcha_timeout, - captcha_message_id=sent_message.message_id, - ).save() + pcu.captcha_message_id = sent_message.message_id + pcu.save() else: send_hello(telegramMember) else: