✅ Обновлён: restoran_max_bot/promo_handlers.py — При повторном запросе неиспользованного промокода теперь также отправляется QR-код, а текст сообщения изменён на «ℹ️ Повторный QR-код.»

main
pilot 2 months ago
parent 3093500be0
commit dc74bdc185

@ -54,16 +54,32 @@ def bot_promo(client: Client, message: dict, settings_max: dict) -> bool:
action_type='promo_already_used', action_type='promo_already_used',
details={'promo': promo, 'used_at': promo_obj.used_at} details={'promo': promo, 'used_at': promo_obj.used_at}
) )
return True
else: else:
send_text(chat_id, settings_max['token'], "ℹ️ QR-код уже был отправлен.") # Повторный запрос — отправляем QR снова с другим текстом
log_user_action( send_text(chat_id, settings_max['token'], "ℹ️ Повторный QR-код.")
client=client, # Генерируем QR заново (можно использовать существующий файл, но проще перегенерировать)
chat_id=chat_id, base_url = f"{BASE_URL}/promo/status/"
action_type='promo_already_sent', url_promo = f"{base_url}{promo}/{chat_id}/{client_id}"
details={'promo': promo} img = qrcode.make(url_promo)
) file_name = f"{promo}-{chat_id}-{client_id}.png"
return True promo_dir = os.path.join(STATICFILES_DIRS[0], 'promo')
os.makedirs(promo_dir, exist_ok=True)
img.save(os.path.join(promo_dir, file_name))
qr_url = f"{BASE_URL}{STATIC_URL}promo/{file_name}"
send_image(chat_id, settings_max['token'], qr_url, 'Ваш QR-код.')
# Дополнительный контент также отправляем
for item in data:
if item.img:
img_url = f"https://cdn.telefon-ip.ru/{item.img}?thumb=600"
send_image(chat_id, settings_max['token'], img_url, item.descr)
if item.title and not item.img:
send_text(chat_id, settings_max['token'], item.descr)
if item.url:
send_text(chat_id, settings_max['token'], item.url)
return True
# Если создан новый промокод (первый запрос)
# Генерируем QR # Генерируем QR
base_url = f"{BASE_URL}/promo/status/" base_url = f"{BASE_URL}/promo/status/"
url_promo = f"{base_url}{promo}/{chat_id}/{client_id}" url_promo = f"{base_url}{promo}/{chat_id}/{client_id}"

Loading…
Cancel
Save