@usiting

Расшифровывается QRcode в TelegramBotAPI, но расшифровывает характеристики фотографии?

Есть фрагмент кода:

#bot decrypting a qrcode            
@bot.message_handler(commands=['decrypt'])
def decrypting(message):
    bot.send_message(message.chat.id, 'Пришли мне фото с QRкодом и я расшифрую его')
    @bot.message_handler(content_types=['photo'])
    def decrypting(message):
        print('message.photo =', message.photo)
        fileID = message.photo[-1].file_id
        print('fileID =', fileID)
        file_info = bot.get_file(fileID)
        print('file.file_path =', file_info.file_path)
        downloaded_file = bot.download_file(file_info.file_path)

        with open("qr_decrypting.jpg", 'wb') as new_file:
            new_file.write(downloaded_file)

        data = decode(Image.open('qr_decrypting.jpg'))

        bot.send_message(message.chat.id, f'QRкод: \n\n{data}')
        os.remove('qr_decrypting.jpg')


Функция работает, но сообщением выводит:
61a3afdbc7a38150965788.jpeg
Почему так происходит?
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
Очевидно, потому что data представляет из себя экземпляр класса Decoded. Думаю, тебе нужно data.data, да ещё и привести тип bytes к строке: data.data.decode()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы