mirror of https://github.com/Ruslan-Isaev/modules
35 lines
1.0 KiB
Python
35 lines
1.0 KiB
Python
version = (1, 0, 0)
|
|
|
|
# meta developer: @username
|
|
# requires: treepoem, pillow
|
|
from .. import loader, utils
|
|
import treepoem
|
|
import uuid
|
|
import os
|
|
from PIL import Image, ImageOps
|
|
|
|
async def generate_barcode(data, filename, border_size=20):
|
|
barcode = treepoem.generate_barcode(
|
|
barcode_type="code128",
|
|
data=data
|
|
)
|
|
barcode_with_border = ImageOps.expand(barcode, border=border_size, fill="white")
|
|
barcode_with_border.save(filename)
|
|
|
|
@loader.tds
|
|
class BarcodeGeneratorMod(loader.Module):
|
|
"""Генерирует штрих код (code128) """
|
|
|
|
strings = {
|
|
"name": "BarcodeGenerator",
|
|
}
|
|
|
|
@loader.command()
|
|
async def barcodecmd(self, message):
|
|
"""<код> - генерирует штрих-код"""
|
|
args = utils.get_args_raw(message)
|
|
randuuid = str(uuid.uuid4())
|
|
filename = f"{randuuid}.png"
|
|
await generate_barcode(args, filename)
|
|
await utils.answer_file(message, filename, caption=args)
|
|
os.remove(filename) |