""" 账号相关 API 模块 """ from typing import Dict, Any from .base import BaseAPI from models.objects import LoginInfo, VersionInfo, Status class AccountAPI(BaseAPI): """ 账号相关 API Mixin """ async def get_login_info(self) -> LoginInfo: """ 获取登录号信息 :return: 登录信息对象 """ res = await self.call_api("get_login_info") return LoginInfo(**res) async def get_version_info(self) -> VersionInfo: """ 获取版本信息 :return: 版本信息对象 """ res = await self.call_api("get_version_info") return VersionInfo(**res) async def get_status(self) -> Status: """ 获取状态 :return: 状态对象 """ res = await self.call_api("get_status") return Status(**res) async def bot_exit(self) -> Dict[str, Any]: """ 退出机器人 :return: API 响应结果 """ return await self.call_api("bot_exit") async def set_self_longnick(self, long_nick: str) -> Dict[str, Any]: """ 设置个性签名 :param long_nick: 个性签名内容 :return: API 响应结果 """ return await self.call_api("set_self_longnick", {"longNick": long_nick}) async def set_input_status(self, user_id: int, event_type: int) -> Dict[str, Any]: """ 设置输入状态 :param user_id: 用户 ID :param event_type: 事件类型 :return: API 响应结果 """ return await self.call_api("set_input_status", {"user_id": user_id, "event_type": event_type}) async def set_diy_online_status(self, face_id: int, face_type: int, wording: str) -> Dict[str, Any]: """ 设置自定义在线状态 :param face_id: 状态 ID :param face_type: 状态类型 :param wording: 状态描述 :return: API 响应结果 """ return await self.call_api("set_diy_online_status", { "face_id": face_id, "face_type": face_type, "wording": wording }) async def set_online_status(self, status_code: int) -> Dict[str, Any]: """ 设置在线状态 :param status_code: 状态码 :return: API 响应结果 """ return await self.call_api("set_online_status", {"status_code": status_code}) async def set_qq_profile(self, **kwargs) -> Dict[str, Any]: """ 设置 QQ 资料 :param kwargs: 个人资料相关参数 :return: API 响应结果 """ return await self.call_api("set_qq_profile", kwargs) async def set_qq_avatar(self, **kwargs) -> Dict[str, Any]: """ 设置 QQ 头像 :param kwargs: 头像相关参数 :return: API 响应结果 """ return await self.call_api("set_qq_avatar", kwargs) async def get_clientkey(self) -> Dict[str, Any]: """ 获取客户端密钥 :return: API 响应结果 """ return await self.call_api("get_clientkey") async def clean_cache(self) -> Dict[str, Any]: """ 清理缓存 :return: API 响应结果 """ return await self.call_api("clean_cache")