指令基类

class mini.apis.base_api.MiniApiResultType(value)[源代码]

基类:Enum

Api的返回结果状态类型

Success : 收到机器人回复

Timeout : 在超时时间内为收到机器人回复

Unsupported : 不支持该指令

Success = 1
Timeout = 2
Unsupported = 3
class mini.apis.base_api.BaseApi[源代码]

基类:ABC

消息api基类

async send(cmd_id: int, message, timeout: int) object | bool[源代码]

发送消息方法

注意:由子类函数内部调用,子类实例不可调用。

参数:
  • cmd_id (int) – 支持的命令id,例如:mini.apis.cmdid.PLAY_ACTION_REQUEST

  • message (Message) – 支持的消息实体,例如:mini.pb2.PlayActionRequest

  • timeout (int) – 超时时间,当timeout<=0时,表示不需要等待机器人回复,当timeout>0时,表示需要等待机器人回复,

返回:

如果不支持该指令,返回tuple(MiniApiResultType.Unsupported,None)

如果支持该指令

当timeout<=0时,返回bool,表示消息是否发送成功

当timeout>0时

如果消息超时或者发送失败,则返回tuple(MiniApiResultType.Timeout,None)

如果消息有回复,则返回tuple(MiniApiResultType.Success,result),result为相应的回复消息

async execute()[源代码]

发送指令

将支持的message序列化后,写入socket 由子类实现

class mini.apis.base_api.BaseApiNeedResponse[源代码]

基类:BaseApi, ABC

需要回复的消息api基类,timeout不能为空

async send(cmd_id, data, timeout: int)[源代码]

重写父类方法

校验timeout,必须>0

class mini.apis.base_api.BaseApiNoNeedResponse[源代码]

基类:BaseApi, ABC

不需要回复的消息api基类

async send(cmd_id, message, timeout: int = 0)[源代码]

重写父类方法

将timeout设置为0

class mini.apis.base_api.BaseEventApi(cmd_id: int, message, is_repeat: bool = True, timeout: int = 0, handler: Callable[[...], None] | None = None)[源代码]

基类:BaseApiNoNeedResponse, AbstractMsgHandler, ABC

事件类消息api基类

当注册了事件处理器后,由机器人主动推送过来的事件消息

参数:
  • cmd_id (int) – 注册的指令id

  • message (Message) – 向机器人发送的注册消息

  • is_repeat (bool) – 是否重复监听,默认为True

  • timeout (int) – 超时时间,默认为0

  • handler (Callable) – 事件消息处理器,f(message)

set_handler(handler: Callable[[...], None] | None = None)[源代码]

设置事件消息处理器

参数:

handler (Callable) – 事件消息处理器,f(message)

start()[源代码]

启动监听器

stop()[源代码]

停止监听器

子类需要通知机器人停止事件上报

handle_msg(message)[源代码]