# █ █ █ █▄▀ ▄▀█ █▀▄▀█ █▀█ █▀█ █ █ # █▀█ █ █ █ █▀█ █ ▀ █ █▄█ █▀▄ █▄█ # 🔒 Licensed under the GNU GPLv3 # 🌐 https://www.gnu.org/licenses/agpl-3.0.html # 👤 https://t.me/hikamoru # meta developer: @hikamorumods # meta banner: https://github.com/AmoreForever/assets/blob/master/Amethyste.jpg?raw=true from .. import utils, loader from hikkatl.errors.common import AlreadyInConversationError from telethon.tl.types import Message @loader.tds class Amethyste(loader.Module): """Generate memes image""" strings = { "name": "Amethyste", "wait": "🫥 Wait...", "already_open": "😹 Conversation already opened Please wait.", "r_photo": "🖼 Please reply to image.", "no_args": "🚫 Pls provide args", "not_found": "🤷‍♀️ Not found", } strings_ru = { "wait": "🫥 Подождите...", "already_open": "😹 Диалог уже открыт. Подождите.", "r_photo": "🖼 Ответьте на фото.", "no_args": "🚫 Укажите аргументы", "not_found": "🤷‍♀️ Не найдено", } strings_uz = { "wait": "🫥 Kuting...", "already_open": "😹 Dialog allaqachon ochilgan. Iltimos, kuting.", "r_photo": "🖼 Rasmga javob bering.", "no_args": "🚫 Argumetlarni ko'rsating", "not_found": "🤷‍♀️ Topilmadi", } _list = [ "3000years", "approved", "beautiful", "brazzers", "burn", "challenger", "circle", "contrast", "crush", "ddungeon", "dictator", "distort", "emboss", "fire", "frame", "afusion", "glitch", "greyscale", "instagram", "invert", "jail", "magik", "missionpassed", "moustache", "ps4", "posterize", "rejected", "rip", "scary", "scrolloftruth", "sepia", "sharpen", "sniper", "thanos", "trinity", "triggered", "unsharpen", "utatoo", "wanted", "wasted", ] async def amegencmd(self, message: Message): """Generate memes image""" reply = await message.get_reply_message() args = utils.get_args_raw(message) await utils.answer(message, self.strings["wait"]) if not args: return await utils.answer(message, self.strings["no_args"]) elif not reply.photo: return await utils.answer(message, self.strings["r_photo"]) elif args not in self._list: return await utils.answer(message, self.strings["not_found"]) async with self.client.conversation("@aozoram_bot") as conv: try: msg = await conv.send_message("/start") s = await conv.get_response() f = await conv.send_file(file=reply) m = await f.reply(f"/amegen {args}") await conv.get_response() # wait for response response = await conv.get_response() await utils.answer_file(message, response.media) await s.delete() await msg.delete() await m.delete() except AlreadyInConversationError: await utils.answer(message, self.strings["already_open"]) await self.client.delete_dialog("@aozoram_bot") async def amelistcmd(self, message: Message): """List of memes""" spis = "\n".join([f"• {i}" for i in self._list]) await utils.answer(message, f"Available memes:\n\n{spis}")