""" █▀▀ ▄▀█ █▄▀ █▀▀ █▀ ▀█▀ █░█░█ █ ▀▄▀ █▄▄ █▀█ █░█ ██▄ ▄█ ░█░ ▀▄▀▄▀ █ █░█ # Copyleft 2022 t.me/CakesTwix This program is free software; you can redistribute it and/or modify """ __version__ = (1, 0, 1) # requires: requests hentai # meta pic: https://seeklogo.com/images/H/hentai-haven-logo-B9D8C4B3B8-seeklogo.com.png # meta developer: @cakestwix_mods import asyncio import logging from hentai import Hentai, Utils from requests.exceptions import HTTPError from .. import loader, utils logger = logging.getLogger(__name__) # Utils def StringBuilder(Hentai): id_nh = Hentai.id eng_name = Hentai.title() link = Hentai.url total_pages = Hentai.num_pages total_favorites = Hentai.num_favorites tags = "".join(f"{tag.name} " for tag in Hentai.tag) text = f"{eng_name} [{id_nh}]\n\n" text += f"{tags} \n" text += f"❤️ {total_favorites} | 📄 {total_pages}" return text def ListHentaiBuilder(Hentais): text = "" for i, Hentai in enumerate(Hentais, start=1): id_nh = Hentai.id eng_name = Hentai.title() link = Hentai.url total_pages = Hentai.num_pages total_favorites = Hentai.num_favorites text += f"{i}: {eng_name} [{id_nh}] / " text += f"❤️ {total_favorites} | 📄 {total_pages} \n" return text @loader.unrestricted @loader.ratelimit @loader.tds class NHentaiMod(loader.Module): """Hentai module 18+ Legacy""" strings = { "name": "NHentai", } @loader.unrestricted @loader.ratelimit async def nhrandomcmd(self, message): """Random hentai manga""" await message.delete() hentai_info = Utils.get_random_hentai() text = StringBuilder(hentai_info) await message.client.send_file(message.chat_id, hentai_info.cover, caption=text) @loader.unrestricted @loader.ratelimit async def nhtagcmd(self, message): """Search hentai manga by tag""" if args := utils.get_args(message): hentai_info = Utils.search_by_query(args) text = ListHentaiBuilder(hentai_info) await utils.answer(message, text) else: await utils.answer(message, "Pls tags") await asyncio.sleep(5) await message.delete() @loader.unrestricted @loader.ratelimit async def nhidcmd(self, message): """Search hentai manga by id""" args = utils.get_args(message) if args[0].isdigit(): try: hentai_info = Hentai(args[0]) text = StringBuilder(hentai_info) await message.client.send_file( message.chat_id, hentai_info.cover, caption=text ) except HTTPError as e: await utils.answer(message, str(e)) await asyncio.sleep(5) await message.delete() else: await utils.answer(message, "Pls id") await asyncio.sleep(5) await message.delete()