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) -- 行为
- 返回:
- 返回类型:
- property on_before_event_handle: Callable[[SyncOrAsyncCallable[P, None]], AsyncCallable[P, None]]¶
给适配器注册
AdapterLifeSpan.BEFORE_EVENT_HANDLE阶段 hook 的装饰器
- property on_before_action_exec: Callable[[SyncOrAsyncCallable[P, None]], AsyncCallable[P, None]]¶
给适配器注册
AdapterLifeSpan.BEFORE_ACTION_EXEC阶段 hook 的装饰器
- property on_started: Callable[[SyncOrAsyncCallable[P, None]], AsyncCallable[P, None]]¶
给适配器注册
AdapterLifeSpan.STARTED阶段 hook 的装饰器
- property on_close: Callable[[SyncOrAsyncCallable[P, None]], AsyncCallable[P, None]]¶
给适配器注册
AdapterLifeSpan.CLOSE阶段 hook 的装饰器
- property on_stopped: Callable[[SyncOrAsyncCallable[P, None]], AsyncCallable[P, None]]¶
给适配器注册
AdapterLifeSpan.STOPPED阶段 hook 的装饰器
- 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'¶
适配器将一个事件投入分发器之前(提供首参数类型为 Event 的依赖注入,你可以自行细化类型)
- BEFORE_ACTION_EXEC = 'bae'¶
适配器将一个行为投入执行之前(提供首参数类型为 Action 的依赖注入,你可以自行细化类型)
- STARTED = 'sta'¶
适配器启动完成之后(此时所有同协议的源已经开始工作)
- CLOSE = 'clo'¶
适配器停止即将发生前(出现异常可能不会调用此类型)
- STOPPED = 'sto'¶
适配器停止完成后(包含任何情况导致的停止)
实体基类¶
- class melobot.adapter.Event[源代码]¶
-
事件基类
- 变量:
- get_origin_info() EventOrigin[源代码]¶
- 返回类型:
行为实体相关部件¶
- class melobot.adapter.ActionHandle[源代码]¶
基类:
Generic[EchoT]行为操作句柄
- 变量:
action (Action) -- 操作包含的行为对象
status (Literal["PENDING", "EXECUTING", "DONE"]) -- 操作的状态。分别对应:未执行、执行中、执行完成
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.TextStyle[源代码]¶
基类:
object跨平台文本格式选项
- __init__(mime_type: str = 'text/plain', bold: bool = False, italic: bool = False, underline: bool = False, strikethrough: bool = False, color: Color | None = None, link_to: str | None = None, spoiler: bool = False, quote: bool = False, reply_current: bool = False, code: bool = False, follow_theme: bool = True) 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(*texts: str | TextContent) ActionHandleGroup[源代码]¶
通用文本输出方法
- 参数:
texts (str | TextContent)
- 返回类型:
- 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¶
回应泛型