melobot.io

输入输出层部件

class melobot.io.AbstractSource[源代码]

基类:BetterABC, Hookable[SourceLifeSpan]

抽象源基类

__init__(protocol: LiteralString) None[源代码]
参数:

protocol (LiteralString)

返回类型:

None

abstract async open() None[源代码]

源打开方法

返回类型:

None

abstract opened() bool[源代码]

源是否已打开

返回类型:

bool

abstract async close() None[源代码]

源关闭方法

返回类型:

None

on(*periods: HookEnumT) Callable[[AsyncCallable[P, None]], AsyncCallable[P, None]]

注册一个 hook

参数:

periods (HookEnumT) -- 要绑定的 hook 类型

返回:

装饰器

返回类型:

Callable[[AsyncCallable[~P, None]], AsyncCallable[~P, None]]

class melobot.io.AbstractInSource[源代码]

基类:AbstractSource, BetterABC, Generic[InPacketT]

抽象输入源基类

abstract async input() InPacketT[源代码]

源输入方法

返回:

返回 InPacket 对象

返回类型:

InPacketT

class melobot.io.AbstractOutSource[源代码]

基类:AbstractSource, BetterABC, Generic[OutPacketT, EchoPacketT]

抽象输出源基类

abstract async output(packet: OutPacketT) EchoPacketT[源代码]

源输出方法

返回:

返回 OutPacket 对象

参数:

packet (OutPacketT)

返回类型:

EchoPacketT

class melobot.io.AbstractIOSource[源代码]

基类:AbstractInSource[InPacketT], AbstractOutSource[OutPacketT, EchoPacketT], BetterABC

抽象输入输出源基类

class melobot.io.SourceLifeSpan[源代码]

基类:Enum

源生命周期阶段的枚举

STARTED = 'sta'
RESTARTED = 'res'
STOPPED = 'sto'

输入输出包基类

class melobot.io.InPacket[源代码]

基类:_Packet

输入包基类(数据类)

变量:
  • time (float) -- 时间戳

  • id (str) -- id 标识

  • protocol (LiteralString | None) -- 遵循的协议

  • data (Any) -- 附加的数据

class melobot.io.OutPacket[源代码]

基类:_Packet

输出包基类(数据类)

变量:
  • time (float) -- 时间戳

  • id (str) -- id 标识

  • protocol (LiteralString | None) -- 遵循的协议

  • data (Any) -- 附加的数据

class melobot.io.EchoPacket[源代码]

基类:_Packet

回应包基类(数据类)

变量:
  • time (float) -- 时间戳

  • id (str) -- id 标识

  • protocol (LiteralString | None) -- 遵循的协议

  • data (Any) -- 附加的数据

  • ok (bool) -- 回应是否成功

  • status (int) -- 回应状态码

  • prompt (str) -- 提示语

  • noecho (bool) -- 是否并无回应产生