36 lines
949 B
Python
36 lines
949 B
Python
"""
|
|
Bot 抽象模块
|
|
|
|
定义了 Bot 类,封装了 OneBot API 的调用逻辑,提供了便捷的消息发送方法。
|
|
"""
|
|
from typing import TYPE_CHECKING, Dict, Any
|
|
|
|
if TYPE_CHECKING:
|
|
from .WS import WS
|
|
|
|
from .api import MessageAPI, GroupAPI, FriendAPI, AccountAPI
|
|
|
|
|
|
class Bot(MessageAPI, GroupAPI, FriendAPI, AccountAPI):
|
|
"""
|
|
Bot 抽象类,封装 API 调用和常用操作
|
|
继承各个 API Mixin 以提高代码的可维护性
|
|
"""
|
|
|
|
def __init__(self, ws_client: "WS"):
|
|
"""
|
|
初始化 Bot 实例
|
|
|
|
:param ws_client: WebSocket 客户端实例,用于底层通信
|
|
"""
|
|
self.ws = ws_client
|
|
|
|
async def call_api(self, action: str, params: Dict[str, Any] = None) -> Any:
|
|
"""
|
|
调用 OneBot API
|
|
|
|
:param action: API 动作名称
|
|
:param params: API 参数
|
|
:return: API 响应结果
|
|
"""
|
|
return await self.ws.call_api(action, params) |