From 85a3a9ad523a026a3b7ff29e61daf5e2d215a48c Mon Sep 17 00:00:00 2001 From: snowy Date: Mon, 19 Aug 2024 09:55:47 +0800 Subject: [PATCH] =?UTF-8?q?:memo:=20=E7=94=9F=E6=88=90=E4=BA=86api?= =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/dev/api/bot/README.md | 198 +++++++++------------- docs/dev/api/bot/lifespan.md | 183 ++++++++------------ docs/dev/api/comm/channel.md | 56 +++--- docs/dev/api/comm/storage.md | 83 ++++----- docs/dev/api/config.md | 12 ++ docs/dev/api/core/manager.md | 88 ++++------ docs/dev/api/dev/observer.md | 46 ++--- docs/dev/api/dev/plugin.md | 2 + docs/dev/api/log.md | 1 + docs/dev/api/plugin/README.md | 2 + docs/dev/api/plugin/load.md | 14 ++ docs/dev/api/plugin/model.md | 41 +++-- docs/dev/api/utils.md | 16 ++ docs/en/dev/api/liteyuki/bot/README.md | 198 +++++++++------------- docs/en/dev/api/liteyuki/bot/lifespan.md | 183 ++++++++------------ docs/en/dev/api/liteyuki/comm/channel.md | 56 +++--- docs/en/dev/api/liteyuki/comm/storage.md | 83 ++++----- docs/en/dev/api/liteyuki/config.md | 12 ++ docs/en/dev/api/liteyuki/core/manager.md | 88 ++++------ docs/en/dev/api/liteyuki/dev/observer.md | 46 ++--- docs/en/dev/api/liteyuki/dev/plugin.md | 2 + docs/en/dev/api/liteyuki/log.md | 1 + docs/en/dev/api/liteyuki/plugin/README.md | 2 + docs/en/dev/api/liteyuki/plugin/load.md | 14 ++ docs/en/dev/api/liteyuki/plugin/model.md | 41 +++-- docs/en/dev/api/liteyuki/utils.md | 16 ++ 26 files changed, 634 insertions(+), 850 deletions(-) diff --git a/docs/dev/api/bot/README.md b/docs/dev/api/bot/README.md index 554e89a6..2fbffed8 100644 --- a/docs/dev/api/bot/README.md +++ b/docs/dev/api/bot/README.md @@ -9,217 +9,177 @@ category: API 获取轻雪实例 + + Returns: + LiteyukiBot: 当前的轻雪实例 ### ***def*** `get_config(key: str, default: Any) -> Any` 获取配置 + Args: + key: 配置键 + default: 默认值 + + Returns: + Any: 配置值 ### ***def*** `get_config_with_compat(key: str, compat_keys: tuple[str], default: Any) -> Any` 获取配置,兼容旧版本 + Args: + key: 配置键 + compat_keys: 兼容键 + default: 默认值 + + Returns: + Any: 配置值 ### ***def*** `print_logo() -> None` -### ***def*** `run(self: Any) -> None` - -启动逻辑 - -### ***def*** `keep_alive(self: Any) -> None` - -保持轻雪运行 -Returns: - -### ***def*** `restart(self: Any, delay: int) -> None` - -重启轻雪本体 -Returns: - -### ***def*** `restart_process(self: Any, name: Optional[str]) -> None` - -停止轻雪 -Args: - name: 进程名称, 默认为None, 所有进程 -Returns: - -### ***def*** `init(self: Any) -> None` - -初始化轻雪, 自动调用 -Returns: - -### ***def*** `init_logger(self: Any) -> None` - - - -### ***def*** `stop(self: Any) -> None` - -停止轻雪 -Returns: - -### ***def*** `on_before_start(self: Any, func: LIFESPAN_FUNC) -> None` - -注册启动前的函数 -Args: - func: - -Returns: - -### ***def*** `on_after_start(self: Any, func: LIFESPAN_FUNC) -> None` - -注册启动后的函数 -Args: - func: - -Returns: - -### ***def*** `on_after_shutdown(self: Any, func: LIFESPAN_FUNC) -> None` - -注册停止后的函数:未实现 -Args: - func: - -Returns: - -### ***def*** `on_before_process_shutdown(self: Any, func: LIFESPAN_FUNC) -> None` - -注册进程停止前的函数,为子进程停止时调用 -Args: - func: - -Returns: - -### ***def*** `on_before_process_restart(self: Any, func: LIFESPAN_FUNC) -> None` - -注册进程重启前的函数,为子进程重启时调用 -Args: - func: - -Returns: - -### ***def*** `on_after_restart(self: Any, func: LIFESPAN_FUNC) -> None` - -注册重启后的函数:未实现 -Args: - func: - -Returns: - -### ***def*** `on_after_nonebot_init(self: Any, func: LIFESPAN_FUNC) -> None` - -注册nonebot初始化后的函数 -Args: - func: - -Returns: - ### ***class*** `LiteyukiBot` -####   ***def*** `run(self: Any) -> None` +###   ***def*** `run(self: Any) -> None` - 启动逻辑 + 启动逻辑 -####   ***def*** `keep_alive(self: Any) -> None` +###   ***def*** `keep_alive(self: Any) -> None` + + 保持轻雪运行 - 保持轻雪运行 Returns: -####   ***def*** `restart(self: Any, delay: int) -> None` +###   ***def*** `restart(self: Any, delay: int) -> None` + + 重启轻雪本体 - 重启轻雪本体 Returns: -####   ***def*** `restart_process(self: Any, name: Optional[str]) -> None` +###   ***def*** `restart_process(self: Any, name: Optional[str]) -> None` + + 停止轻雪 - 停止轻雪 Args: + name: 进程名称, 默认为None, 所有进程 + Returns: -####   ***def*** `init(self: Any) -> None` +###   ***def*** `init(self: Any) -> None` + + 初始化轻雪, 自动调用 - 初始化轻雪, 自动调用 Returns: -####   ***def*** `init_logger(self: Any) -> None` +###   ***def*** `init_logger(self: Any) -> None` - +  -####   ***def*** `stop(self: Any) -> None` +###   ***def*** `stop(self: Any) -> None` + + 停止轻雪 - 停止轻雪 Returns: -####   ***def*** `on_before_start(self: Any, func: LIFESPAN_FUNC) -> None` +###   ***def*** `on_before_start(self: Any, func: LIFESPAN_FUNC) -> None` + + 注册启动前的函数 - 注册启动前的函数 Args: + func: + + Returns: -####   ***def*** `on_after_start(self: Any, func: LIFESPAN_FUNC) -> None` +###   ***def*** `on_after_start(self: Any, func: LIFESPAN_FUNC) -> None` + + 注册启动后的函数 - 注册启动后的函数 Args: + func: + + Returns: -####   ***def*** `on_after_shutdown(self: Any, func: LIFESPAN_FUNC) -> None` +###   ***def*** `on_after_shutdown(self: Any, func: LIFESPAN_FUNC) -> None` + + 注册停止后的函数:未实现 - 注册停止后的函数:未实现 Args: + func: + + Returns: -####   ***def*** `on_before_process_shutdown(self: Any, func: LIFESPAN_FUNC) -> None` +###   ***def*** `on_before_process_shutdown(self: Any, func: LIFESPAN_FUNC) -> None` + + 注册进程停止前的函数,为子进程停止时调用 - 注册进程停止前的函数,为子进程停止时调用 Args: + func: + + Returns: -####   ***def*** `on_before_process_restart(self: Any, func: LIFESPAN_FUNC) -> None` +###   ***def*** `on_before_process_restart(self: Any, func: LIFESPAN_FUNC) -> None` + + 注册进程重启前的函数,为子进程重启时调用 - 注册进程重启前的函数,为子进程重启时调用 Args: + func: + + Returns: -####   ***def*** `on_after_restart(self: Any, func: LIFESPAN_FUNC) -> None` +###   ***def*** `on_after_restart(self: Any, func: LIFESPAN_FUNC) -> None` + + 注册重启后的函数:未实现 - 注册重启后的函数:未实现 Args: + func: + + Returns: -####   ***def*** `on_after_nonebot_init(self: Any, func: LIFESPAN_FUNC) -> None` +###   ***def*** `on_after_nonebot_init(self: Any, func: LIFESPAN_FUNC) -> None` + + 注册nonebot初始化后的函数 - 注册nonebot初始化后的函数 Args: + func: + + Returns: diff --git a/docs/dev/api/bot/lifespan.md b/docs/dev/api/bot/lifespan.md index 010f8dc0..840cbe71 100644 --- a/docs/dev/api/bot/lifespan.md +++ b/docs/dev/api/bot/lifespan.md @@ -8,194 +8,147 @@ category: API ### ***def*** `run_funcs(funcs: list[LIFESPAN_FUNC | PROCESS_LIFESPAN_FUNC]) -> None` 运行函数 + Args: + funcs: -Returns: -### ***def*** `on_before_start(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` - -注册启动时的函数 -Args: - func: -Returns: - LIFESPAN_FUNC: - -### ***def*** `on_after_start(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` - -注册启动时的函数 -Args: - func: -Returns: - LIFESPAN_FUNC: - -### ***def*** `on_before_process_shutdown(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` - -注册停止前的函数 -Args: - func: -Returns: - LIFESPAN_FUNC: - -### ***def*** `on_after_shutdown(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` - -注册停止后的函数 -Args: - func: - -Returns: - LIFESPAN_FUNC: - -### ***def*** `on_before_process_restart(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` - -注册重启时的函数 -Args: - func: -Returns: - LIFESPAN_FUNC: - -### ***def*** `on_after_restart(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` - -注册重启后的函数 -Args: - func: -Returns: - LIFESPAN_FUNC: - -### ***def*** `on_after_nonebot_init(self: Any, func: Any) -> None` - -注册 NoneBot 初始化后的函数 -Args: - func: - -Returns: - -### ***def*** `before_start(self: Any) -> None` - -启动前 -Returns: - -### ***def*** `after_start(self: Any) -> None` - -启动后 -Returns: - -### ***def*** `before_process_shutdown(self: Any) -> None` - -停止前 -Returns: - -### ***def*** `after_shutdown(self: Any) -> None` - -停止后 -Returns: - -### ***def*** `before_process_restart(self: Any) -> None` - -重启前 -Returns: - -### ***def*** `after_restart(self: Any) -> None` - -重启后 Returns: ### ***class*** `Lifespan` -#### `@staticmethod` +###   ***@staticmethod*** +###   ***def*** `run_funcs(funcs: list[LIFESPAN_FUNC | PROCESS_LIFESPAN_FUNC]) -> None` -####   ***def*** `run_funcs(funcs: list[LIFESPAN_FUNC | PROCESS_LIFESPAN_FUNC]) -> None` + 运行函数 - 运行函数 Args: + funcs: + Returns: -####   ***def*** `on_before_start(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` +###   ***def*** `on_before_start(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` + + 注册启动时的函数 - 注册启动时的函数 Args: + func: + Returns: + LIFESPAN_FUNC: -####   ***def*** `on_after_start(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` +###   ***def*** `on_after_start(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` + + 注册启动时的函数 - 注册启动时的函数 Args: + func: + Returns: + LIFESPAN_FUNC: -####   ***def*** `on_before_process_shutdown(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` +###   ***def*** `on_before_process_shutdown(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` + + 注册停止前的函数 - 注册停止前的函数 Args: + func: + Returns: + LIFESPAN_FUNC: -####   ***def*** `on_after_shutdown(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` +###   ***def*** `on_after_shutdown(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` + + 注册停止后的函数 - 注册停止后的函数 Args: + func: + + Returns: + LIFESPAN_FUNC: -####   ***def*** `on_before_process_restart(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` +###   ***def*** `on_before_process_restart(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` + + 注册重启时的函数 - 注册重启时的函数 Args: + func: + Returns: + LIFESPAN_FUNC: -####   ***def*** `on_after_restart(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` +###   ***def*** `on_after_restart(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` + + 注册重启后的函数 - 注册重启后的函数 Args: + func: + Returns: + LIFESPAN_FUNC: -####   ***def*** `on_after_nonebot_init(self: Any, func: Any) -> None` +###   ***def*** `on_after_nonebot_init(self: Any, func: Any) -> None` + + 注册 NoneBot 初始化后的函数 - 注册 NoneBot 初始化后的函数 Args: + func: + + Returns: -####   ***def*** `before_start(self: Any) -> None` +###   ***def*** `before_start(self: Any) -> None` + + 启动前 - 启动前 Returns: -####   ***def*** `after_start(self: Any) -> None` +###   ***def*** `after_start(self: Any) -> None` + + 启动后 - 启动后 Returns: -####   ***def*** `before_process_shutdown(self: Any) -> None` +###   ***def*** `before_process_shutdown(self: Any) -> None` + + 停止前 - 停止前 Returns: -####   ***def*** `after_shutdown(self: Any) -> None` +###   ***def*** `after_shutdown(self: Any) -> None` + + 停止后 - 停止后 Returns: -####   ***def*** `before_process_restart(self: Any) -> None` +###   ***def*** `before_process_restart(self: Any) -> None` + + 重启前 - 重启前 Returns: -####   ***def*** `after_restart(self: Any) -> None` +###   ***def*** `after_restart(self: Any) -> None` + + 重启后 - 重启后 Returns: diff --git a/docs/dev/api/comm/channel.md b/docs/dev/api/comm/channel.md index ac22ded8..f38420cc 100644 --- a/docs/dev/api/comm/channel.md +++ b/docs/dev/api/comm/channel.md @@ -8,51 +8,37 @@ category: API ### ***def*** `set_channel(name: str, channel: Channel) -> None` 设置通道实例 + Args: + name: 通道名称 + channel: 通道实例 ### ***def*** `set_channels(channels: dict[str, Channel]) -> None` 设置通道实例 + Args: + channels: 通道名称 ### ***def*** `get_channel(name: str) -> Channel` 获取通道实例 + Args: + name: 通道名称 + Returns: ### ***def*** `get_channels() -> dict[str, Channel]` 获取通道实例 + Returns: -### ***def*** `send(self: Any, data: T) -> None` - -发送数据 -Args: - data: 数据 - -### ***def*** `receive(self: Any) -> T` - -接收数据 -Args: - -### ***def*** `close(self: Any) -> None` - -关闭通道 - -### ***def*** `on_receive(self: Any, filter_func: Optional[FILTER_FUNC]) -> Callable[[Callable[[T], Any]], Callable[[T], Any]]` - -接收数据并执行函数 -Args: - filter_func: 过滤函数,为None则不过滤 -Returns: - 装饰器,装饰一个函数在接收到数据后执行 - ### ***def*** `on_set_channel(data: tuple[str, dict[str, Any]]) -> None` @@ -76,28 +62,36 @@ Returns: ### ***class*** `Channel(Generic[T])` 通道类,可以在进程间和进程内通信,双向但同时只能有一个发送者和一个接收者 + 有两种接收工作方式,但是只能选择一种,主动接收和被动接收,主动接收使用 `receive` 方法,被动接收使用 `on_receive` 装饰器 -####   ***def*** `send(self: Any, data: T) -> None` +###   ***def*** `send(self: Any, data: T) -> None` + + 发送数据 - 发送数据 Args: + data: 数据 -####   ***def*** `receive(self: Any) -> T` +###   ***def*** `receive(self: Any) -> T` + + 接收数据 - 接收数据 Args: -####   ***def*** `close(self: Any) -> None` +###   ***def*** `close(self: Any) -> None` - 关闭通道 + 关闭通道 -####   ***def*** `on_receive(self: Any, filter_func: Optional[FILTER_FUNC]) -> Callable[[Callable[[T], Any]], Callable[[T], Any]]` +###   ***def*** `on_receive(self: Any, filter_func: Optional[FILTER_FUNC]) -> Callable[[Callable[[T], Any]], Callable[[T], Any]]` + + 接收数据并执行函数 - 接收数据并执行函数 Args: + filter_func: 过滤函数,为None则不过滤 + Returns: + 装饰器,装饰一个函数在接收到数据后执行 diff --git a/docs/dev/api/comm/storage.md b/docs/dev/api/comm/storage.md index e0536ff3..f172684c 100644 --- a/docs/dev/api/comm/storage.md +++ b/docs/dev/api/comm/storage.md @@ -5,42 +5,6 @@ icon: laptop-code category: API --- -### ***def*** `set(self: Any, key: str, value: Any) -> None` - -设置键值对 -Args: - key: 键 - value: 值 - -### ***def*** `get(self: Any, key: str, default: Optional[Any]) -> Optional[Any]` - -获取键值对 -Args: - key: 键 - default: 默认值 - -Returns: - Any: 值 - -### ***def*** `delete(self: Any, key: str, ignore_key_error: bool) -> None` - -删除键值对 -Args: - key: 键 - ignore_key_error: 是否忽略键不存在的错误 - -Returns: - -### ***def*** `get_all(self: Any) -> dict[str, Any]` - -获取所有键值对 -Returns: - dict[str, Any]: 键值对 - -### ***def*** `get_instance(cls: Any) -> None` - - - ### ***def*** `on_get(data: tuple[str, dict[str, Any]]) -> None` @@ -61,53 +25,64 @@ Returns: -####   ***def*** `set(self: Any, key: str, value: Any) -> None` +###   ***def*** `set(self: Any, key: str, value: Any) -> None` + + 设置键值对 - 设置键值对 Args: + key: 键 + value: 值 -####   ***def*** `get(self: Any, key: str, default: Optional[Any]) -> Optional[Any]` +###   ***def*** `get(self: Any, key: str, default: Optional[Any]) -> Optional[Any]` + + 获取键值对 - 获取键值对 Args: + key: 键 + default: 默认值 + + Returns: + Any: 值 -####   ***def*** `delete(self: Any, key: str, ignore_key_error: bool) -> None` +###   ***def*** `delete(self: Any, key: str, ignore_key_error: bool) -> None` + + 删除键值对 - 删除键值对 Args: + key: 键 + ignore_key_error: 是否忽略键不存在的错误 + + Returns: -####   ***def*** `get_all(self: Any) -> dict[str, Any]` +###   ***def*** `get_all(self: Any) -> dict[str, Any]` + + 获取所有键值对 - 获取所有键值对 Returns: + dict[str, Any]: 键值对 ### ***class*** `GlobalKeyValueStore` -#### `@classmethod` +###   ***@classmethod*** +###   ***def*** `get_instance(cls: Any) -> None` -####   ***def*** `get_instance(cls: Any) -> None` +  - +###   ***attr*** `_instance: None` -####   ***attr*** `_instance` - - Type: None - -####   ***attr*** `_lock` - - Type: threading.Lock() +###   ***attr*** `_lock: threading.Lock()` diff --git a/docs/dev/api/config.md b/docs/dev/api/config.md index 87f8ff96..d57e0395 100644 --- a/docs/dev/api/config.md +++ b/docs/dev/api/config.md @@ -9,11 +9,18 @@ category: API 扁平化配置文件 + + {a:{b:{c:1}}} -> {"a.b.c": 1} + Args: + config: 配置项目 + + Returns: + 扁平化后的配置文件,但也包含原有的键值对 ### ***def*** `load_from_yaml(file: str) -> dict[str, Any]` @@ -31,18 +38,23 @@ Load config from toml file ### ***def*** `load_from_files() -> dict[str, Any]` 从指定文件加载配置项,会自动识别文件格式 + 默认执行扁平化选项 ### ***def*** `load_configs_from_dirs() -> dict[str, Any]` 从目录下加载配置文件,不递归 + 按照读取文件的优先级反向覆盖 + 默认执行扁平化选项 ### ***def*** `load_config_in_default(no_waring: bool) -> dict[str, Any]` 从一个标准的轻雪项目加载配置文件 + 项目目录下的config.*和config目录下的所有配置文件 + 项目目录下的配置文件优先 ### ***class*** `SatoriNodeConfig(BaseModel)` diff --git a/docs/dev/api/core/manager.md b/docs/dev/api/core/manager.md index 5bfd65c1..22502298 100644 --- a/docs/dev/api/core/manager.md +++ b/docs/dev/api/core/manager.md @@ -5,50 +5,6 @@ icon: laptop-code category: API --- -### ***def*** `start(self: Any, name: str) -> None` - -开启后自动监控进程,并添加到进程字典中 -Args: - name: -Returns: - -### ***def*** `start_all(self: Any) -> None` - -启动所有进程 - -### ***def*** `add_target(self: Any, name: str, target: TARGET_FUNC, args: tuple, kwargs: Any) -> None` - -添加进程 -Args: - name: 进程名,用于获取和唯一标识 - target: 进程函数 - args: 进程函数参数 - kwargs: 进程函数关键字参数,通常会默认传入chan_active和chan_passive - -### ***def*** `join_all(self: Any) -> None` - - - -### ***def*** `terminate(self: Any, name: str) -> None` - -终止进程并从进程字典中删除 -Args: - name: - -Returns: - -### ***def*** `terminate_all(self: Any) -> None` - - - -### ***def*** `is_process_alive(self: Any, name: str) -> bool` - -检查进程是否存活 -Args: - name: - -Returns: - ### ***class*** `ChannelDeliver` @@ -57,47 +13,63 @@ Returns: 进程管理器 -####   ***def*** `start(self: Any, name: str) -> None` +###   ***def*** `start(self: Any, name: str) -> None` + + 开启后自动监控进程,并添加到进程字典中 - 开启后自动监控进程,并添加到进程字典中 Args: + name: + Returns: -####   ***def*** `start_all(self: Any) -> None` +###   ***def*** `start_all(self: Any) -> None` - 启动所有进程 + 启动所有进程 -####   ***def*** `add_target(self: Any, name: str, target: TARGET_FUNC, args: tuple, kwargs: Any) -> None` +###   ***def*** `add_target(self: Any, name: str, target: TARGET_FUNC, args: tuple, kwargs: Any) -> None` + + 添加进程 - 添加进程 Args: + name: 进程名,用于获取和唯一标识 + target: 进程函数 + args: 进程函数参数 + kwargs: 进程函数关键字参数,通常会默认传入chan_active和chan_passive -####   ***def*** `join_all(self: Any) -> None` +###   ***def*** `join_all(self: Any) -> None` - +  -####   ***def*** `terminate(self: Any, name: str) -> None` +###   ***def*** `terminate(self: Any, name: str) -> None` + + 终止进程并从进程字典中删除 - 终止进程并从进程字典中删除 Args: + name: + + Returns: -####   ***def*** `terminate_all(self: Any) -> None` +###   ***def*** `terminate_all(self: Any) -> None` - +  -####   ***def*** `is_process_alive(self: Any, name: str) -> bool` +###   ***def*** `is_process_alive(self: Any, name: str) -> bool` + + 检查进程是否存活 - 检查进程是否存活 Args: + name: + + Returns: diff --git a/docs/dev/api/dev/observer.md b/docs/dev/api/dev/observer.md index b1f54c41..96f39562 100644 --- a/docs/dev/api/dev/observer.md +++ b/docs/dev/api/dev/observer.md @@ -12,37 +12,23 @@ category: API ### ***def*** `on_file_system_event(directories: tuple[str], recursive: bool, event_filter: FILTER_FUNC) -> Callable[[CALLBACK_FUNC], CALLBACK_FUNC]` 注册文件系统变化监听器 + Args: + directories: 监听目录们 + recursive: 是否递归监听子目录 + event_filter: 事件过滤器, 返回True则执行回调函数 + Returns: + 装饰器,装饰一个函数在接收到数据后执行 ### ***def*** `decorator(func: Any) -> None` -### ***def*** `on_modified(self: Any, event: Any) -> None` - - - -### ***def*** `on_created(self: Any, event: Any) -> None` - - - -### ***def*** `on_deleted(self: Any, event: Any) -> None` - - - -### ***def*** `on_moved(self: Any, event: Any) -> None` - - - -### ***def*** `on_any_event(self: Any, event: Any) -> None` - - - ### ***def*** `decorator(func: CALLBACK_FUNC) -> CALLBACK_FUNC` @@ -59,23 +45,23 @@ Returns: Handler for code file changes -####   ***def*** `on_modified(self: Any, event: Any) -> None` +###   ***def*** `on_modified(self: Any, event: Any) -> None` - +  -####   ***def*** `on_created(self: Any, event: Any) -> None` +###   ***def*** `on_created(self: Any, event: Any) -> None` - +  -####   ***def*** `on_deleted(self: Any, event: Any) -> None` +###   ***def*** `on_deleted(self: Any, event: Any) -> None` - +  -####   ***def*** `on_moved(self: Any, event: Any) -> None` +###   ***def*** `on_moved(self: Any, event: Any) -> None` - +  -####   ***def*** `on_any_event(self: Any, event: Any) -> None` +###   ***def*** `on_any_event(self: Any, event: Any) -> None` - +  diff --git a/docs/dev/api/dev/plugin.md b/docs/dev/api/dev/plugin.md index 40f118f5..b9cc0279 100644 --- a/docs/dev/api/dev/plugin.md +++ b/docs/dev/api/dev/plugin.md @@ -8,6 +8,8 @@ category: API ### ***def*** `run_plugins() -> None` 运行插件,无需手动初始化bot + Args: + module_path: 插件路径,参考`liteyuki.load_plugin`的函数签名 diff --git a/docs/dev/api/log.md b/docs/dev/api/log.md index 30812a21..44ba003e 100644 --- a/docs/dev/api/log.md +++ b/docs/dev/api/log.md @@ -12,5 +12,6 @@ category: API ### ***def*** `init_log(config: dict) -> None` 在语言加载完成后执行 + Returns: diff --git a/docs/dev/api/plugin/README.md b/docs/dev/api/plugin/README.md index aa484ffd..2e7020f9 100644 --- a/docs/dev/api/plugin/README.md +++ b/docs/dev/api/plugin/README.md @@ -8,6 +8,8 @@ category: API ### ***def*** `get_loaded_plugins() -> dict[str, Plugin]` 获取已加载的插件 + Returns: + dict[str, Plugin]: 插件字典 diff --git a/docs/dev/api/plugin/load.md b/docs/dev/api/plugin/load.md index 465bf82d..11078545 100644 --- a/docs/dev/api/plugin/load.md +++ b/docs/dev/api/plugin/load.md @@ -9,25 +9,39 @@ category: API 加载单个插件,可以是本地插件或是通过 `pip` 安装的插件。 + + 参数: + module_path: 插件名称 `path.to.your.plugin` + 或插件路径 `pathlib.Path(path/to/your/plugin)` ### ***def*** `load_plugins() -> set[Plugin]` 导入文件夹下多个插件 + + 参数: + plugin_dir: 文件夹路径 + ignore_warning: 是否忽略警告,通常是目录不存在或目录为空 ### ***def*** `format_display_name(display_name: str, plugin_type: PluginType) -> str` 设置插件名称颜色,根据不同类型插件设置颜色 + Args: + display_name: 插件名称 + plugin_type: 插件类型 + + Returns: + str: 设置后的插件名称 name diff --git a/docs/dev/api/plugin/model.md b/docs/dev/api/plugin/model.md index 1f17b2d3..f7eb3678 100644 --- a/docs/dev/api/plugin/model.md +++ b/docs/dev/api/plugin/model.md @@ -9,52 +9,57 @@ category: API 插件类型枚举值 -####   ***attr*** `APPLICATION` +###   ***attr*** `APPLICATION: 'application'` - Type: 'application' +###   ***attr*** `SERVICE: 'service'` -####   ***attr*** `SERVICE` +###   ***attr*** `IMPLEMENTATION: 'implementation'` - Type: 'service' +###   ***attr*** `MODULE: 'module'` -####   ***attr*** `IMPLEMENTATION` - - Type: 'implementation' - -####   ***attr*** `MODULE` - - Type: 'module' - -####   ***attr*** `UNCLASSIFIED` - - Type: 'unclassified' +###   ***attr*** `UNCLASSIFIED: 'unclassified'` ### ***class*** `PluginMetadata(BaseModel)` 轻雪插件元数据,由插件编写者提供,name为必填项 + Attributes: + ---------- + + name: str + 插件名称 + description: str + 插件描述 + usage: str + 插件使用方法 + type: str + 插件类型 + author: str + 插件作者 + homepage: str + 插件主页 + extra: dict[str, Any] + 额外信息 ### ***class*** `Plugin(BaseModel)` 存储插件信息 -####   ***attr*** `model_config` - - Type: {'arbitrary_types_allowed': True} +###   ***attr*** `model_config: {'arbitrary_types_allowed': True}` diff --git a/docs/dev/api/utils.md b/docs/dev/api/utils.md index e8767e15..a0b757f8 100644 --- a/docs/dev/api/utils.md +++ b/docs/dev/api/utils.md @@ -8,33 +8,49 @@ category: API ### ***def*** `is_coroutine_callable(call: Callable[..., Any]) -> bool` 判断是否为协程可调用对象 + Args: + call: 可调用对象 + Returns: + bool: 是否为协程可调用对象 ### ***def*** `run_coroutine() -> None` 运行协程 + Args: + coro: + + Returns: ### ***def*** `path_to_module_name(path: Path) -> str` 转换路径为模块名 + Args: + path: 路径a/b/c/d -> a.b.c.d + Returns: + str: 模块名 ### ***def*** `async_wrapper(func: Callable[..., Any]) -> Callable[..., Coroutine]` 异步包装器 + Args: + func: Sync Callable + Returns: + Coroutine: Asynchronous Callable ### ***async def*** `wrapper() -> None` diff --git a/docs/en/dev/api/liteyuki/bot/README.md b/docs/en/dev/api/liteyuki/bot/README.md index 554e89a6..2fbffed8 100644 --- a/docs/en/dev/api/liteyuki/bot/README.md +++ b/docs/en/dev/api/liteyuki/bot/README.md @@ -9,217 +9,177 @@ category: API 获取轻雪实例 + + Returns: + LiteyukiBot: 当前的轻雪实例 ### ***def*** `get_config(key: str, default: Any) -> Any` 获取配置 + Args: + key: 配置键 + default: 默认值 + + Returns: + Any: 配置值 ### ***def*** `get_config_with_compat(key: str, compat_keys: tuple[str], default: Any) -> Any` 获取配置,兼容旧版本 + Args: + key: 配置键 + compat_keys: 兼容键 + default: 默认值 + + Returns: + Any: 配置值 ### ***def*** `print_logo() -> None` -### ***def*** `run(self: Any) -> None` - -启动逻辑 - -### ***def*** `keep_alive(self: Any) -> None` - -保持轻雪运行 -Returns: - -### ***def*** `restart(self: Any, delay: int) -> None` - -重启轻雪本体 -Returns: - -### ***def*** `restart_process(self: Any, name: Optional[str]) -> None` - -停止轻雪 -Args: - name: 进程名称, 默认为None, 所有进程 -Returns: - -### ***def*** `init(self: Any) -> None` - -初始化轻雪, 自动调用 -Returns: - -### ***def*** `init_logger(self: Any) -> None` - - - -### ***def*** `stop(self: Any) -> None` - -停止轻雪 -Returns: - -### ***def*** `on_before_start(self: Any, func: LIFESPAN_FUNC) -> None` - -注册启动前的函数 -Args: - func: - -Returns: - -### ***def*** `on_after_start(self: Any, func: LIFESPAN_FUNC) -> None` - -注册启动后的函数 -Args: - func: - -Returns: - -### ***def*** `on_after_shutdown(self: Any, func: LIFESPAN_FUNC) -> None` - -注册停止后的函数:未实现 -Args: - func: - -Returns: - -### ***def*** `on_before_process_shutdown(self: Any, func: LIFESPAN_FUNC) -> None` - -注册进程停止前的函数,为子进程停止时调用 -Args: - func: - -Returns: - -### ***def*** `on_before_process_restart(self: Any, func: LIFESPAN_FUNC) -> None` - -注册进程重启前的函数,为子进程重启时调用 -Args: - func: - -Returns: - -### ***def*** `on_after_restart(self: Any, func: LIFESPAN_FUNC) -> None` - -注册重启后的函数:未实现 -Args: - func: - -Returns: - -### ***def*** `on_after_nonebot_init(self: Any, func: LIFESPAN_FUNC) -> None` - -注册nonebot初始化后的函数 -Args: - func: - -Returns: - ### ***class*** `LiteyukiBot` -####   ***def*** `run(self: Any) -> None` +###   ***def*** `run(self: Any) -> None` - 启动逻辑 + 启动逻辑 -####   ***def*** `keep_alive(self: Any) -> None` +###   ***def*** `keep_alive(self: Any) -> None` + + 保持轻雪运行 - 保持轻雪运行 Returns: -####   ***def*** `restart(self: Any, delay: int) -> None` +###   ***def*** `restart(self: Any, delay: int) -> None` + + 重启轻雪本体 - 重启轻雪本体 Returns: -####   ***def*** `restart_process(self: Any, name: Optional[str]) -> None` +###   ***def*** `restart_process(self: Any, name: Optional[str]) -> None` + + 停止轻雪 - 停止轻雪 Args: + name: 进程名称, 默认为None, 所有进程 + Returns: -####   ***def*** `init(self: Any) -> None` +###   ***def*** `init(self: Any) -> None` + + 初始化轻雪, 自动调用 - 初始化轻雪, 自动调用 Returns: -####   ***def*** `init_logger(self: Any) -> None` +###   ***def*** `init_logger(self: Any) -> None` - +  -####   ***def*** `stop(self: Any) -> None` +###   ***def*** `stop(self: Any) -> None` + + 停止轻雪 - 停止轻雪 Returns: -####   ***def*** `on_before_start(self: Any, func: LIFESPAN_FUNC) -> None` +###   ***def*** `on_before_start(self: Any, func: LIFESPAN_FUNC) -> None` + + 注册启动前的函数 - 注册启动前的函数 Args: + func: + + Returns: -####   ***def*** `on_after_start(self: Any, func: LIFESPAN_FUNC) -> None` +###   ***def*** `on_after_start(self: Any, func: LIFESPAN_FUNC) -> None` + + 注册启动后的函数 - 注册启动后的函数 Args: + func: + + Returns: -####   ***def*** `on_after_shutdown(self: Any, func: LIFESPAN_FUNC) -> None` +###   ***def*** `on_after_shutdown(self: Any, func: LIFESPAN_FUNC) -> None` + + 注册停止后的函数:未实现 - 注册停止后的函数:未实现 Args: + func: + + Returns: -####   ***def*** `on_before_process_shutdown(self: Any, func: LIFESPAN_FUNC) -> None` +###   ***def*** `on_before_process_shutdown(self: Any, func: LIFESPAN_FUNC) -> None` + + 注册进程停止前的函数,为子进程停止时调用 - 注册进程停止前的函数,为子进程停止时调用 Args: + func: + + Returns: -####   ***def*** `on_before_process_restart(self: Any, func: LIFESPAN_FUNC) -> None` +###   ***def*** `on_before_process_restart(self: Any, func: LIFESPAN_FUNC) -> None` + + 注册进程重启前的函数,为子进程重启时调用 - 注册进程重启前的函数,为子进程重启时调用 Args: + func: + + Returns: -####   ***def*** `on_after_restart(self: Any, func: LIFESPAN_FUNC) -> None` +###   ***def*** `on_after_restart(self: Any, func: LIFESPAN_FUNC) -> None` + + 注册重启后的函数:未实现 - 注册重启后的函数:未实现 Args: + func: + + Returns: -####   ***def*** `on_after_nonebot_init(self: Any, func: LIFESPAN_FUNC) -> None` +###   ***def*** `on_after_nonebot_init(self: Any, func: LIFESPAN_FUNC) -> None` + + 注册nonebot初始化后的函数 - 注册nonebot初始化后的函数 Args: + func: + + Returns: diff --git a/docs/en/dev/api/liteyuki/bot/lifespan.md b/docs/en/dev/api/liteyuki/bot/lifespan.md index 010f8dc0..840cbe71 100644 --- a/docs/en/dev/api/liteyuki/bot/lifespan.md +++ b/docs/en/dev/api/liteyuki/bot/lifespan.md @@ -8,194 +8,147 @@ category: API ### ***def*** `run_funcs(funcs: list[LIFESPAN_FUNC | PROCESS_LIFESPAN_FUNC]) -> None` 运行函数 + Args: + funcs: -Returns: -### ***def*** `on_before_start(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` - -注册启动时的函数 -Args: - func: -Returns: - LIFESPAN_FUNC: - -### ***def*** `on_after_start(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` - -注册启动时的函数 -Args: - func: -Returns: - LIFESPAN_FUNC: - -### ***def*** `on_before_process_shutdown(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` - -注册停止前的函数 -Args: - func: -Returns: - LIFESPAN_FUNC: - -### ***def*** `on_after_shutdown(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` - -注册停止后的函数 -Args: - func: - -Returns: - LIFESPAN_FUNC: - -### ***def*** `on_before_process_restart(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` - -注册重启时的函数 -Args: - func: -Returns: - LIFESPAN_FUNC: - -### ***def*** `on_after_restart(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` - -注册重启后的函数 -Args: - func: -Returns: - LIFESPAN_FUNC: - -### ***def*** `on_after_nonebot_init(self: Any, func: Any) -> None` - -注册 NoneBot 初始化后的函数 -Args: - func: - -Returns: - -### ***def*** `before_start(self: Any) -> None` - -启动前 -Returns: - -### ***def*** `after_start(self: Any) -> None` - -启动后 -Returns: - -### ***def*** `before_process_shutdown(self: Any) -> None` - -停止前 -Returns: - -### ***def*** `after_shutdown(self: Any) -> None` - -停止后 -Returns: - -### ***def*** `before_process_restart(self: Any) -> None` - -重启前 -Returns: - -### ***def*** `after_restart(self: Any) -> None` - -重启后 Returns: ### ***class*** `Lifespan` -#### `@staticmethod` +###   ***@staticmethod*** +###   ***def*** `run_funcs(funcs: list[LIFESPAN_FUNC | PROCESS_LIFESPAN_FUNC]) -> None` -####   ***def*** `run_funcs(funcs: list[LIFESPAN_FUNC | PROCESS_LIFESPAN_FUNC]) -> None` + 运行函数 - 运行函数 Args: + funcs: + Returns: -####   ***def*** `on_before_start(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` +###   ***def*** `on_before_start(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` + + 注册启动时的函数 - 注册启动时的函数 Args: + func: + Returns: + LIFESPAN_FUNC: -####   ***def*** `on_after_start(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` +###   ***def*** `on_after_start(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` + + 注册启动时的函数 - 注册启动时的函数 Args: + func: + Returns: + LIFESPAN_FUNC: -####   ***def*** `on_before_process_shutdown(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` +###   ***def*** `on_before_process_shutdown(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` + + 注册停止前的函数 - 注册停止前的函数 Args: + func: + Returns: + LIFESPAN_FUNC: -####   ***def*** `on_after_shutdown(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` +###   ***def*** `on_after_shutdown(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` + + 注册停止后的函数 - 注册停止后的函数 Args: + func: + + Returns: + LIFESPAN_FUNC: -####   ***def*** `on_before_process_restart(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` +###   ***def*** `on_before_process_restart(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` + + 注册重启时的函数 - 注册重启时的函数 Args: + func: + Returns: + LIFESPAN_FUNC: -####   ***def*** `on_after_restart(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` +###   ***def*** `on_after_restart(self: Any, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC` + + 注册重启后的函数 - 注册重启后的函数 Args: + func: + Returns: + LIFESPAN_FUNC: -####   ***def*** `on_after_nonebot_init(self: Any, func: Any) -> None` +###   ***def*** `on_after_nonebot_init(self: Any, func: Any) -> None` + + 注册 NoneBot 初始化后的函数 - 注册 NoneBot 初始化后的函数 Args: + func: + + Returns: -####   ***def*** `before_start(self: Any) -> None` +###   ***def*** `before_start(self: Any) -> None` + + 启动前 - 启动前 Returns: -####   ***def*** `after_start(self: Any) -> None` +###   ***def*** `after_start(self: Any) -> None` + + 启动后 - 启动后 Returns: -####   ***def*** `before_process_shutdown(self: Any) -> None` +###   ***def*** `before_process_shutdown(self: Any) -> None` + + 停止前 - 停止前 Returns: -####   ***def*** `after_shutdown(self: Any) -> None` +###   ***def*** `after_shutdown(self: Any) -> None` + + 停止后 - 停止后 Returns: -####   ***def*** `before_process_restart(self: Any) -> None` +###   ***def*** `before_process_restart(self: Any) -> None` + + 重启前 - 重启前 Returns: -####   ***def*** `after_restart(self: Any) -> None` +###   ***def*** `after_restart(self: Any) -> None` + + 重启后 - 重启后 Returns: diff --git a/docs/en/dev/api/liteyuki/comm/channel.md b/docs/en/dev/api/liteyuki/comm/channel.md index ac22ded8..f38420cc 100644 --- a/docs/en/dev/api/liteyuki/comm/channel.md +++ b/docs/en/dev/api/liteyuki/comm/channel.md @@ -8,51 +8,37 @@ category: API ### ***def*** `set_channel(name: str, channel: Channel) -> None` 设置通道实例 + Args: + name: 通道名称 + channel: 通道实例 ### ***def*** `set_channels(channels: dict[str, Channel]) -> None` 设置通道实例 + Args: + channels: 通道名称 ### ***def*** `get_channel(name: str) -> Channel` 获取通道实例 + Args: + name: 通道名称 + Returns: ### ***def*** `get_channels() -> dict[str, Channel]` 获取通道实例 + Returns: -### ***def*** `send(self: Any, data: T) -> None` - -发送数据 -Args: - data: 数据 - -### ***def*** `receive(self: Any) -> T` - -接收数据 -Args: - -### ***def*** `close(self: Any) -> None` - -关闭通道 - -### ***def*** `on_receive(self: Any, filter_func: Optional[FILTER_FUNC]) -> Callable[[Callable[[T], Any]], Callable[[T], Any]]` - -接收数据并执行函数 -Args: - filter_func: 过滤函数,为None则不过滤 -Returns: - 装饰器,装饰一个函数在接收到数据后执行 - ### ***def*** `on_set_channel(data: tuple[str, dict[str, Any]]) -> None` @@ -76,28 +62,36 @@ Returns: ### ***class*** `Channel(Generic[T])` 通道类,可以在进程间和进程内通信,双向但同时只能有一个发送者和一个接收者 + 有两种接收工作方式,但是只能选择一种,主动接收和被动接收,主动接收使用 `receive` 方法,被动接收使用 `on_receive` 装饰器 -####   ***def*** `send(self: Any, data: T) -> None` +###   ***def*** `send(self: Any, data: T) -> None` + + 发送数据 - 发送数据 Args: + data: 数据 -####   ***def*** `receive(self: Any) -> T` +###   ***def*** `receive(self: Any) -> T` + + 接收数据 - 接收数据 Args: -####   ***def*** `close(self: Any) -> None` +###   ***def*** `close(self: Any) -> None` - 关闭通道 + 关闭通道 -####   ***def*** `on_receive(self: Any, filter_func: Optional[FILTER_FUNC]) -> Callable[[Callable[[T], Any]], Callable[[T], Any]]` +###   ***def*** `on_receive(self: Any, filter_func: Optional[FILTER_FUNC]) -> Callable[[Callable[[T], Any]], Callable[[T], Any]]` + + 接收数据并执行函数 - 接收数据并执行函数 Args: + filter_func: 过滤函数,为None则不过滤 + Returns: + 装饰器,装饰一个函数在接收到数据后执行 diff --git a/docs/en/dev/api/liteyuki/comm/storage.md b/docs/en/dev/api/liteyuki/comm/storage.md index e0536ff3..f172684c 100644 --- a/docs/en/dev/api/liteyuki/comm/storage.md +++ b/docs/en/dev/api/liteyuki/comm/storage.md @@ -5,42 +5,6 @@ icon: laptop-code category: API --- -### ***def*** `set(self: Any, key: str, value: Any) -> None` - -设置键值对 -Args: - key: 键 - value: 值 - -### ***def*** `get(self: Any, key: str, default: Optional[Any]) -> Optional[Any]` - -获取键值对 -Args: - key: 键 - default: 默认值 - -Returns: - Any: 值 - -### ***def*** `delete(self: Any, key: str, ignore_key_error: bool) -> None` - -删除键值对 -Args: - key: 键 - ignore_key_error: 是否忽略键不存在的错误 - -Returns: - -### ***def*** `get_all(self: Any) -> dict[str, Any]` - -获取所有键值对 -Returns: - dict[str, Any]: 键值对 - -### ***def*** `get_instance(cls: Any) -> None` - - - ### ***def*** `on_get(data: tuple[str, dict[str, Any]]) -> None` @@ -61,53 +25,64 @@ Returns: -####   ***def*** `set(self: Any, key: str, value: Any) -> None` +###   ***def*** `set(self: Any, key: str, value: Any) -> None` + + 设置键值对 - 设置键值对 Args: + key: 键 + value: 值 -####   ***def*** `get(self: Any, key: str, default: Optional[Any]) -> Optional[Any]` +###   ***def*** `get(self: Any, key: str, default: Optional[Any]) -> Optional[Any]` + + 获取键值对 - 获取键值对 Args: + key: 键 + default: 默认值 + + Returns: + Any: 值 -####   ***def*** `delete(self: Any, key: str, ignore_key_error: bool) -> None` +###   ***def*** `delete(self: Any, key: str, ignore_key_error: bool) -> None` + + 删除键值对 - 删除键值对 Args: + key: 键 + ignore_key_error: 是否忽略键不存在的错误 + + Returns: -####   ***def*** `get_all(self: Any) -> dict[str, Any]` +###   ***def*** `get_all(self: Any) -> dict[str, Any]` + + 获取所有键值对 - 获取所有键值对 Returns: + dict[str, Any]: 键值对 ### ***class*** `GlobalKeyValueStore` -#### `@classmethod` +###   ***@classmethod*** +###   ***def*** `get_instance(cls: Any) -> None` -####   ***def*** `get_instance(cls: Any) -> None` +  - +###   ***attr*** `_instance: None` -####   ***attr*** `_instance` - - Type: None - -####   ***attr*** `_lock` - - Type: threading.Lock() +###   ***attr*** `_lock: threading.Lock()` diff --git a/docs/en/dev/api/liteyuki/config.md b/docs/en/dev/api/liteyuki/config.md index 87f8ff96..d57e0395 100644 --- a/docs/en/dev/api/liteyuki/config.md +++ b/docs/en/dev/api/liteyuki/config.md @@ -9,11 +9,18 @@ category: API 扁平化配置文件 + + {a:{b:{c:1}}} -> {"a.b.c": 1} + Args: + config: 配置项目 + + Returns: + 扁平化后的配置文件,但也包含原有的键值对 ### ***def*** `load_from_yaml(file: str) -> dict[str, Any]` @@ -31,18 +38,23 @@ Load config from toml file ### ***def*** `load_from_files() -> dict[str, Any]` 从指定文件加载配置项,会自动识别文件格式 + 默认执行扁平化选项 ### ***def*** `load_configs_from_dirs() -> dict[str, Any]` 从目录下加载配置文件,不递归 + 按照读取文件的优先级反向覆盖 + 默认执行扁平化选项 ### ***def*** `load_config_in_default(no_waring: bool) -> dict[str, Any]` 从一个标准的轻雪项目加载配置文件 + 项目目录下的config.*和config目录下的所有配置文件 + 项目目录下的配置文件优先 ### ***class*** `SatoriNodeConfig(BaseModel)` diff --git a/docs/en/dev/api/liteyuki/core/manager.md b/docs/en/dev/api/liteyuki/core/manager.md index 5bfd65c1..22502298 100644 --- a/docs/en/dev/api/liteyuki/core/manager.md +++ b/docs/en/dev/api/liteyuki/core/manager.md @@ -5,50 +5,6 @@ icon: laptop-code category: API --- -### ***def*** `start(self: Any, name: str) -> None` - -开启后自动监控进程,并添加到进程字典中 -Args: - name: -Returns: - -### ***def*** `start_all(self: Any) -> None` - -启动所有进程 - -### ***def*** `add_target(self: Any, name: str, target: TARGET_FUNC, args: tuple, kwargs: Any) -> None` - -添加进程 -Args: - name: 进程名,用于获取和唯一标识 - target: 进程函数 - args: 进程函数参数 - kwargs: 进程函数关键字参数,通常会默认传入chan_active和chan_passive - -### ***def*** `join_all(self: Any) -> None` - - - -### ***def*** `terminate(self: Any, name: str) -> None` - -终止进程并从进程字典中删除 -Args: - name: - -Returns: - -### ***def*** `terminate_all(self: Any) -> None` - - - -### ***def*** `is_process_alive(self: Any, name: str) -> bool` - -检查进程是否存活 -Args: - name: - -Returns: - ### ***class*** `ChannelDeliver` @@ -57,47 +13,63 @@ Returns: 进程管理器 -####   ***def*** `start(self: Any, name: str) -> None` +###   ***def*** `start(self: Any, name: str) -> None` + + 开启后自动监控进程,并添加到进程字典中 - 开启后自动监控进程,并添加到进程字典中 Args: + name: + Returns: -####   ***def*** `start_all(self: Any) -> None` +###   ***def*** `start_all(self: Any) -> None` - 启动所有进程 + 启动所有进程 -####   ***def*** `add_target(self: Any, name: str, target: TARGET_FUNC, args: tuple, kwargs: Any) -> None` +###   ***def*** `add_target(self: Any, name: str, target: TARGET_FUNC, args: tuple, kwargs: Any) -> None` + + 添加进程 - 添加进程 Args: + name: 进程名,用于获取和唯一标识 + target: 进程函数 + args: 进程函数参数 + kwargs: 进程函数关键字参数,通常会默认传入chan_active和chan_passive -####   ***def*** `join_all(self: Any) -> None` +###   ***def*** `join_all(self: Any) -> None` - +  -####   ***def*** `terminate(self: Any, name: str) -> None` +###   ***def*** `terminate(self: Any, name: str) -> None` + + 终止进程并从进程字典中删除 - 终止进程并从进程字典中删除 Args: + name: + + Returns: -####   ***def*** `terminate_all(self: Any) -> None` +###   ***def*** `terminate_all(self: Any) -> None` - +  -####   ***def*** `is_process_alive(self: Any, name: str) -> bool` +###   ***def*** `is_process_alive(self: Any, name: str) -> bool` + + 检查进程是否存活 - 检查进程是否存活 Args: + name: + + Returns: diff --git a/docs/en/dev/api/liteyuki/dev/observer.md b/docs/en/dev/api/liteyuki/dev/observer.md index b1f54c41..96f39562 100644 --- a/docs/en/dev/api/liteyuki/dev/observer.md +++ b/docs/en/dev/api/liteyuki/dev/observer.md @@ -12,37 +12,23 @@ category: API ### ***def*** `on_file_system_event(directories: tuple[str], recursive: bool, event_filter: FILTER_FUNC) -> Callable[[CALLBACK_FUNC], CALLBACK_FUNC]` 注册文件系统变化监听器 + Args: + directories: 监听目录们 + recursive: 是否递归监听子目录 + event_filter: 事件过滤器, 返回True则执行回调函数 + Returns: + 装饰器,装饰一个函数在接收到数据后执行 ### ***def*** `decorator(func: Any) -> None` -### ***def*** `on_modified(self: Any, event: Any) -> None` - - - -### ***def*** `on_created(self: Any, event: Any) -> None` - - - -### ***def*** `on_deleted(self: Any, event: Any) -> None` - - - -### ***def*** `on_moved(self: Any, event: Any) -> None` - - - -### ***def*** `on_any_event(self: Any, event: Any) -> None` - - - ### ***def*** `decorator(func: CALLBACK_FUNC) -> CALLBACK_FUNC` @@ -59,23 +45,23 @@ Returns: Handler for code file changes -####   ***def*** `on_modified(self: Any, event: Any) -> None` +###   ***def*** `on_modified(self: Any, event: Any) -> None` - +  -####   ***def*** `on_created(self: Any, event: Any) -> None` +###   ***def*** `on_created(self: Any, event: Any) -> None` - +  -####   ***def*** `on_deleted(self: Any, event: Any) -> None` +###   ***def*** `on_deleted(self: Any, event: Any) -> None` - +  -####   ***def*** `on_moved(self: Any, event: Any) -> None` +###   ***def*** `on_moved(self: Any, event: Any) -> None` - +  -####   ***def*** `on_any_event(self: Any, event: Any) -> None` +###   ***def*** `on_any_event(self: Any, event: Any) -> None` - +  diff --git a/docs/en/dev/api/liteyuki/dev/plugin.md b/docs/en/dev/api/liteyuki/dev/plugin.md index 40f118f5..b9cc0279 100644 --- a/docs/en/dev/api/liteyuki/dev/plugin.md +++ b/docs/en/dev/api/liteyuki/dev/plugin.md @@ -8,6 +8,8 @@ category: API ### ***def*** `run_plugins() -> None` 运行插件,无需手动初始化bot + Args: + module_path: 插件路径,参考`liteyuki.load_plugin`的函数签名 diff --git a/docs/en/dev/api/liteyuki/log.md b/docs/en/dev/api/liteyuki/log.md index 30812a21..44ba003e 100644 --- a/docs/en/dev/api/liteyuki/log.md +++ b/docs/en/dev/api/liteyuki/log.md @@ -12,5 +12,6 @@ category: API ### ***def*** `init_log(config: dict) -> None` 在语言加载完成后执行 + Returns: diff --git a/docs/en/dev/api/liteyuki/plugin/README.md b/docs/en/dev/api/liteyuki/plugin/README.md index aa484ffd..2e7020f9 100644 --- a/docs/en/dev/api/liteyuki/plugin/README.md +++ b/docs/en/dev/api/liteyuki/plugin/README.md @@ -8,6 +8,8 @@ category: API ### ***def*** `get_loaded_plugins() -> dict[str, Plugin]` 获取已加载的插件 + Returns: + dict[str, Plugin]: 插件字典 diff --git a/docs/en/dev/api/liteyuki/plugin/load.md b/docs/en/dev/api/liteyuki/plugin/load.md index 465bf82d..11078545 100644 --- a/docs/en/dev/api/liteyuki/plugin/load.md +++ b/docs/en/dev/api/liteyuki/plugin/load.md @@ -9,25 +9,39 @@ category: API 加载单个插件,可以是本地插件或是通过 `pip` 安装的插件。 + + 参数: + module_path: 插件名称 `path.to.your.plugin` + 或插件路径 `pathlib.Path(path/to/your/plugin)` ### ***def*** `load_plugins() -> set[Plugin]` 导入文件夹下多个插件 + + 参数: + plugin_dir: 文件夹路径 + ignore_warning: 是否忽略警告,通常是目录不存在或目录为空 ### ***def*** `format_display_name(display_name: str, plugin_type: PluginType) -> str` 设置插件名称颜色,根据不同类型插件设置颜色 + Args: + display_name: 插件名称 + plugin_type: 插件类型 + + Returns: + str: 设置后的插件名称 name diff --git a/docs/en/dev/api/liteyuki/plugin/model.md b/docs/en/dev/api/liteyuki/plugin/model.md index 1f17b2d3..f7eb3678 100644 --- a/docs/en/dev/api/liteyuki/plugin/model.md +++ b/docs/en/dev/api/liteyuki/plugin/model.md @@ -9,52 +9,57 @@ category: API 插件类型枚举值 -####   ***attr*** `APPLICATION` +###   ***attr*** `APPLICATION: 'application'` - Type: 'application' +###   ***attr*** `SERVICE: 'service'` -####   ***attr*** `SERVICE` +###   ***attr*** `IMPLEMENTATION: 'implementation'` - Type: 'service' +###   ***attr*** `MODULE: 'module'` -####   ***attr*** `IMPLEMENTATION` - - Type: 'implementation' - -####   ***attr*** `MODULE` - - Type: 'module' - -####   ***attr*** `UNCLASSIFIED` - - Type: 'unclassified' +###   ***attr*** `UNCLASSIFIED: 'unclassified'` ### ***class*** `PluginMetadata(BaseModel)` 轻雪插件元数据,由插件编写者提供,name为必填项 + Attributes: + ---------- + + name: str + 插件名称 + description: str + 插件描述 + usage: str + 插件使用方法 + type: str + 插件类型 + author: str + 插件作者 + homepage: str + 插件主页 + extra: dict[str, Any] + 额外信息 ### ***class*** `Plugin(BaseModel)` 存储插件信息 -####   ***attr*** `model_config` - - Type: {'arbitrary_types_allowed': True} +###   ***attr*** `model_config: {'arbitrary_types_allowed': True}` diff --git a/docs/en/dev/api/liteyuki/utils.md b/docs/en/dev/api/liteyuki/utils.md index e8767e15..a0b757f8 100644 --- a/docs/en/dev/api/liteyuki/utils.md +++ b/docs/en/dev/api/liteyuki/utils.md @@ -8,33 +8,49 @@ category: API ### ***def*** `is_coroutine_callable(call: Callable[..., Any]) -> bool` 判断是否为协程可调用对象 + Args: + call: 可调用对象 + Returns: + bool: 是否为协程可调用对象 ### ***def*** `run_coroutine() -> None` 运行协程 + Args: + coro: + + Returns: ### ***def*** `path_to_module_name(path: Path) -> str` 转换路径为模块名 + Args: + path: 路径a/b/c/d -> a.b.c.d + Returns: + str: 模块名 ### ***def*** `async_wrapper(func: Callable[..., Any]) -> Callable[..., Coroutine]` 异步包装器 + Args: + func: Sync Callable + Returns: + Coroutine: Asynchronous Callable ### ***async def*** `wrapper() -> None`