import requests from utils.config import get_config hitokotoApi = "https://v1.hitokoto.cn/" allHitokotoTypes = { "动画": "a", "漫画": "b", "游戏": "c", "文学": "d", "原创": "e", "来自网络": "f", "其他": "g", "影视": "h", "诗词": "i", "哲学": "k", "抖机灵": "l", } def request_hitokoto(): """请求一言 API 获取一句话""" config = get_config() api_url = hitokotoApi for t in allHitokotoTypes.keys(): if t in config["hitokotoTypes"]: if "?" not in api_url: api_url += "?" if "c=" in api_url: api_url += f"&c={allHitokotoTypes[t]}" else: api_url += f"c={allHitokotoTypes[t]}" try: response = requests.get(api_url, timeout=10) response.raise_for_status() data = response.json() theFrom = data.get("from") if theFrom is None or theFrom.strip() == "": theFrom = "未知来源" theFromWho = data.get("from_who") if theFromWho is None or theFromWho.strip() == "": theFromWho = "未知作者" return f"{data['hitokoto']} —— {theFrom} ({theFromWho})" except Exception: return "[error] 无法获取一言内容"