Files
homelab/userbot/modules/amogus.py
T
forust 3c383db9a7
Deploy to Server / deploy (push) Has been cancelled
refactor: extract userbot to standalone repo, add as git submodule
userbot now lives at ssh://git@gitssh.forust.xyz:2221/forust/userbot.git
and is included in homelab as a submodule at userbot/
2026-06-19 15:39:00 +02:00

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'}