from .. import loader, utils import aiohttp import logging # meta developer: @kmodules __version__ = (1, 0, 0) @loader.tds class RandomFactMod(loader.Module): """Рандомные факты""" strings = { "name": "RandomFact", "loading": "⭐️ Думаю над рандомным фактом...", "fact": "🪙 {}", "error": "Error occurred while fetching fact. Please try again." } strings_ru = { "name": "RandomFact", "loading": "⭐️ Думаю над рандомным фактом...", "fact": "🪙 {}", "error": "Произошла ошибка при получении факта. Пожалуйста, попробуйте снова." } async def client_ready(self, client, db): self.client = client @loader.command() async def randomfact(self, message): """Получить случайный факт""" await utils.answer(message, self.strings["loading"]) try: async with aiohttp.ClientSession() as session: async with session.get('http://aeza.theksenon.pro/v1/api/fact', headers={'Content-Type': 'application/json'}) as response: if response.status == 200: fact = await response.text() await utils.answer(message, self.strings["fact"].format(fact)) else: await utils.answer(message, self.strings["error"]) except Exception as e: logging.exception(e) await utils.answer(message, self.strings["error"])