diff --git a/bot.py b/bot.py index 266a745..dd92ab4 100644 --- a/bot.py +++ b/bot.py @@ -254,20 +254,17 @@ async def handle_message(message: Message): qr_raw_data = decode_qr_from_image(file_bytes.read()) if qr_raw_data: - # Генерируем новый чистый QR из распознанных данных qr_image_bytes = generate_qr_image(qr_raw_data) qr_image_base64 = generate_qr_base64(qr_raw_data) - # 2. Извлекаем номер из текста - if message.text: - phone = normalize_phone(message.text.strip()) + # 2. Извлекаем номер из текста ИЛИ из подписи к фото + text = message.text or message.caption + if text: + phone = normalize_phone(text.strip()) # 3. Определяем тип записи и сохраняем if phone and qr_raw_data: - # Сохраняем base64 для веб-морды и байты для Telegram 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") await message.answer_photo( photo=photo_file,