227e5fda27
- S113: Add timeout=10 to all requests calls (74 fixes) - E722: Replace bare except: with except Exception: - B904: Replace redundant re-raise with bare raise - E402: Add noqa for intentional late imports after import_library() - S102/S307/S310/S311/S603/S605/S606/S607/S108: Add noqa for intentional usage - F601: Fix duplicate dict key in unsplash.py - N802: Rename ReplyCheck -> reply_check with backward compat alias - N813: Rename bs -> BS in icons.py - B007/B020: Rename loop var _j in animations.py - SIM102: Collapse nested if in autofwd.py - SIM113: Use enumerate() in calculator.py - A002: Add noqa for builtin shadowing in admlist.py - F811: Add noqa for cohere redefinition - edu_master: Fix ARG001, S108, S110, SIM117, apply --unsafe-fixes - Add modules_list.txt with full module inventory
51 lines
1.8 KiB
Python
51 lines
1.8 KiB
Python
from io import BytesIO
|
|
from random import randint
|
|
from textwrap import wrap
|
|
|
|
from PIL import Image, ImageDraw, ImageFont
|
|
from pyrogram import Client, enums, filters
|
|
from pyrogram.types import Message
|
|
from requests import get
|
|
from utils.misc import modules_help, prefix
|
|
|
|
|
|
@Client.on_message(filters.command('amogus', prefix) & filters.me)
|
|
async def amogus(client: Client, message: Message):
|
|
text = ' '.join(message.command[1:])
|
|
|
|
await message.edit(
|
|
'<b>amgus, tun tun tun tun tun tun tun tudududn tun tun...</b>',
|
|
parse_mode=enums.ParseMode.HTML,
|
|
)
|
|
|
|
clr = randint(1, 12) # noqa: S311
|
|
|
|
url = 'https://raw.githubusercontent.com/The-MoonTg-project/AmongUs/master/'
|
|
font = ImageFont.truetype(BytesIO(get(url + 'bold.ttf', timeout=10).content), 60)
|
|
imposter = Image.open(BytesIO(get(f'{url}{clr}.png', timeout=10).content))
|
|
|
|
text_ = '\n'.join(['\n'.join(wrap(part, 30)) for part in text.split('\n')])
|
|
bbox = ImageDraw.Draw(Image.new('RGB', (1, 1))).multiline_textbbox((0, 0), text_, font, stroke_width=2)
|
|
# w, h = bbox[2] - bbox[0], bbox[3] - bbox[1]
|
|
w, h = bbox[2], bbox[3]
|
|
text = Image.new('RGBA', (w + 30, h + 30))
|
|
ImageDraw.Draw(text).multiline_text((15, 15), text_, '#FFF', font, stroke_width=2, stroke_fill='#000')
|
|
w = imposter.width + text.width + 10
|
|
h = max(imposter.height, text.height)
|
|
|
|
image = Image.new('RGBA', (w, h))
|
|
image.paste(imposter, (0, h - imposter.height), imposter)
|
|
image.paste(text, (w - text.width, 0), text)
|
|
image.thumbnail((512, 512))
|
|
|
|
output = BytesIO()
|
|
output.name = 'imposter.webp'
|
|
image.save(output)
|
|
output.seek(0)
|
|
|
|
await message.delete()
|
|
await client.send_sticker(message.chat.id, output)
|
|
|
|
|
|
modules_help['amogus'] = {'amogus [text]': 'amgus, tun tun tun tun tun tun tun tudududn tun tun'}
|