Поправил сохранение QR вместе с номером
This commit is contained in:
parent
6fce0d811b
commit
7eb37c596a
11
bot.py
11
bot.py
|
|
@ -254,20 +254,17 @@ async def handle_message(message: Message):
|
||||||
qr_raw_data = decode_qr_from_image(file_bytes.read())
|
qr_raw_data = decode_qr_from_image(file_bytes.read())
|
||||||
|
|
||||||
if qr_raw_data:
|
if qr_raw_data:
|
||||||
# Генерируем новый чистый QR из распознанных данных
|
|
||||||
qr_image_bytes = generate_qr_image(qr_raw_data)
|
qr_image_bytes = generate_qr_image(qr_raw_data)
|
||||||
qr_image_base64 = generate_qr_base64(qr_raw_data)
|
qr_image_base64 = generate_qr_base64(qr_raw_data)
|
||||||
|
|
||||||
# 2. Извлекаем номер из текста
|
# 2. Извлекаем номер из текста ИЛИ из подписи к фото
|
||||||
if message.text:
|
text = message.text or message.caption
|
||||||
phone = normalize_phone(message.text.strip())
|
if text:
|
||||||
|
phone = normalize_phone(text.strip())
|
||||||
|
|
||||||
# 3. Определяем тип записи и сохраняем
|
# 3. Определяем тип записи и сохраняем
|
||||||
if phone and qr_raw_data:
|
if phone and qr_raw_data:
|
||||||
# Сохраняем base64 для веб-морды и байты для Telegram
|
|
||||||
db.add_record('both', phone=phone, qr_code=qr_image_base64, qr_data=qr_raw_data)
|
db.add_record('both', phone=phone, qr_code=qr_image_base64, qr_data=qr_raw_data)
|
||||||
|
|
||||||
# Отправляем сгенерированный QR в ответ
|
|
||||||
photo_file = BufferedInputFile(qr_image_bytes, filename="qr.png")
|
photo_file = BufferedInputFile(qr_image_bytes, filename="qr.png")
|
||||||
await message.answer_photo(
|
await message.answer_photo(
|
||||||
photo=photo_file,
|
photo=photo_file,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue