melobot.io

输入输出层部件

class melobot.io.AbstractSource[源代码]

基类:HookMixin[SourceLifeSpan], LogMixin, BetterABC

抽象源基类

protocol: LiteralString = <melobot.typ.cls.BetterABCMeta.DummyAttribute object>
__init__() None[源代码]

实例化一个 hook 混合类

参数:
  • hook_type -- hook 阶段的枚举类型

  • hook_tag -- 在日志信息中显示的 tag

返回类型:

None

abstract async open() None[源代码]

源打开方法

返回类型:

None

abstract opened() bool[源代码]

源是否已打开

返回类型:

bool

abstract async close() None[源代码]

源关闭方法

返回类型:

None

property logger: GenericLogger
on(*periods: HookEnumT) Callable[[SyncOrAsyncCallable[P, None]], AsyncCallable[P, None]]

注册一个 hook

参数:

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

返回:

装饰器

返回类型:

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

class melobot.io.AbstractInSource[源代码]

基类:AbstractSource, Generic[InPacketT]

抽象输入源基类

abstract async input() InPacketT[源代码]

源输入方法

返回:

返回 InPacket 对象

返回类型:

InPacketT

class melobot.io.AbstractOutSource[源代码]

基类:AbstractSource, Generic[OutPacketT, EchoPacketT]

抽象输出源基类

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

源输出方法

返回:

返回 OutPacket 对象

参数:

packet (OutPacketT)

返回类型:

EchoPacketT

class melobot.io.AbstractIOSource[源代码]

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

抽象输入输出源基类

class melobot.io.SourceLifeSpan[源代码]

基类:Enum

源生命周期阶段的枚举

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

输入输出包基类

class melobot.io.InPacket[源代码]

基类:object

输入包基类(数据类)

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

  • id (str) -- id 标识

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

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

time: float
id: str
protocol: LiteralString | None = None
data: Any = None
class melobot.io.OutPacket[源代码]

基类:object

输出包基类(数据类)

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

  • id (str) -- id 标识

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

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

time: float
id: str
protocol: LiteralString | None = None
data: Any = None
class melobot.io.EchoPacket[源代码]

基类:object

回应包基类(数据类)

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

  • id (str) -- id 标识

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

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

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

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

  • prompt (str) -- 提示语

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

time: float
id: str
protocol: LiteralString | None = None
data: Any = None

泛型

melobot.io.InPacketT

输入包泛型

melobot.io.OutPacketT

输出包泛型

melobot.io.EchoPacketT

回应包泛型

melobot.io.InSourceT

输入源泛型

melobot.io.OutSourceT

输出源泛型

melobot.io.InOrOutSourceT

输入或输出源泛型

melobot.io.IOSourceT

输入输出源泛型