# ======================================= # _ __ __ __ _ # | |/ /___ | \/ | ___ __| |___ # | ' // _ \ | |\/| |/ _ \ / _` / __| # | . \ __/ | | | | (_) | (_| \__ \ # |_|\_\___| |_| |_|\___/ \__,_|___/ # @ke_mods # ======================================= # # LICENSE: CC BY-ND 4.0 (Attribution-NoDerivatives 4.0 International) # -------------------------------------- # https://creativecommons.org/licenses/by-nd/4.0/legalcode # ======================================= # meta developer: @ke_mods import requests import asyncio import logging import traceback from logging import basicConfig from .. import loader, utils basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) @loader.tds class RandomAnimePicMod(loader.Module): strings = { "name": "RandomAnimePic", "img": " Your anime pic\n🔗 URL: {}", "loading": " Loading image...", "error": "🚫 An unexpected error occurred...", } strings_ru = { "img": " Ваша аниме-картинка\n🔗 Ссылка: {}", "loading": " Загрузка изображения...", "error": "🚫 Произошла непредвиденная ошибка...", } @loader.command( ru_doc="- получить рандомную аниме-картинку 👀" ) async def rapiccmd(self, message): """- fetch random anime-pic 👀""" await utils.answer(message, self.strings("loading")) try: res = requests.get("https://api.nekosia.cat/api/v1/images/cute?count=1") res.raise_for_status() data = res.json() image_url = data['image']['original']['url'] await asyncio.sleep(2) await utils.answer(message, self.strings("img").format(image_url), file=image_url, reply_to=message.reply_to_msg_id) except Exception: logger.error("Error fetching random anime pic: %s", traceback.format_exc()) await utils.answer(message, self.strings("error")) await asyncio.sleep(5)