ErisPulse 2.3.2__py3-none-any.whl → 2.3.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. ErisPulse/Core/Bases/__init__.pyi +14 -0
  2. ErisPulse/Core/Bases/adapter.py +13 -1
  3. ErisPulse/Core/Bases/adapter.pyi +140 -0
  4. ErisPulse/Core/Bases/module.pyi +52 -0
  5. ErisPulse/Core/Event/__init__.py +3 -1
  6. ErisPulse/Core/Event/__init__.pyi +26 -0
  7. ErisPulse/Core/Event/base.py +5 -0
  8. ErisPulse/Core/Event/base.pyi +62 -0
  9. ErisPulse/Core/Event/command.py +66 -17
  10. ErisPulse/Core/Event/command.pyi +113 -0
  11. ErisPulse/Core/Event/exceptions.pyi +43 -0
  12. ErisPulse/Core/Event/message.pyi +93 -0
  13. ErisPulse/Core/Event/meta.pyi +92 -0
  14. ErisPulse/Core/Event/notice.pyi +108 -0
  15. ErisPulse/Core/Event/request.pyi +76 -0
  16. ErisPulse/Core/Event/wrapper.py +592 -0
  17. ErisPulse/Core/Event/wrapper.pyi +404 -0
  18. ErisPulse/Core/__init__.py +16 -8
  19. ErisPulse/Core/__init__.pyi +17 -0
  20. ErisPulse/Core/_self_config.pyi +72 -0
  21. ErisPulse/Core/adapter.pyi +229 -0
  22. ErisPulse/Core/config.pyi +70 -0
  23. ErisPulse/Core/exceptions.pyi +60 -0
  24. ErisPulse/Core/lifecycle.py +6 -1
  25. ErisPulse/Core/lifecycle.pyi +92 -0
  26. ErisPulse/Core/logger.pyi +168 -0
  27. ErisPulse/Core/module.pyi +178 -0
  28. ErisPulse/Core/router.pyi +120 -0
  29. ErisPulse/Core/storage.pyi +273 -0
  30. ErisPulse/Core/ux.pyi +94 -0
  31. ErisPulse/__init__.py +10 -5
  32. ErisPulse/__init__.pyi +310 -0
  33. ErisPulse/__main__.py +0 -5
  34. ErisPulse/__main__.pyi +24 -0
  35. ErisPulse/sdk_protocol.py +150 -0
  36. ErisPulse/sdk_protocol.pyi +100 -0
  37. ErisPulse/utils/__init__.pyi +16 -0
  38. ErisPulse/utils/cli.pyi +145 -0
  39. ErisPulse/utils/console.pyi +20 -0
  40. ErisPulse/utils/package_manager.pyi +224 -0
  41. ErisPulse/utils/reload_handler.pyi +64 -0
  42. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Bases/__init__.pyi +14 -0
  43. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Bases/adapter.pyi +140 -0
  44. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Bases/module.pyi +52 -0
  45. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Event/__init__.pyi +26 -0
  46. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Event/base.pyi +62 -0
  47. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Event/command.pyi +113 -0
  48. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Event/exceptions.pyi +43 -0
  49. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Event/message.pyi +93 -0
  50. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Event/meta.pyi +92 -0
  51. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Event/notice.pyi +108 -0
  52. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Event/request.pyi +76 -0
  53. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/Event/wrapper.pyi +404 -0
  54. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/__init__.pyi +17 -0
  55. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/_self_config.pyi +72 -0
  56. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/adapter.pyi +229 -0
  57. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/config.pyi +70 -0
  58. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/exceptions.pyi +60 -0
  59. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/lifecycle.pyi +92 -0
  60. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/logger.pyi +168 -0
  61. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/module.pyi +178 -0
  62. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/router.pyi +120 -0
  63. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/storage.pyi +273 -0
  64. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/Core/ux.pyi +94 -0
  65. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/__init__.pyi +310 -0
  66. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/__main__.pyi +24 -0
  67. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/sdk_protocol.pyi +100 -0
  68. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/utils/__init__.pyi +16 -0
  69. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/utils/cli.pyi +145 -0
  70. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/utils/console.pyi +20 -0
  71. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/utils/package_manager.pyi +224 -0
  72. erispulse-2.3.3.data/data/ErisPulse-stubs/ErisPulse/utils/reload_handler.pyi +64 -0
  73. {erispulse-2.3.2.dist-info → erispulse-2.3.3.dist-info}/METADATA +1 -3
  74. erispulse-2.3.3.dist-info/RECORD +98 -0
  75. erispulse-2.3.2.dist-info/RECORD +0 -34
  76. {erispulse-2.3.2.dist-info → erispulse-2.3.3.dist-info}/WHEEL +0 -0
  77. {erispulse-2.3.2.dist-info → erispulse-2.3.3.dist-info}/entry_points.txt +0 -0
  78. {erispulse-2.3.2.dist-info → erispulse-2.3.3.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,145 @@
1
+ # type: ignore
2
+ #
3
+ # Auto-generated type stub for cli.py
4
+ # DO NOT EDIT MANUALLY - Generated by generate-type-stubs.py
5
+ #
6
+
7
+ import argparse
8
+ import importlib.metadata
9
+ import sys
10
+ import os
11
+ import time
12
+ import asyncio
13
+ from typing import List, Dict, Optional, Any
14
+ from watchdog.observers import Observer
15
+ from rich.panel import Panel
16
+ from rich.table import Table
17
+ from rich.prompt import Confirm, Prompt
18
+ from rich.box import SIMPLE
19
+ from .console import console
20
+
21
+ class CLI:
22
+ """
23
+ ErisPulse命令行接口
24
+
25
+ 提供完整的命令行交互功能
26
+
27
+ {!--< tips >!--}
28
+ 1. 支持动态加载第三方命令
29
+ 2. 支持模块化子命令系统
30
+ {!--< /tips >!--}
31
+ """
32
+ def __init__(self: None) -> ...:
33
+ """
34
+ 初始化CLI
35
+ """
36
+ ...
37
+ def _create_parser(self: object) -> argparse.ArgumentParser:
38
+ """
39
+ 创建命令行参数解析器
40
+
41
+ :return: 配置好的ArgumentParser实例
42
+ """
43
+ ...
44
+ def _get_external_commands(self: object) -> List[str]:
45
+ """
46
+ 获取所有已注册的第三方命令名称
47
+
48
+ :return: 第三方命令名称列表
49
+ """
50
+ ...
51
+ def _load_external_commands(self: object, subparsers: ...) -> ...:
52
+ """
53
+ 加载第三方CLI命令
54
+
55
+ :param subparsers: 子命令解析器
56
+
57
+ :raises ImportError: 加载命令失败时抛出
58
+ """
59
+ ...
60
+ def _print_version(self: object) -> ...:
61
+ """
62
+ 打印版本信息
63
+ """
64
+ ...
65
+ def _print_installed_packages(self: object, pkg_type: str, outdated_only: bool = ...) -> ...:
66
+ """
67
+ 打印已安装包信息
68
+
69
+ :param pkg_type: 包类型 (modules/adapters/cli/all)
70
+ :param outdated_only: 是否只显示可升级的包
71
+ """
72
+ ...
73
+ def _print_remote_packages(self: object, pkg_type: str) -> ...:
74
+ """
75
+ 打印远程包信息
76
+
77
+ :param pkg_type: 包类型 (modules/adapters/cli/all)
78
+ """
79
+ ...
80
+ def _is_package_outdated(self: object, package_name: str, current_version: str) -> bool:
81
+ """
82
+ 检查包是否过时
83
+
84
+ :param package_name: 包名
85
+ :param current_version: 当前版本
86
+ :return: 是否有新版本可用
87
+ """
88
+ ...
89
+ def _resolve_package_name(self: object, short_name: str) -> Optional[str]:
90
+ """
91
+ 解析简称到完整包名(大小写不敏感)
92
+
93
+ :param short_name: 模块/适配器简称
94
+ :return: 完整包名,未找到返回None
95
+ """
96
+ ...
97
+ def _print_search_results(self: object, query: str, results: Dict[(str, List[Dict[(str, str)]])]) -> ...:
98
+ """
99
+ 打印搜索结果
100
+
101
+ :param query: 搜索关键词
102
+ :param results: 搜索结果
103
+ """
104
+ ...
105
+ def _print_version_list(self: object, versions: List[Dict[(str, Any)]], include_pre: bool = ...) -> ...:
106
+ """
107
+ 打印版本列表
108
+
109
+ :param versions: 版本信息列表
110
+ :param include_pre: 是否包含预发布版本
111
+ """
112
+ ...
113
+ def _setup_watchdog(self: object, script_path: str, reload_mode: bool) -> ...:
114
+ """
115
+ 设置文件监控
116
+
117
+ :param script_path: 要监控的脚本路径
118
+ :param reload_mode: 是否启用重载模式
119
+ """
120
+ ...
121
+ def _cleanup(self: object) -> ...:
122
+ """
123
+ 清理资源
124
+ """
125
+ ...
126
+ def run(self: object) -> ...:
127
+ """
128
+ 运行CLI
129
+
130
+ :raises KeyboardInterrupt: 用户中断时抛出
131
+ :raises Exception: 命令执行失败时抛出
132
+ """
133
+ ...
134
+
135
+ def _cleanup_adapters() -> ...:
136
+ """
137
+ 清理适配器资源
138
+ """
139
+ ...
140
+
141
+ def _cleanup_modules() -> ...:
142
+ """
143
+ 清理模块资源
144
+ """
145
+ ...
@@ -0,0 +1,20 @@
1
+ # type: ignore
2
+ #
3
+ # Auto-generated type stub for console.py
4
+ # DO NOT EDIT MANUALLY - Generated by generate-type-stubs.py
5
+ #
6
+
7
+ import sys
8
+ from rich.console import Console
9
+ from rich.theme import Theme
10
+ from rich.highlighter import RegexHighlighter
11
+
12
+ class CommandHighlighter(RegexHighlighter):
13
+ """
14
+ 高亮CLI命令和参数
15
+
16
+ {!--< tips >!--}
17
+ 使用正则表达式匹配命令行参数和选项
18
+ {!--< /tips >!--}
19
+ """
20
+ ...
@@ -0,0 +1,224 @@
1
+ # type: ignore
2
+ #
3
+ # Auto-generated type stub for package_manager.py
4
+ # DO NOT EDIT MANUALLY - Generated by generate-type-stubs.py
5
+ #
6
+
7
+ """
8
+ ErisPulse SDK 包管理器
9
+
10
+ 提供包安装、卸载、升级和查询功能
11
+ """
12
+
13
+ import os
14
+ import asyncio
15
+ import importlib.metadata
16
+ import json
17
+ import subprocess
18
+ import sys
19
+ import time
20
+ from typing import List, Dict, Tuple, Optional, Any
21
+ from rich.panel import Panel
22
+ from rich.progress import Progress, BarColumn, TextColumn
23
+ from rich.prompt import Confirm
24
+ from .console import console
25
+
26
+ class PackageManager:
27
+ """
28
+ ErisPulse包管理器
29
+
30
+ 提供包安装、卸载、升级和查询功能
31
+
32
+ {!--< tips >!--}
33
+ 1. 支持本地和远程包管理
34
+ 2. 包含1小时缓存机制
35
+ {!--< /tips >!--}
36
+ """
37
+ def __init__(self: None) -> ...:
38
+ """
39
+ 初始化包管理器
40
+ """
41
+ ...
42
+ async def _fetch_remote_packages(self: object, url: str) -> Optional[dict]:
43
+ """
44
+ 从指定URL获取远程包数据
45
+
46
+ :param url: 远程包数据URL
47
+ :return: 解析后的JSON数据,失败返回None
48
+
49
+ :raises ClientError: 网络请求失败时抛出
50
+ :raises JSONDecodeError: JSON解析失败时抛出
51
+ """
52
+ ...
53
+ async def get_remote_packages(self: object, force_refresh: bool = ...) -> dict:
54
+ """
55
+ 获取远程包列表,带缓存机制
56
+
57
+ :param force_refresh: 是否强制刷新缓存
58
+ :return: 包含模块和适配器的字典
59
+
60
+ :return:
61
+ dict: {
62
+ "modules": {模块名: 模块信息},
63
+ "adapters": {适配器名: 适配器信息},
64
+ "cli_extensions": {扩展名: 扩展信息}
65
+ }
66
+ """
67
+ ...
68
+ def get_installed_packages(self: object) -> Dict[(str, Dict[(str, Dict[(str, str)])])]:
69
+ """
70
+ 获取已安装的包信息
71
+
72
+ :return: 已安装包字典,包含模块、适配器和CLI扩展
73
+
74
+ :return:
75
+ dict: {
76
+ "modules": {模块名: 模块信息},
77
+ "adapters": {适配器名: 适配器信息},
78
+ "cli_extensions": {扩展名: 扩展信息}
79
+ }
80
+ """
81
+ ...
82
+ def _is_module_enabled(self: object, module_name: str) -> bool:
83
+ """
84
+ 检查模块是否启用
85
+
86
+ :param module_name: 模块名称
87
+ :return: 模块是否启用
88
+
89
+ :raises ImportError: 核心模块不可用时抛出
90
+ """
91
+ ...
92
+ def _normalize_name(self: object, name: str) -> str:
93
+ """
94
+ 标准化包名,统一转为小写以实现大小写不敏感比较
95
+
96
+ :param name: 原始名称
97
+ :return: 标准化后的名称
98
+ """
99
+ ...
100
+ async def _find_package_by_alias(self: object, alias: str) -> Optional[str]:
101
+ """
102
+ 通过别名查找实际包名(大小写不敏感)
103
+
104
+ :param alias: 包别名
105
+ :return: 实际包名,未找到返回None
106
+ """
107
+ ...
108
+ def _find_installed_package_by_name(self: object, name: str) -> Optional[str]:
109
+ """
110
+ 在已安装包中查找实际包名(大小写不敏感)
111
+
112
+ :param name: 包名或别名
113
+ :return: 实际包名,未找到返回None
114
+ """
115
+ ...
116
+ def _run_pip_command_with_output(self: object, args: List[str], description: str) -> Tuple[(bool, str, str)]:
117
+ """
118
+ 执行pip命令并捕获输出
119
+
120
+ :param args: pip命令参数列表
121
+ :param description: 进度条描述
122
+ :return: (是否成功, 标准输出, 标准错误)
123
+ """
124
+ ...
125
+ def _compare_versions(self: object, version1: str, version2: str) -> int:
126
+ """
127
+ 比较两个版本号
128
+
129
+ :param version1: 版本号1
130
+ :param version2: 版本号2
131
+ :return: 1 if version1 > version2, -1 if version1 < version2, 0 if equal
132
+ """
133
+ ...
134
+ def _check_sdk_compatibility(self: object, min_sdk_version: str) -> Tuple[(bool, str)]:
135
+ """
136
+ 检查SDK版本兼容性
137
+
138
+ :param min_sdk_version: 所需的最小SDK版本
139
+ :return: (是否兼容, 当前版本信息)
140
+ """
141
+ ...
142
+ async def _get_package_info(self: object, package_name: str) -> Optional[Dict[(str, Any)]]:
143
+ """
144
+ 获取包的详细信息(包括min_sdk_version等)
145
+
146
+ :param package_name: 包名或别名
147
+ :return: 包信息字典
148
+ """
149
+ ...
150
+ def install_package(self: object, package_names: List[str], upgrade: bool = ..., pre: bool = ...) -> bool:
151
+ """
152
+ 安装指定包(支持多个包)
153
+
154
+ :param package_names: 要安装的包名或别名列表
155
+ :param upgrade: 是否升级已安装的包
156
+ :param pre: 是否包含预发布版本
157
+ :return: 安装是否成功
158
+ """
159
+ ...
160
+ def uninstall_package(self: object, package_names: List[str]) -> bool:
161
+ """
162
+ 卸载指定包(支持多个包,支持别名)
163
+
164
+ :param package_names: 要卸载的包名或别名列表
165
+ :return: 卸载是否成功
166
+ """
167
+ ...
168
+ def upgrade_all(self: object) -> bool:
169
+ """
170
+ 升级所有已安装的ErisPulse包
171
+
172
+ :return: 升级是否成功
173
+
174
+ :raises KeyboardInterrupt: 用户取消操作时抛出
175
+ """
176
+ ...
177
+ def upgrade_package(self: object, package_names: List[str], pre: bool = ...) -> bool:
178
+ """
179
+ 升级指定包(支持多个包)
180
+
181
+ :param package_names: 要升级的包名或别名列表
182
+ :param pre: 是否包含预发布版本
183
+ :return: 升级是否成功
184
+ """
185
+ ...
186
+ def search_package(self: object, query: str) -> Dict[(str, List[Dict[(str, str)]])]:
187
+ """
188
+ 搜索包(本地和远程)
189
+
190
+ :param query: 搜索关键词
191
+ :return: 匹配的包信息
192
+ """
193
+ ...
194
+ def get_installed_version(self: object) -> str:
195
+ """
196
+ 获取当前安装的ErisPulse版本
197
+
198
+ :return: 当前版本号
199
+ """
200
+ ...
201
+ async def get_pypi_versions(self: object) -> List[Dict[(str, Any)]]:
202
+ """
203
+ 从PyPI获取ErisPulse的所有可用版本
204
+
205
+ :return: 版本信息列表
206
+ """
207
+ ...
208
+ def _is_pre_release(self: object, version: str) -> bool:
209
+ """
210
+ 判断版本是否为预发布版本
211
+
212
+ :param version: 版本号
213
+ :return: 是否为预发布版本
214
+ """
215
+ ...
216
+ def update_self(self: object, target_version: str = ..., force: bool = ...) -> bool:
217
+ """
218
+ 更新ErisPulse SDK本身
219
+
220
+ :param target_version: 目标版本号,None表示更新到最新版本
221
+ :param force: 是否强制更新
222
+ :return: 更新是否成功
223
+ """
224
+ ...
@@ -0,0 +1,64 @@
1
+ # type: ignore
2
+ #
3
+ # Auto-generated type stub for reload_handler.py
4
+ # DO NOT EDIT MANUALLY - Generated by generate-type-stubs.py
5
+ #
6
+
7
+ """
8
+ ErisPulse SDK 热重载处理器
9
+
10
+ 实现热重载功能,监控文件变化并重启进程
11
+ """
12
+
13
+ import os
14
+ import subprocess
15
+ import sys
16
+ import time
17
+ from watchdog.events import FileSystemEventHandler
18
+ from .console import console
19
+
20
+ class ReloadHandler(FileSystemEventHandler):
21
+ """
22
+ 文件系统事件处理器
23
+
24
+ 实现热重载功能,监控文件变化并重启进程
25
+
26
+ {!--< tips >!--}
27
+ 1. 支持.py文件修改重载
28
+ 2. 支持配置文件修改重载
29
+ {!--< /tips >!--}
30
+ """
31
+ def __init__(self: None, script_path: str, reload_mode: bool = ...) -> ...:
32
+ """
33
+ 初始化处理器
34
+
35
+ :param script_path: 要监控的脚本路径
36
+ :param reload_mode: 是否启用重载模式
37
+ """
38
+ ...
39
+ def start_process(self: object) -> ...:
40
+ """
41
+ 启动监控进程
42
+ """
43
+ ...
44
+ def _terminate_process(self: object) -> ...:
45
+ """
46
+ 终止当前进程
47
+
48
+ :raises subprocess.TimeoutExpired: 进程终止超时时抛出
49
+ """
50
+ ...
51
+ def on_modified(self: object, event: ...) -> ...:
52
+ """
53
+ 文件修改事件处理
54
+
55
+ :param event: 文件系统事件
56
+ """
57
+ ...
58
+ def _handle_reload(self: object, event: ..., reason: str) -> ...:
59
+ """
60
+ 处理热重载逻辑
61
+ :param event: 文件系统事件
62
+ :param reason: 重载原因
63
+ """
64
+ ...
@@ -0,0 +1,14 @@
1
+ # type: ignore
2
+ #
3
+ # Auto-generated type stub for __init__.py
4
+ # DO NOT EDIT MANUALLY - Generated by generate-type-stubs.py
5
+ #
6
+
7
+ """
8
+ ErisPulse 基础模块
9
+
10
+ 提供核心基类定义,包括适配器和模块基类
11
+ """
12
+
13
+ from .adapter import SendDSL, BaseAdapter
14
+ from .module import BaseModule
@@ -0,0 +1,140 @@
1
+ # type: ignore
2
+ #
3
+ # Auto-generated type stub for adapter.py
4
+ # DO NOT EDIT MANUALLY - Generated by generate-type-stubs.py
5
+ #
6
+
7
+ """
8
+ ErisPulse 适配器基础模块
9
+
10
+ 提供适配器和消息发送DSL的基类实现
11
+
12
+ {!--< tips >!--}
13
+ 1. 用于实现与不同平台的交互接口
14
+ 2. 提供统一的消息发送DSL风格接口
15
+ {!--< /tips >!--}
16
+ """
17
+
18
+ import asyncio
19
+ from typing import Any, Optional, Union, Awaitable
20
+
21
+ class SendDSL:
22
+ """
23
+ 消息发送DSL基类
24
+
25
+ 用于实现 Send.To(...).Func(...) 风格的链式调用接口
26
+
27
+ {!--< tips >!--}
28
+ 1. 子类应实现具体的消息发送方法(如Text, Image等)
29
+ 2. 通过__getattr__实现动态方法调用
30
+ {!--< /tips >!--}
31
+ """
32
+ def __init__(self: None, adapter: BaseAdapter, target_type: Optional[str] = ..., target_id: Optional[str] = ..., account_id: Optional[str] = ...) -> ...:
33
+ """
34
+ 初始化DSL发送器
35
+
36
+ :param adapter: 所属适配器实例
37
+ :param target_type: 目标类型(可选)
38
+ :param target_id: 目标ID(可选)
39
+ :param _account_id: 发送账号(可选)
40
+ """
41
+ ...
42
+ def To(self: object, target_type: str = ..., target_id: Union[(str, int)] = ...) -> SendDSL:
43
+ """
44
+ 设置消息目标
45
+
46
+ :param target_type: 目标类型(可选)
47
+ :param target_id: 目标ID(可选)
48
+ :return: SendDSL实例
49
+
50
+ :example:
51
+ >>> adapter.Send.To("user", "123").Text("Hello")
52
+ >>> adapter.Send.To("123").Text("Hello") # 简化形式
53
+ """
54
+ ...
55
+ def Using(self: object, account_id: Union[(str, int)]) -> SendDSL:
56
+ """
57
+ 设置发送账号
58
+
59
+ :param _account_id: 发送账号
60
+ :return: SendDSL实例
61
+
62
+ :example:
63
+ >>> adapter.Send.Using("bot1").To("123").Text("Hello")
64
+ >>> adapter.Send.To("123").Using("bot1").Text("Hello") # 支持乱序
65
+ """
66
+ ...
67
+ def Account(self: object, account_id: Union[(str, int)]) -> SendDSL:
68
+ """
69
+ 设置发送账号
70
+
71
+ :param _account_id: 发送账号
72
+ :return: SendDSL实例
73
+
74
+ :example:
75
+ >>> adapter.Send.Account("bot1").To("123").Text("Hello")
76
+ >>> adapter.Send.To("123").Account("bot1").Text("Hello") # 支持乱序
77
+ """
78
+ ...
79
+
80
+ class BaseAdapter:
81
+ """
82
+ 适配器基类
83
+
84
+ 提供与外部平台交互的标准接口,子类必须实现必要方法
85
+
86
+ {!--< tips >!--}
87
+ 1. 必须实现call_api, start和shutdown方法
88
+ 2. 可以自定义Send类实现平台特定的消息发送逻辑
89
+ 3. 通过on装饰器注册事件处理器
90
+ 4. 支持OneBot12协议的事件处理
91
+ {!--< /tips >!--}
92
+ """
93
+ def __init__(self: None) -> ...:
94
+ ...
95
+ async def call_api(self: object, endpoint: str, **params: Any) -> Any:
96
+ """
97
+ 调用平台API的抽象方法
98
+
99
+ :param endpoint: API端点
100
+ :param params: API参数
101
+ :return: API调用结果
102
+ :raises NotImplementedError: 必须由子类实现
103
+ """
104
+ ...
105
+ async def start(self: object) -> None:
106
+ """
107
+ 启动适配器的抽象方法
108
+
109
+ :raises NotImplementedError: 必须由子类实现
110
+ """
111
+ ...
112
+ async def shutdown(self: object) -> None:
113
+ """
114
+ 关闭适配器的抽象方法
115
+
116
+ :raises NotImplementedError: 必须由子类实现
117
+ """
118
+ ...
119
+ async def emit(self: object) -> None:
120
+ ...
121
+ def send(self: object, target_type: str, target_id: str, message: Any, **kwargs: Any) -> asyncio.Task:
122
+ """
123
+ 发送消息的便捷方法,返回一个 asyncio Task
124
+
125
+ :param target_type: 目标类型
126
+ :param target_id: 目标ID
127
+ :param message: 消息内容
128
+ :param kwargs: 其他参数
129
+ - method: 发送方法名(默认为"Text")
130
+ :return: asyncio.Task 对象,用户可以自主决定是否等待
131
+
132
+ :raises AttributeError: 当发送方法不存在时抛出
133
+
134
+ :example:
135
+ >>> task = adapter.send("user", "123", "Hello")
136
+ >>> # 用户可以选择等待: result = await task
137
+ >>> # 或者不等待让其在后台执行
138
+ >>> await adapter.send("group", "456", "Hello", method="Markdown") # 直接等待
139
+ """
140
+ ...
@@ -0,0 +1,52 @@
1
+ # type: ignore
2
+ #
3
+ # Auto-generated type stub for module.py
4
+ # DO NOT EDIT MANUALLY - Generated by generate-type-stubs.py
5
+ #
6
+
7
+ """
8
+ ErisPulse 模块基础模块
9
+
10
+ 提供模块基类定义和标准接口
11
+ """
12
+
13
+ class BaseModule:
14
+ """
15
+ 模块基类
16
+
17
+ 提供模块加载和卸载的标准接口
18
+ """
19
+ def should_eager_load() -> bool:
20
+ """
21
+ 模块是否应该在启动时加载
22
+ 默认为False(即懒加载)
23
+
24
+ :return: 是否应该在启动时加载
25
+ """
26
+ ...
27
+ async def on_load(self: object, event: dict) -> bool:
28
+ """
29
+ 当模块被加载时调用
30
+
31
+ :param event: 事件内容
32
+ :return: 处理结果
33
+
34
+ {!--< tips >!--}
35
+ 其中,event事件内容为:
36
+ `{ "module_name": "模块名" }`
37
+ {!--< /tips >!--}
38
+ """
39
+ ...
40
+ async def on_unload(self: object, event: dict) -> bool:
41
+ """
42
+ 当模块被卸载时调用
43
+
44
+ :param event: 事件内容
45
+ :return: 处理结果
46
+
47
+ {!--< tips >!--}
48
+ 其中,event事件内容为:
49
+ `{ "module_name": "模块名" }`
50
+ {!--< /tips >!--}
51
+ """
52
+ ...
@@ -0,0 +1,26 @@
1
+ # type: ignore
2
+ #
3
+ # Auto-generated type stub for __init__.py
4
+ # DO NOT EDIT MANUALLY - Generated by generate-type-stubs.py
5
+ #
6
+
7
+ """
8
+ ErisPulse 事件处理模块
9
+
10
+ 提供统一的事件处理接口,支持命令、消息、通知、请求和元事件处理
11
+
12
+ {!--< tips >!--}
13
+ 1. 所有事件处理都基于OneBot12标准事件格式
14
+ 2. 通过装饰器方式注册事件处理器
15
+ 3. 支持优先级和条件过滤
16
+ {!--< /tips >!--}
17
+ """
18
+
19
+ from .command import command
20
+ from .message import message
21
+ from .notice import notice
22
+ from .request import request
23
+ from .meta import meta
24
+ from .wrapper import Event
25
+ from . import exceptions
26
+ from .. import config