✅ Обновлён: 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',
details={'promo': promo, 'used_at': promo_obj.used_at}
)
return True
else:
send_text(chat_id, settings_max['token'], "ℹ️ QR-код уже был отправлен.")
log_user_action(
client=client,
chat_id=chat_id,
action_type='promo_already_sent',
details={'promo': promo}
)
return True
# Повторный запрос — отправляем QR снова с другим текстом
send_text(chat_id, settings_max['token'], "ℹ️ Повторный QR-код.")
# Генерируем QR заново (можно использовать существующий файл, но проще перегенерировать)
base_url = f"{BASE_URL}/promo/status/"
url_promo = f"{base_url}{promo}/{chat_id}/{client_id}"
img = qrcode.make(url_promo)
file_name = f"{promo}-{chat_id}-{client_id}.png"
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
base_url = f"{BASE_URL}/promo/status/"
url_promo = f"{base_url}{promo}/{chat_id}/{client_id}"

Loading…
Cancel
Save