Телеграмм бот по генерация qr кодов

Дело в том что мой бот генерировал qr коды, вот его исходный код

import os
from typing import Union

import qrcode
from qrcode import constants


def make_image_qrcode(data: Union[int, str]) -> str:
"""
Формирует QRCode из входных данных и сохраняет в временных файлах.
:return: Путь до qrcode
"""
code = str(data)
format = '.png'
image_title = f'{data}{format}'
dir = f'data{os.sep}tmp{os.sep}{image_title}'
qr = qrcode.QRCode(
    version=1,
    error_correction=constants.ERROR_CORRECT_M,
    box_size=20,
    border=2
)
qr.add_data(data)
image = qr.make_image()
image.save(f'{dir}')

return dir

но мне нужен стал barcode и вот его код

import os
from typing import Union

import barcode
from barcode.writer import ImageWriter


def make_image_qrcode(data: Union[int, str]) -> str:
"""
Формирует QRCode из входных данных и сохраняет в временных файлах.
:return: Путь до qrcode
"""
try:
    code = str(data)
    ean = barcode.get('ean13', code, writer=ImageWriter())
    filepath = (f'data{os.sep}tmp{os.sep}{code}')
except (barcode.errors.IllegalCharacterError, barcode.errors.NumberOfDigitsError) as e:
    return print(e)  # Выводит в консоль ошибку, если ввод не по EAN13
    image = barcode.make_image()
    ean.save(f'{filepath}')
    
    return filepath

Дело в том что он перестал отправлять мне фото qr кода, а ошибка в 'NoneType' object has no attribute 'read' Что делать? Бот написан на aiogram


Ответы (0 шт):