from pagermaid.listener import listener from pagermaid.enums import Message, AsyncClient from pagermaid.utils import lang @listener(command="hitokoto", description=lang("hitokoto_des")) async def hitokoto(request: AsyncClient, message: Message): hitokoto_while = 1 hitokoto_json = None try: hitokoto_json = ( await request.get("https://v1.hitokoto.cn/?charset=utf-8") ).json() except ValueError: while hitokoto_while < 10: hitokoto_while += 1 try: hitokoto_json = ( await request.get("https://v1.hitokoto.cn/?charset=utf-8") ).json() break except Exception: continue if not hitokoto_json: return hitokoto_type = { "a": lang("hitokoto_type_anime"), "b": lang("hitokoto_type_manga"), "c": lang("hitokoto_type_game"), "d": lang("hitokoto_type_article"), "e": lang("hitokoto_type_original"), "f": lang("hitokoto_type_web"), "g": lang("hitokoto_type_other"), "h": lang("hitokoto_type_movie"), "i": lang("hitokoto_type_poem"), "j": lang("hitokoto_type_netease_music"), "k": lang("hitokoto_type_philosophy"), "l": lang("hitokoto_type_meme"), } add = "" if works := hitokoto_json["from"]: add += f"《{works}》" if works_type := hitokoto_json["type"]: add += f"({hitokoto_type[works_type]})" if from_who := hitokoto_json["from_who"]: add += f"{from_who}" await message.edit(f"{hitokoto_json['hitokoto']} {add}")