Files
Ultroid-fork/plugins/logo.py
Devesh Pal 0df53caf4c Ultroid v0.3 Updates
Co-authored-by: Aditya <xditya@ultroid.tech>
Co-authored-by: Danish <danish@ultroid.tech>
Co-authored-by: Amit Sharma <48654350+buddhhu@users.noreply.github.com>
Co-authored-by: TechiError <error@notavailable.live>
Co-authored-by: Avish Kumar <85635883+aviskumar@users.noreply.github.com>
Co-authored-by: Vɪɴᴀʏᴀᴋ Pᴀɴᴅᴇʏ <87496159+harpia-vieillot@users.noreply.github.com>
Co-authored-by: Shrimadhav U K <6317196+spechide@users.noreply.github.com>
Co-authored-by: Dark <darkbeamer.official@gmail.com>
Co-authored-by: Muhamad Risman Aziz <62795826+mrismanaziz@users.noreply.github.com>
Co-authored-by: Ashik Muhammed <84127769+MR-JINN-OF-TG@users.noreply.github.com>
Co-authored-by: MMETMA <79155572+MMETMA@users.noreply.github.com>
Co-authored-by: amirmehdinzri <94852182+amirmehdinzri@users.noreply.github.com>
2021-12-31 23:48:53 +05:30

106 lines
3.2 KiB
Python

# Ultroid - UserBot
# Copyright (C) 2021-2022 TeamUltroid
#
# This file is a part of < https://github.com/TeamUltroid/Ultroid/ >
# PLease read the GNU Affero General Public License in
# <https://www.github.com/TeamUltroid/Ultroid/blob/main/LICENSE/>.
"""
✘ Commands Available -
• `{i}logo <text>`
Generate a logo of the given Text
Or Reply To image , to write ur text on it.
Or Reply To Font File, To write with that font.
"""
import glob
import os
import random
from pyUltroid.functions.misc import unsplashsearch
from pyUltroid.functions.tools import make_logo
from telethon.tl.types import InputMessagesFilterPhotos
from . import OWNER_ID, OWNER_NAME, download_file, get_string, mediainfo, ultroid_cmd
@ultroid_cmd(pattern="logo ?(.*)")
async def logo_gen(event):
xx = await event.eor(get_string("com_1"))
name = event.pattern_match.group(1)
if not name:
await xx.eor("`Give a name too!`", time=5)
bg_, font_ = None, None
if event.reply_to_msg_id:
temp = await event.get_reply_message()
if temp.media:
if hasattr(temp.media, "document") and (
("font" in temp.file.mime_type)
or (".ttf" in temp.file.name)
or (".otf" in temp.file.name)
):
font_ = await temp.download_media("resources/fonts/")
elif "pic" in mediainfo(temp.media):
bg_ = await temp.download_media()
if not bg_:
if event.client._bot:
SRCH = ["blur background", "background", "neon lights", "wallpaper"]
res = await unsplashsearch(random.choice(SRCH), limit=1)
bg_ = await download_file(res[0], "resources/downloads/logo.png")
else:
pics = []
async for i in event.client.iter_messages(
"@UltroidLogos", filter=InputMessagesFilterPhotos
):
pics.append(i)
id_ = random.choice(pics)
bg_ = await id_.download_media()
if not font_:
fpath_ = glob.glob("resources/fonts/*")
font_ = random.choice(fpath_)
if len(name) <= 8:
strke = 10
elif len(name) >= 9:
strke = 5
else:
strke = 20
make_logo(
bg_,
name,
font_,
fill="white",
stroke_width=strke,
stroke_fill="black",
)
"""img = Image.open(bg_)
draw = ImageDraw.Draw(img)
font = ImageFont.truetype(font_, fnt_size)
w, h = draw.textsize(name, font=font)
h += int(h * 0.21)
image_width, image_height = img.size
draw.text(
((image_width - w) / 2, (image_height - h) / 2),
name,
font=font,
fill=(255, 255, 255),
)
x = (image_width - w) / 2
y = (image_height - h) / 2
draw.text(
(x, y), name, font=font, fill="white", stroke_width=strke, stroke_fill="black"
)"""
flnme = "Logo.png"
await xx.edit("`Done!`")
if os.path.exists(flnme):
await event.client.send_file(
event.chat_id,
file=flnme,
caption=f"Logo by [{OWNER_NAME}](tg://user?id={OWNER_ID})",
force_document=True,
)
os.remove(flnme)
await xx.delete()
if os.path.exists(bg_):
os.remove(bg_)