melobot.adapter¶
适配器层组件¶
- class melobot.adapter.Adapter[源代码]¶
基类:
HookMixin
[AdapterLifeSpan
],Generic
[EventFactoryT
,OutputFactoryT
,EchoFactoryT
,ActionT
,InSourceT
,OutSourceT
],BetterABC
适配器基类
- 变量:
protocol (LiteralString) -- 适配器所使用的协议
- filter_out(filter: Callable[[OutSourceT], bool]) _GeneratorContextManager[Callable[[OutSourceT], bool]] [源代码]¶
上下文管理器,提供由 filter 控制输出的输出上下文
- async call_output(action: ActionT) ActionHandleGroup [源代码]¶
输出行为,返回
ActionHandleGroup
适配器开发者的适配器子类可以重写此方法,以实现自定义功能
但子类实现中必须调用原始方法: super().call_output(...)
- 参数:
action (ActionT) -- 行为
- 返回:
- 返回类型:
- get_hook_evoke_time(hook_type: HookEnumT) float ¶
获取指定 hook 最后一次触发的时间戳(秒)
若从未触发过,返回 -1
- 参数:
hook_type (HookEnumT) -- hook 类型
- 返回:
触发时间
- 返回类型:
- on(*periods: HookEnumT) Callable[[SyncOrAsyncCallable[P, None]], AsyncCallable[P, None]] ¶
注册一个 hook
- 参数:
periods (HookEnumT) -- 要绑定的 hook 类型
- 返回:
装饰器
- 返回类型:
Callable[[SyncOrAsyncCallable[~P, None]], AsyncCallable[~P, None]]
- class melobot.adapter.AdapterLifeSpan[源代码]¶
基类:
Enum
适配器生命周期阶段的枚举
- BEFORE_EVENT_HANDLE = 'beh'¶
- BEFORE_ACTION_EXEC = 'bae'¶
- STARTED = 'sta'¶
- STOPPED = 'sto'¶
实体基类¶
行为实体相关部件¶
- class melobot.adapter.ActionHandle[源代码]¶
基类:
Generic
[EchoT
]行为操作句柄
- 变量:
action (Action) -- 操作包含的行为对象
status (Literal["PENDING", "EXECUTING", "FINISHED"]) -- 操作的状态。分别对应:未执行、执行中、执行完成
out_src (AbstractOutSource) -- 执行操作的输出源对象
- class melobot.adapter.ActionHandleGroup[源代码]¶
基类:
Generic
[EchoT
]行为操作句柄组
- __iter__() Iterator[ActionHandle[EchoT]] [源代码]¶
- 返回类型:
Iterator[ActionHandle[EchoT]]
- async __aiter__() AsyncIterator[tuple[EchoT | None, ActionHandle[EchoT]]] [源代码]¶
- 返回类型:
AsyncIterator[tuple[EchoT | None, ActionHandle[EchoT]]]
- async unwrap_iter() AsyncIterator[EchoT] [源代码]¶
- 返回类型:
AsyncIterator[EchoT]
通用实体内容¶
- 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) ActionHandleGroup [源代码]¶
通用文本输出方法
- 参数:
text (str)
- 返回类型:
- async melobot.adapter.generic.send_media(name: str, raw: bytes | None = None, url: str | None = None, mimetype: str | None = None) ActionHandleGroup [源代码]¶
通用媒体内容输出方法
- 参数:
- 返回类型:
- async melobot.adapter.generic.send_image(name: str, raw: bytes | None = None, url: str | None = None, mimetype: str | None = None) ActionHandleGroup [源代码]¶
通用图像内容输出方法
- 参数:
- 返回类型:
- async melobot.adapter.generic.send_audio(name: str, raw: bytes | None = None, url: str | None = None, mimetype: str | None = None) ActionHandleGroup [源代码]¶
通用音频内容输出方法
- 参数:
- 返回类型:
- async melobot.adapter.generic.send_voice(name: str, raw: bytes | None = None, url: str | None = None, mimetype: str | None = None) ActionHandleGroup [源代码]¶
通用语音内容输出方法
- 参数:
- 返回类型:
- async melobot.adapter.generic.send_video(name: str, raw: bytes | None = None, url: str | None = None, mimetype: str | None = None) ActionHandleGroup [源代码]¶
通用视频内容输出方法
- 参数:
- 返回类型:
- async melobot.adapter.generic.send_file(name: str, path: str | PathLike[str]) ActionHandleGroup [源代码]¶
通用文件输出方法
- 参数:
- 返回类型:
- async melobot.adapter.generic.send_refer(event: Event, contents: Sequence[Content] | None = None) ActionHandleGroup [源代码]¶
通用过往事件引用输出方法
- 参数:
- 返回类型:
- async melobot.adapter.generic.send_resource(name: str, url: str) ActionHandleGroup [源代码]¶
通用其他资源输出方法
- 参数:
- 返回类型:
泛型¶
- melobot.adapter.EventT¶
事件泛型
- melobot.adapter.ActionT¶
行为(动作)泛型
- melobot.adapter.EchoT¶
回应泛型