125 lines
3.3 KiB
Python
125 lines
3.3 KiB
Python
"""
|
|
账号相关 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")
|