Files
limoka/Sad0ff/modules-ftg/jac.py
2025-07-11 08:27:20 +00:00

65 lines
2.0 KiB
Python

from telethon import events
from .. import loader, utils
import os
import requests
from PIL import Image,ImageFont,ImageDraw
import re
import io
from textwrap import wrap
def register(cb):
cb(JacquesMod())
class JacquesMod(loader.Module):
"""Жаконизатор"""
strings = {
'name': 'Жаконизатор',
'usage': 'Напиши <code>.help Жаконизатор</code>',
}
def __init__(self):
self.name = self.strings['name']
self._me = None
self._ratelimit = []
async def jcmd(self, message):
""".j <реплай на сообщение/свой текст>\n@offsd подпишись-пожалеешь"""
ufr = requests.get("https://github.com/Sad0ff/modules-ftg/raw/master/open-sans.ttf")
f = ufr.content
reply = await message.get_reply_message()
args = utils.get_args_raw(message)
if not args:
if not reply:
await utils.answer(message, self.strings('usage', message))
return
else:
txt = reply.raw_text
else:
txt = utils.get_args_raw(message)
await message.edit("<b>Извинись, быдло...</b>")
pic = requests.get("https://www.meme-arsenal.com/memes/54c7ee322f4b0ae586ec96195a59a073.jpg")
pic.raw.decode_content = True
img = Image.open(io.BytesIO(pic.content)).convert("RGB")
W, H = img.size
#txt = txt.replace("\n", "𓃐")
text = "\n".join(wrap(txt, 19))
t = text + "\n"
#t = t.replace("𓃐","\n")
draw = ImageDraw.Draw(img)
font = ImageFont.truetype(io.BytesIO(f), 32, encoding='UTF-8')
w, h = draw.multiline_textsize(t, font=font)
imtext = Image.new("RGBA", (w+10, h+10), (0, 0,0,0))
draw = ImageDraw.Draw(imtext)
draw.multiline_text((10, 10),t,(0,0,0),font=font, align='left')
imtext.thumbnail((339, 181))
w, h = 339, 181
img.paste(imtext, (10,10), imtext)
out = io.BytesIO()
out.name = "@offsd.jpg"
img.save(out)
out.seek(0)
await message.client.send_file(message.to_id, out, reply_to=reply)
await message.delete()