melobot.adapter¶
适配器层组件¶
- class melobot.adapter.Adapter[源代码]¶
基类:
BetterABC
,Generic
[EventFactoryT
,OutputFactoryT
,EchoFactoryT
,ActionT
,InSourceT
,OutSourceT
],Hookable
[AdapterLifeSpan
]适配器基类
- 变量:
protocol (LiteralString) -- 适配器所使用的协议
- on(*periods: AdapterLifeSpan) Callable[[AsyncCallable[P, None]], AsyncCallable[P, None]] [源代码]¶
注册一个 hook
- 参数:
periods (AdapterLifeSpan) -- 要绑定的 hook 类型
- 返回:
装饰器
- 返回类型:
Callable[[AsyncCallable[~P, None]], AsyncCallable[~P, None]]
- filter_out(filter: Callable[[OutSourceT], bool]) _GeneratorContextManager[Callable[[OutSourceT], bool]] [源代码]¶
上下文管理器,提供由 filter 控制输出的输出上下文
- async call_output(action: ActionT) tuple[ActionHandle, ...] [源代码]¶
输出行为,并返回各个输出源返回的
ActionHandle
组成的元组适配器开发者的适配器子类可以重写此方法,以实现自定义功能
但子类实现中必须调用原始方法: super().call_output(...)
- 参数:
action (ActionT) -- 行为
- 返回:
ActionHandle
元组- 返回类型:
tuple[ActionHandle, ...]
- class melobot.adapter.AdapterLifeSpan[源代码]¶
基类:
Enum
适配器生命周期阶段的枚举
- BEFORE_EVENT_HANDLE = 'beh'¶
- BEFORE_ACTION_EXEC = 'bae'¶
- STARTED = 'sta'¶
- STOPPED = 'sto'¶
实体基类¶
行为实体相关部件¶
- class melobot.adapter.ActionHandle[源代码]¶
基类:
Generic
[ActionRetT
]行为操作句柄
- 变量:
action (Action) -- 操作包含的行为对象
status (Literal["PENDING", "EXECUTING", "FINISHED"]) -- 操作的状态。分别对应:未执行、执行中、执行完成
out_src (AbstractOutSource) -- 执行操作的输出源对象
- class melobot.adapter.ActionChain[源代码]¶
基类:
object
行为链
- unfold(ctx: Context[T], val: T) Self [源代码]¶
指定链后续的步骤中在 ctx 类别的上下文中执行,上下文值为 val
- 参数:
ctx (Context[T]) -- 上下文类别
val (T) -- 上下文的值
- 返回:
自身,因此支持链式调用
- 返回类型:
Self
- add(*handles: Awaitable[tuple[ActionHandle, ...]], ret_when: Literal['FIRST_COMPLETED', 'FIRST_EXCEPTION', 'ALL_COMPLETED'] = 'ALL_COMPLETED') Self [源代码]¶
在链的步骤中添加一组行为
- 参数:
handles (Awaitable[tuple[ActionHandle, ...]]) -- 返回行为操作句柄的可等待对象
ret_when (Literal['FIRST_COMPLETED', 'FIRST_EXCEPTION', 'ALL_COMPLETED']) -- 指定这一组行为的等待模式
- 返回:
自身,因此支持链式调用
- 返回类型:
Self
- melobot.adapter.open_chain() Generator[ActionChain, None, None] [源代码]¶
创建行为链的上下文管理器
- Yield:
行为链对象
- 返回类型:
Generator[ActionChain, None, None]
通用实体内容¶
- class melobot.adapter.content.ImageContent[源代码]¶
基类:
MediaContent
图像内容,初始化方法参考基类
- class melobot.adapter.content.AudioContent[源代码]¶
基类:
MediaContent
音频内容,初始化方法参考基类
- class melobot.adapter.content.VoiceContent[源代码]¶
基类:
AudioContent
语音内容,初始化方法参考基类
- class melobot.adapter.content.VideoContent[源代码]¶
基类:
MediaContent
视频内容,初始化方法参考基类
通用输出方法¶
- async melobot.adapter.generic.send_text(text: str) tuple[ActionHandle, ...] [源代码]¶
通用文本输出方法
- 参数:
text (str)
- 返回类型:
tuple[ActionHandle, ...]
- async melobot.adapter.generic.send_media(name: str, raw: bytes | None = None, url: str | None = None, mimetype: str | None = None) tuple[ActionHandle, ...] [源代码]¶
通用媒体内容输出方法
- async melobot.adapter.generic.send_image(name: str, raw: bytes | None = None, url: str | None = None, mimetype: str | None = None) tuple[ActionHandle, ...] [源代码]¶
通用图像内容输出方法
- async melobot.adapter.generic.send_audio(name: str, raw: bytes | None = None, url: str | None = None, mimetype: str | None = None) tuple[ActionHandle, ...] [源代码]¶
通用音频内容输出方法
- async melobot.adapter.generic.send_voice(name: str, raw: bytes | None = None, url: str | None = None, mimetype: str | None = None) tuple[ActionHandle, ...] [源代码]¶
通用语音内容输出方法
- async melobot.adapter.generic.send_video(name: str, raw: bytes | None = None, url: str | None = None, mimetype: str | None = None) tuple[ActionHandle, ...] [源代码]¶
通用视频内容输出方法
- async melobot.adapter.generic.send_file(name: str, path: str | PathLike[str]) tuple[ActionHandle, ...] [源代码]¶
通用文件输出方法
- async melobot.adapter.generic.send_refer(event: Event, contents: Sequence[Content] | None = None) tuple[ActionHandle, ...] [源代码]¶
通用过往事件引用输出方法
- 参数:
- 返回类型:
tuple[ActionHandle, ...]
- async melobot.adapter.generic.send_resource(name: str, url: str) tuple[ActionHandle, ...] [源代码]¶
通用其他资源输出方法
- 参数:
- 返回类型:
tuple[ActionHandle, ...]