from pyrogram import Client, filters from pyrogram.types.messages_and_media import Photo from pyrogram.errors.exceptions.forbidden_403 import Forbidden from .. import slave, config, help_dict, log_errors, public_log_errors @Client.on_message(~filters.forwarded & ~filters.sticker & ~filters.via_bot & ~filters.edited & filters.me & filters.command(['loli', 'sfwloli', 'sloli', 'nsfwloli', 'nloli'], prefixes=config['config']['prefixes'])) @log_errors @public_log_errors async def loli(client, message): bot = await slave.get_me() query = ' '.join(message.command) results = await client.get_inline_bot_results(bot.username or bot.id, query) result = results.results[0] to_reply = message if not getattr(message.reply_to_message, 'empty', True): to_reply = message.reply_to_message if result.type != 'photo': await to_reply.reply_text({'message': result.send_message.message, 'entities': result.send_message.entities}, parse_mode='through') return photo = url = None if getattr(result, 'photo', None) is not None: photo = Photo._parse(client, result.photo) else: url = result.content.url text = {'message': result.send_message.message, 'entities': result.send_message.entities} try: if photo is not None: await to_reply.reply_cached_media(photo.file_id, caption=text, parse_mode='through') else: await to_reply.reply_photo(url, caption=text, parse_mode='through') except Forbidden: await to_reply.reply_text(text, parse_mode='through') help_dict['loli'] = ('Loli', '''{prefix}loli [keywords] - Gets a possibly nsfw image of a loli, thanks to lolicon.app Can also be activated inline with: @{bot} loli [keywords] {prefix}sfwloli [keywords] - Gets a sfw image of a loli, thanks to lolicon.app Aliases: {prefix}sloli Can also be activated inline with: @{bot} sfwloli [keywords] or @{bot} sloli [keywords] {prefix}nsfwloli [keywords] - Gets an nsfw image of a loli, thanks to lolicon.app Aliases: {prefix}nloli Can also be activated inline with: @{bot} nsfwloli [keywords] or @{bot} nloli [keywords]''')