ErisPulse 2.4.6.dev4__tar.gz → 2.4.6.dev6__tar.gz
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.
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/.gitignore +7 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/PKG-INFO +157 -29
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/README.md +155 -27
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/pyproject.toml +12 -2
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/commands/create.py +227 -101
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/commands/create.pyi +1 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/commands/install.py +0 -1
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/utils/package_manager.py +43 -29
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/utils/package_manager.pyi +5 -0
- erispulse-2.4.6.dev6/src/ErisPulse/Core/Bases/__init__.py +44 -0
- erispulse-2.4.6.dev6/src/ErisPulse/Core/Bases/__init__.pyi +19 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Bases/adapter.py +312 -3
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Bases/adapter.pyi +136 -1
- erispulse-2.4.6.dev6/src/ErisPulse/Core/Bases/client.py +331 -0
- erispulse-2.4.6.dev6/src/ErisPulse/Core/Bases/client.pyi +272 -0
- erispulse-2.4.6.dev6/src/ErisPulse/Core/Bases/errors.py +130 -0
- erispulse-2.4.6.dev6/src/ErisPulse/Core/Bases/errors.pyi +118 -0
- erispulse-2.4.6.dev6/src/ErisPulse/Core/Bases/router.py +629 -0
- erispulse-2.4.6.dev6/src/ErisPulse/Core/Bases/router.pyi +432 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Bases/storage.py +8 -8
- erispulse-2.4.6.dev6/src/ErisPulse/Core/Bases/websocket.py +265 -0
- erispulse-2.4.6.dev6/src/ErisPulse/Core/Bases/websocket.pyi +194 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Event/base.py +44 -5
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Event/base.pyi +1 -1
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Event/command.py +30 -6
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Event/command.pyi +1 -1
- erispulse-2.4.6.dev6/src/ErisPulse/Core/__init__.py +86 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/__init__.pyi +4 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/adapter.py +141 -26
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/adapter.pyi +37 -0
- erispulse-2.4.6.dev6/src/ErisPulse/Core/client.py +785 -0
- erispulse-2.4.6.dev6/src/ErisPulse/Core/client.pyi +378 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/constants.py +95 -19
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/router.py +943 -116
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/router.pyi +164 -4
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/storage.py +124 -1
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/storage.pyi +3 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/loaders/adapter.py +16 -7
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/loaders/module.py +104 -10
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/loaders/module.pyi +1 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/loaders/strategy.py +1 -1
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/runtime/__init__.py +18 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/runtime/__init__.pyi +1 -0
- erispulse-2.4.6.dev6/src/ErisPulse/runtime/config_schema.py +320 -0
- erispulse-2.4.6.dev6/src/ErisPulse/runtime/config_schema.pyi +128 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/runtime/context.py +19 -1
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/runtime/context.pyi +3 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/sdk.py +5 -1
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/sdk.pyi +2 -0
- erispulse-2.4.6.dev4/src/ErisPulse/Core/Bases/__init__.py +0 -18
- erispulse-2.4.6.dev4/src/ErisPulse/Core/Bases/__init__.pyi +0 -15
- erispulse-2.4.6.dev4/src/ErisPulse/Core/__init__.py +0 -47
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/LICENSE +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/__init__.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/__init__.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/base.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/base.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/cli.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/cli.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/commands/__init__.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/commands/__init__.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/commands/init.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/commands/init.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/commands/install.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/commands/list.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/commands/list.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/commands/list_remote.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/commands/list_remote.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/commands/run.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/commands/run.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/commands/self_update.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/commands/self_update.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/commands/uninstall.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/commands/uninstall.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/commands/upgrade.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/commands/upgrade.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/console.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/console.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/registry.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/registry.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/utils/__init__.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/utils/__init__.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/utils/display.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/CLI/utils/display.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Bases/manager.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Bases/manager.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Bases/module.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Bases/module.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Bases/storage.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Event/__init__.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Event/__init__.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Event/message.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Event/message.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Event/message_builder.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Event/message_builder.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Event/meta.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Event/meta.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Event/notice.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Event/notice.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Event/request.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Event/request.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Event/session_type.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Event/session_type.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Event/wrapper.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/Event/wrapper.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/config.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/config.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/constants.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/lifecycle.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/lifecycle.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/logger.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/logger.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/module.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/Core/module.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/__init__.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/__init__.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/__main__.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/__main__.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/finders/__init__.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/finders/__init__.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/finders/adapter.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/finders/adapter.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/finders/bases/__init__.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/finders/bases/__init__.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/finders/bases/finder.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/finders/bases/finder.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/finders/module.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/finders/module.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/loaders/__init__.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/loaders/__init__.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/loaders/adapter.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/loaders/bases/__init__.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/loaders/bases/__init__.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/loaders/bases/loader.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/loaders/bases/loader.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/loaders/strategy.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/runtime/exceptions.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/runtime/exceptions.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/runtime/frame_config.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/runtime/frame_config.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/web_status/4xx.png +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/web_status/5xx.png +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/web_status/__init__.py +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/web_status/__init__.pyi +0 -0
- {erispulse-2.4.6.dev4 → erispulse-2.4.6.dev6}/src/ErisPulse/web_status/unknow.png +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ErisPulse
|
|
3
|
-
Version: 2.4.6.
|
|
3
|
+
Version: 2.4.6.dev6
|
|
4
4
|
Summary: ErisPulse 是一个模块化、可扩展的异步 Python SDK 框架,主要用于构建高效、可维护的机器人应用程序。
|
|
5
5
|
Author-email: ErisDev <erisdev@88.com>
|
|
6
6
|
Maintainer-email: "艾莉丝·格雷拉特(WSu2059)" <wsu2059@qq.com>
|
|
@@ -26,7 +26,7 @@ License: MIT License
|
|
|
26
26
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
27
27
|
SOFTWARE.
|
|
28
28
|
License-File: LICENSE
|
|
29
|
-
Keywords: async,asyncio,bot,extensible,framework,modular,onebot,robot,sdk,telegram
|
|
29
|
+
Keywords: async,asyncio,bot,bot-framework,chatbot,email,extensible,framework,instant-messaging,kook,matrix,modular,multi-platform,onebot,onebot12,qq,robot,sdk,telegram,yunhu
|
|
30
30
|
Classifier: Development Status :: 4 - Beta
|
|
31
31
|
Classifier: Framework :: AsyncIO
|
|
32
32
|
Classifier: Intended Audience :: Developers
|
|
@@ -79,7 +79,7 @@ Description-Content-Type: text/markdown
|
|
|
79
79
|
</td>
|
|
80
80
|
<td valign="middle">
|
|
81
81
|
|
|
82
|
-
[English](README.en.md) | **简体中文** | [繁體中文](README.zh-TW.md)
|
|
82
|
+
[English](README.en.md) | **简体中文** | [繁體中文](README.zh-TW.md) | [日本語](README.ja.md) | [Русский](README.ru.md)
|
|
83
83
|
|
|
84
84
|
# ErisPulse
|
|
85
85
|
|
|
@@ -155,34 +155,40 @@ Description-Content-Type: text/markdown
|
|
|
155
155
|
|
|
156
156
|
---
|
|
157
157
|
|
|
158
|
-
###
|
|
158
|
+
### 快速开始
|
|
159
159
|
|
|
160
|
-
|
|
161
|
-
<!-- <img src=".github/assets/adapter-showcase.png" width="520" alt="适配器展示" /> -->
|
|
160
|
+
#### 一键安装脚本(推荐)
|
|
162
161
|
|
|
163
|
-
|
|
162
|
+
安装脚本会自动检测您的环境(Docker、Python、uv),引导选择最适合的安装方式,支持多语言(中文/English/日本語/Русский/繁體中文)。
|
|
164
163
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
| <img src=".github/assets/adapter_logo/onebot.png" height="20" alt="OneBot" /> [OneBot11](https://github.com/ErisPulse/ErisPulse-OneBot11Adapter) | OneBot v11 通用机器人协议 |
|
|
170
|
-
| <img src=".github/assets/adapter_logo/onebot.png" height="20" alt="OneBot" /> [OneBot12](https://github.com/ErisPulse/ErisPulse-OneBot12Adapter) | OneBot v12 标准协议 |
|
|
171
|
-
| <img src=".github/assets/adapter_logo/qqbot.svg" height="20" alt="QQ" /> [QQ](https://github.com/ErisPulse/ErisPulse-QQBotAdapter) | QQ 官方机器人平台 |
|
|
172
|
-
| <img src=".github/assets/adapter_logo/sandbox.png" height="20" alt="Sandbox" /> [沙箱](https://github.com/ErisPulse/ErisPulse-SandboxAdapter) | 网页端调试,无需接入真实平台 |
|
|
173
|
-
| <img src=".github/assets/adapter_logo/telegram.svg" height="20" alt="Telegram" /> [Telegram](https://github.com/ErisPulse/ErisPulse-TelegramAdapter) | 全球性即时通讯平台 |
|
|
174
|
-
| <img src=".github/assets/adapter_logo/email.svg" height="20" alt="Email" /> [邮件](https://github.com/ErisPulse/ErisPulse-EmailAdapter) | 邮件协议收发适配器 |
|
|
175
|
-
| <img src=".github/assets/adapter_logo/yunhu.png" height="20" alt="Yunhu" /> [云湖](https://github.com/ErisPulse/ErisPulse-YunhuAdapter) | 企业级即时通讯平台(机器人接入) |
|
|
176
|
-
| [云湖用户](https://github.com/wsu2059q/ErisPulse-YunhuUserAdapter) | 基于云湖用户协议的接入适配器 |
|
|
177
|
-
| [花枫咖啡馆](https://github.com/ErisPulse/ErisPulse-Ideaura/) | Allons! \(・ω・) / |
|
|
164
|
+
Windows (PowerShell):
|
|
165
|
+
```powershell
|
|
166
|
+
irm https://get.erisdev.com/install.ps1 -OutFile install.ps1; powershell -ExecutionPolicy Bypass -File install.ps1
|
|
167
|
+
```
|
|
178
168
|
|
|
179
|
-
|
|
169
|
+
macOS / Linux:
|
|
170
|
+
```bash
|
|
171
|
+
curl -fsSL https://get.erisdev.com/install.sh -o install.sh && chmod +x install.sh && ./install.sh
|
|
172
|
+
```
|
|
180
173
|
|
|
181
|
-
|
|
174
|
+
<table>
|
|
175
|
+
<tr>
|
|
176
|
+
<td align="center" width="50%">
|
|
182
177
|
|
|
183
|
-
|
|
178
|
+
**Docker 安装演示**
|
|
184
179
|
|
|
185
|
-
|
|
180
|
+
<video src="https://github.com/user-attachments/assets/a367a466-4678-46a9-b101-073a86388ede" controls width="100%"></video>
|
|
181
|
+
|
|
182
|
+
</td>
|
|
183
|
+
<td align="center" width="50%">
|
|
184
|
+
|
|
185
|
+
**pip 安装演示**
|
|
186
|
+
|
|
187
|
+
<video src="https://github.com/user-attachments/assets/a2df4009-dba6-411e-b79d-4454a168d063" controls width="100%"></video>
|
|
188
|
+
|
|
189
|
+
</td>
|
|
190
|
+
</tr>
|
|
191
|
+
</table>
|
|
186
192
|
|
|
187
193
|
#### 使用 Docker (推荐)
|
|
188
194
|
|
|
@@ -279,19 +285,32 @@ bash <(curl -sL https://get-1panel.erisdev.com/install.sh)
|
|
|
279
285
|
pip install ErisPulse
|
|
280
286
|
```
|
|
281
287
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
> 如果您的 Python 版本低于 3.10,可以使用一键安装脚本自动配置环境。详见 [安装脚本说明](scripts/install/)。
|
|
288
|
+
> 也可以使用上方的一键安装脚本,自动检测环境并引导配置。
|
|
285
289
|
|
|
286
290
|
#### 运行效果
|
|
287
291
|
|
|
288
292
|
|
|
289
293
|
##### 仪表盘:
|
|
290
|
-
|
|
291
|
-
|
|
294
|
+
|
|
295
|
+
[](https://dashdemo.erisdev.com/)
|
|
296
|
+
|
|
297
|
+
> 💡 在线体验演示仪表盘:[DashDemo](https://dashdemo.erisdev.com/)
|
|
298
|
+
|
|
299
|
+
<table>
|
|
300
|
+
<tr>
|
|
301
|
+
<td width="50%">
|
|
292
302
|
|
|
293
303
|
<img src=".github/assets/docs/dashboard.png" alt="Dashboard 演示" />
|
|
294
304
|
|
|
305
|
+
</td>
|
|
306
|
+
<td width="50%">
|
|
307
|
+
|
|
308
|
+
<video src="https://github.com/user-attachments/assets/157191c4-9a84-433c-b311-0c57e3a21151" controls width="100%"></video>
|
|
309
|
+
|
|
310
|
+
</td>
|
|
311
|
+
</tr>
|
|
312
|
+
</table>
|
|
313
|
+
|
|
295
314
|
|
|
296
315
|
##### 同一端代码,多个平台响应:
|
|
297
316
|
|
|
@@ -392,6 +411,115 @@ epsdk run main.py --reload
|
|
|
392
411
|
- [快速开始指南](docs/zh-CN/quick-start.md)
|
|
393
412
|
- [入门指南](docs/zh-CN/getting-started/)
|
|
394
413
|
|
|
414
|
+
#### 多轮对话示例
|
|
415
|
+
|
|
416
|
+
ErisPulse 内置了强大的多轮对话引擎,轻松实现引导式操作、信息收集等交互场景:
|
|
417
|
+
|
|
418
|
+
```python
|
|
419
|
+
from ErisPulse.Core.Event import command, request
|
|
420
|
+
|
|
421
|
+
@command("register")
|
|
422
|
+
async def register_handler(event):
|
|
423
|
+
conv = event.conversation(timeout=60)
|
|
424
|
+
|
|
425
|
+
await conv.say("欢迎注册!")
|
|
426
|
+
|
|
427
|
+
# 多步骤收集用户信息,自动验证
|
|
428
|
+
data = await conv.collect([
|
|
429
|
+
{"key": "name", "prompt": "请输入姓名"},
|
|
430
|
+
{"key": "age", "prompt": "请输入年龄",
|
|
431
|
+
"validator": lambda e: e.get_text().strip().isdigit(),
|
|
432
|
+
"retry_prompt": "年龄必须是数字,请重新输入"},
|
|
433
|
+
])
|
|
434
|
+
|
|
435
|
+
if data and await conv.confirm(f"确认注册?姓名: {data['name']}, 年龄: {data['age']}"):
|
|
436
|
+
# 通过 SendDSL 主动推送通知
|
|
437
|
+
await sdk.adapter.get(event.get_platform()).Send.To(
|
|
438
|
+
"user", event.get_user_id()
|
|
439
|
+
).Text(f"注册成功!欢迎 {data['name']}")
|
|
440
|
+
# 或 await event.reply("注册成功!")
|
|
441
|
+
|
|
442
|
+
# 自动处理好友请求
|
|
443
|
+
@request.on_friend_request()
|
|
444
|
+
async def handle_friend_request(event):
|
|
445
|
+
user_name = event.get_user_nickname() or event.get_user_id()
|
|
446
|
+
|
|
447
|
+
# 同意请求
|
|
448
|
+
result = await event.approve()
|
|
449
|
+
if result.get("status") == "ok":
|
|
450
|
+
await event.reply(f"已自动通过好友请求,欢迎 {user_name}")
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
<details>
|
|
454
|
+
<summary>查看更多 Conversation API(分支跳转 / 选择 / 持久化)</summary>
|
|
455
|
+
|
|
456
|
+
```python
|
|
457
|
+
@command("quiz")
|
|
458
|
+
async def quiz_handler(event):
|
|
459
|
+
conv = event.conversation(timeout=30)
|
|
460
|
+
|
|
461
|
+
# 选项式问答
|
|
462
|
+
answer = await conv.choose("Python 的创造者是谁?", [
|
|
463
|
+
"Guido van Rossum",
|
|
464
|
+
"James Gosling",
|
|
465
|
+
"Dennis Ritchie",
|
|
466
|
+
])
|
|
467
|
+
|
|
468
|
+
if answer == 0:
|
|
469
|
+
await conv.say("正确!")
|
|
470
|
+
elif answer is None:
|
|
471
|
+
await conv.say("超时了,下次再来吧!")
|
|
472
|
+
else:
|
|
473
|
+
await conv.say("错误了,正确答案是 Guido van Rossum")
|
|
474
|
+
|
|
475
|
+
@command("menu")
|
|
476
|
+
async def menu_handler(event):
|
|
477
|
+
conv = event.conversation(timeout=60)
|
|
478
|
+
|
|
479
|
+
# 分支跳转,构建复杂交互流程
|
|
480
|
+
@conv.branch("main")
|
|
481
|
+
async def main_menu():
|
|
482
|
+
await conv.say("=== 主菜单 ===\n1. 个人信息\n2. 设置\n3. 退出")
|
|
483
|
+
resp = await conv.wait()
|
|
484
|
+
if resp and resp.get_text().strip() == "1":
|
|
485
|
+
await conv.goto("profile")
|
|
486
|
+
|
|
487
|
+
@conv.branch("profile")
|
|
488
|
+
async def profile():
|
|
489
|
+
await conv.say("姓名: Alice\n0. 返回")
|
|
490
|
+
resp = await conv.wait()
|
|
491
|
+
if resp and resp.get_text().strip() == "0":
|
|
492
|
+
await conv.goto("main")
|
|
493
|
+
|
|
494
|
+
await conv.start()
|
|
495
|
+
```
|
|
496
|
+
|
|
497
|
+
详见 [Conversation 多轮对话](docs/zh-CN/advanced/conversation.md)
|
|
498
|
+
|
|
499
|
+
</details>
|
|
500
|
+
|
|
501
|
+
---
|
|
502
|
+
|
|
503
|
+
### 支持的适配器
|
|
504
|
+
|
|
505
|
+
欢迎您贡献适配器!
|
|
506
|
+
|
|
507
|
+
| 适配器 | 说明 |
|
|
508
|
+
|--------|------|
|
|
509
|
+
| <img src=".github/assets/adapter_logo/kook.svg" height="20" alt="Kook" /> [Kook](https://github.com/shanfishapp/ErisPulse-KookAdapter) | Kook(开黑啦)即时通讯平台 |
|
|
510
|
+
| <img src=".github/assets/adapter_logo/matrix.svg" height="20" alt="Matrix" /> [Matrix](https://github.com/ErisPulse/ErisPulse-MatrixAdapter) | Matrix 去中心化通讯协议 |
|
|
511
|
+
| <img src=".github/assets/adapter_logo/onebot.png" height="20" alt="OneBot" /> [OneBot11](https://github.com/ErisPulse/ErisPulse-OneBot11Adapter) | OneBot v11 通用机器人协议 |
|
|
512
|
+
| <img src=".github/assets/adapter_logo/onebot.png" height="20" alt="OneBot" /> [OneBot12](https://github.com/ErisPulse/ErisPulse-OneBot12Adapter) | OneBot v12 标准协议 |
|
|
513
|
+
| <img src=".github/assets/adapter_logo/qqbot.svg" height="20" alt="QQ" /> [QQ](https://github.com/ErisPulse/ErisPulse-QQBotAdapter) | QQ 官方机器人平台 |
|
|
514
|
+
| <img src=".github/assets/adapter_logo/sandbox.png" height="20" alt="Sandbox" /> [沙箱](https://github.com/ErisPulse/ErisPulse-SandboxAdapter) | 网页端调试,无需接入真实平台 |
|
|
515
|
+
| <img src=".github/assets/adapter_logo/telegram.svg" height="20" alt="Telegram" /> [Telegram](https://github.com/ErisPulse/ErisPulse-TelegramAdapter) | 全球性即时通讯平台 |
|
|
516
|
+
| <img src=".github/assets/adapter_logo/email.svg" height="20" alt="Email" /> [邮件](https://github.com/ErisPulse/ErisPulse-EmailAdapter) | 邮件协议收发适配器 |
|
|
517
|
+
| <img src=".github/assets/adapter_logo/yunhu.png" height="20" alt="Yunhu" /> [云湖](https://github.com/ErisPulse/ErisPulse-YunhuAdapter) | 企业级即时通讯平台(机器人接入) |
|
|
518
|
+
| [云湖用户](https://github.com/wsu2059q/ErisPulse-YunhuUserAdapter) | 基于云湖用户协议的接入适配器 |
|
|
519
|
+
| [花枫咖啡馆](https://github.com/ErisPulse/ErisPulse-Ideaura/) | Allons! \(・ω・) / |
|
|
520
|
+
|
|
521
|
+
查看 [适配器详情介绍](docs/zh-CN/platform-guide/README.md)
|
|
522
|
+
|
|
395
523
|
---
|
|
396
524
|
|
|
397
525
|
### 应用场景
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
</td>
|
|
8
8
|
<td valign="middle">
|
|
9
9
|
|
|
10
|
-
[English](README.en.md) | **简体中文** | [繁體中文](README.zh-TW.md)
|
|
10
|
+
[English](README.en.md) | **简体中文** | [繁體中文](README.zh-TW.md) | [日本語](README.ja.md) | [Русский](README.ru.md)
|
|
11
11
|
|
|
12
12
|
# ErisPulse
|
|
13
13
|
|
|
@@ -83,34 +83,40 @@
|
|
|
83
83
|
|
|
84
84
|
---
|
|
85
85
|
|
|
86
|
-
###
|
|
86
|
+
### 快速开始
|
|
87
87
|
|
|
88
|
-
|
|
89
|
-
<!-- <img src=".github/assets/adapter-showcase.png" width="520" alt="适配器展示" /> -->
|
|
88
|
+
#### 一键安装脚本(推荐)
|
|
90
89
|
|
|
91
|
-
|
|
90
|
+
安装脚本会自动检测您的环境(Docker、Python、uv),引导选择最适合的安装方式,支持多语言(中文/English/日本語/Русский/繁體中文)。
|
|
92
91
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
| <img src=".github/assets/adapter_logo/onebot.png" height="20" alt="OneBot" /> [OneBot11](https://github.com/ErisPulse/ErisPulse-OneBot11Adapter) | OneBot v11 通用机器人协议 |
|
|
98
|
-
| <img src=".github/assets/adapter_logo/onebot.png" height="20" alt="OneBot" /> [OneBot12](https://github.com/ErisPulse/ErisPulse-OneBot12Adapter) | OneBot v12 标准协议 |
|
|
99
|
-
| <img src=".github/assets/adapter_logo/qqbot.svg" height="20" alt="QQ" /> [QQ](https://github.com/ErisPulse/ErisPulse-QQBotAdapter) | QQ 官方机器人平台 |
|
|
100
|
-
| <img src=".github/assets/adapter_logo/sandbox.png" height="20" alt="Sandbox" /> [沙箱](https://github.com/ErisPulse/ErisPulse-SandboxAdapter) | 网页端调试,无需接入真实平台 |
|
|
101
|
-
| <img src=".github/assets/adapter_logo/telegram.svg" height="20" alt="Telegram" /> [Telegram](https://github.com/ErisPulse/ErisPulse-TelegramAdapter) | 全球性即时通讯平台 |
|
|
102
|
-
| <img src=".github/assets/adapter_logo/email.svg" height="20" alt="Email" /> [邮件](https://github.com/ErisPulse/ErisPulse-EmailAdapter) | 邮件协议收发适配器 |
|
|
103
|
-
| <img src=".github/assets/adapter_logo/yunhu.png" height="20" alt="Yunhu" /> [云湖](https://github.com/ErisPulse/ErisPulse-YunhuAdapter) | 企业级即时通讯平台(机器人接入) |
|
|
104
|
-
| [云湖用户](https://github.com/wsu2059q/ErisPulse-YunhuUserAdapter) | 基于云湖用户协议的接入适配器 |
|
|
105
|
-
| [花枫咖啡馆](https://github.com/ErisPulse/ErisPulse-Ideaura/) | Allons! \(・ω・) / |
|
|
92
|
+
Windows (PowerShell):
|
|
93
|
+
```powershell
|
|
94
|
+
irm https://get.erisdev.com/install.ps1 -OutFile install.ps1; powershell -ExecutionPolicy Bypass -File install.ps1
|
|
95
|
+
```
|
|
106
96
|
|
|
107
|
-
|
|
97
|
+
macOS / Linux:
|
|
98
|
+
```bash
|
|
99
|
+
curl -fsSL https://get.erisdev.com/install.sh -o install.sh && chmod +x install.sh && ./install.sh
|
|
100
|
+
```
|
|
108
101
|
|
|
109
|
-
|
|
102
|
+
<table>
|
|
103
|
+
<tr>
|
|
104
|
+
<td align="center" width="50%">
|
|
110
105
|
|
|
111
|
-
|
|
106
|
+
**Docker 安装演示**
|
|
112
107
|
|
|
113
|
-
|
|
108
|
+
<video src="https://github.com/user-attachments/assets/a367a466-4678-46a9-b101-073a86388ede" controls width="100%"></video>
|
|
109
|
+
|
|
110
|
+
</td>
|
|
111
|
+
<td align="center" width="50%">
|
|
112
|
+
|
|
113
|
+
**pip 安装演示**
|
|
114
|
+
|
|
115
|
+
<video src="https://github.com/user-attachments/assets/a2df4009-dba6-411e-b79d-4454a168d063" controls width="100%"></video>
|
|
116
|
+
|
|
117
|
+
</td>
|
|
118
|
+
</tr>
|
|
119
|
+
</table>
|
|
114
120
|
|
|
115
121
|
#### 使用 Docker (推荐)
|
|
116
122
|
|
|
@@ -207,19 +213,32 @@ bash <(curl -sL https://get-1panel.erisdev.com/install.sh)
|
|
|
207
213
|
pip install ErisPulse
|
|
208
214
|
```
|
|
209
215
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
> 如果您的 Python 版本低于 3.10,可以使用一键安装脚本自动配置环境。详见 [安装脚本说明](scripts/install/)。
|
|
216
|
+
> 也可以使用上方的一键安装脚本,自动检测环境并引导配置。
|
|
213
217
|
|
|
214
218
|
#### 运行效果
|
|
215
219
|
|
|
216
220
|
|
|
217
221
|
##### 仪表盘:
|
|
218
|
-
|
|
219
|
-
|
|
222
|
+
|
|
223
|
+
[](https://dashdemo.erisdev.com/)
|
|
224
|
+
|
|
225
|
+
> 💡 在线体验演示仪表盘:[DashDemo](https://dashdemo.erisdev.com/)
|
|
226
|
+
|
|
227
|
+
<table>
|
|
228
|
+
<tr>
|
|
229
|
+
<td width="50%">
|
|
220
230
|
|
|
221
231
|
<img src=".github/assets/docs/dashboard.png" alt="Dashboard 演示" />
|
|
222
232
|
|
|
233
|
+
</td>
|
|
234
|
+
<td width="50%">
|
|
235
|
+
|
|
236
|
+
<video src="https://github.com/user-attachments/assets/157191c4-9a84-433c-b311-0c57e3a21151" controls width="100%"></video>
|
|
237
|
+
|
|
238
|
+
</td>
|
|
239
|
+
</tr>
|
|
240
|
+
</table>
|
|
241
|
+
|
|
223
242
|
|
|
224
243
|
##### 同一端代码,多个平台响应:
|
|
225
244
|
|
|
@@ -320,6 +339,115 @@ epsdk run main.py --reload
|
|
|
320
339
|
- [快速开始指南](docs/zh-CN/quick-start.md)
|
|
321
340
|
- [入门指南](docs/zh-CN/getting-started/)
|
|
322
341
|
|
|
342
|
+
#### 多轮对话示例
|
|
343
|
+
|
|
344
|
+
ErisPulse 内置了强大的多轮对话引擎,轻松实现引导式操作、信息收集等交互场景:
|
|
345
|
+
|
|
346
|
+
```python
|
|
347
|
+
from ErisPulse.Core.Event import command, request
|
|
348
|
+
|
|
349
|
+
@command("register")
|
|
350
|
+
async def register_handler(event):
|
|
351
|
+
conv = event.conversation(timeout=60)
|
|
352
|
+
|
|
353
|
+
await conv.say("欢迎注册!")
|
|
354
|
+
|
|
355
|
+
# 多步骤收集用户信息,自动验证
|
|
356
|
+
data = await conv.collect([
|
|
357
|
+
{"key": "name", "prompt": "请输入姓名"},
|
|
358
|
+
{"key": "age", "prompt": "请输入年龄",
|
|
359
|
+
"validator": lambda e: e.get_text().strip().isdigit(),
|
|
360
|
+
"retry_prompt": "年龄必须是数字,请重新输入"},
|
|
361
|
+
])
|
|
362
|
+
|
|
363
|
+
if data and await conv.confirm(f"确认注册?姓名: {data['name']}, 年龄: {data['age']}"):
|
|
364
|
+
# 通过 SendDSL 主动推送通知
|
|
365
|
+
await sdk.adapter.get(event.get_platform()).Send.To(
|
|
366
|
+
"user", event.get_user_id()
|
|
367
|
+
).Text(f"注册成功!欢迎 {data['name']}")
|
|
368
|
+
# 或 await event.reply("注册成功!")
|
|
369
|
+
|
|
370
|
+
# 自动处理好友请求
|
|
371
|
+
@request.on_friend_request()
|
|
372
|
+
async def handle_friend_request(event):
|
|
373
|
+
user_name = event.get_user_nickname() or event.get_user_id()
|
|
374
|
+
|
|
375
|
+
# 同意请求
|
|
376
|
+
result = await event.approve()
|
|
377
|
+
if result.get("status") == "ok":
|
|
378
|
+
await event.reply(f"已自动通过好友请求,欢迎 {user_name}")
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
<details>
|
|
382
|
+
<summary>查看更多 Conversation API(分支跳转 / 选择 / 持久化)</summary>
|
|
383
|
+
|
|
384
|
+
```python
|
|
385
|
+
@command("quiz")
|
|
386
|
+
async def quiz_handler(event):
|
|
387
|
+
conv = event.conversation(timeout=30)
|
|
388
|
+
|
|
389
|
+
# 选项式问答
|
|
390
|
+
answer = await conv.choose("Python 的创造者是谁?", [
|
|
391
|
+
"Guido van Rossum",
|
|
392
|
+
"James Gosling",
|
|
393
|
+
"Dennis Ritchie",
|
|
394
|
+
])
|
|
395
|
+
|
|
396
|
+
if answer == 0:
|
|
397
|
+
await conv.say("正确!")
|
|
398
|
+
elif answer is None:
|
|
399
|
+
await conv.say("超时了,下次再来吧!")
|
|
400
|
+
else:
|
|
401
|
+
await conv.say("错误了,正确答案是 Guido van Rossum")
|
|
402
|
+
|
|
403
|
+
@command("menu")
|
|
404
|
+
async def menu_handler(event):
|
|
405
|
+
conv = event.conversation(timeout=60)
|
|
406
|
+
|
|
407
|
+
# 分支跳转,构建复杂交互流程
|
|
408
|
+
@conv.branch("main")
|
|
409
|
+
async def main_menu():
|
|
410
|
+
await conv.say("=== 主菜单 ===\n1. 个人信息\n2. 设置\n3. 退出")
|
|
411
|
+
resp = await conv.wait()
|
|
412
|
+
if resp and resp.get_text().strip() == "1":
|
|
413
|
+
await conv.goto("profile")
|
|
414
|
+
|
|
415
|
+
@conv.branch("profile")
|
|
416
|
+
async def profile():
|
|
417
|
+
await conv.say("姓名: Alice\n0. 返回")
|
|
418
|
+
resp = await conv.wait()
|
|
419
|
+
if resp and resp.get_text().strip() == "0":
|
|
420
|
+
await conv.goto("main")
|
|
421
|
+
|
|
422
|
+
await conv.start()
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
详见 [Conversation 多轮对话](docs/zh-CN/advanced/conversation.md)
|
|
426
|
+
|
|
427
|
+
</details>
|
|
428
|
+
|
|
429
|
+
---
|
|
430
|
+
|
|
431
|
+
### 支持的适配器
|
|
432
|
+
|
|
433
|
+
欢迎您贡献适配器!
|
|
434
|
+
|
|
435
|
+
| 适配器 | 说明 |
|
|
436
|
+
|--------|------|
|
|
437
|
+
| <img src=".github/assets/adapter_logo/kook.svg" height="20" alt="Kook" /> [Kook](https://github.com/shanfishapp/ErisPulse-KookAdapter) | Kook(开黑啦)即时通讯平台 |
|
|
438
|
+
| <img src=".github/assets/adapter_logo/matrix.svg" height="20" alt="Matrix" /> [Matrix](https://github.com/ErisPulse/ErisPulse-MatrixAdapter) | Matrix 去中心化通讯协议 |
|
|
439
|
+
| <img src=".github/assets/adapter_logo/onebot.png" height="20" alt="OneBot" /> [OneBot11](https://github.com/ErisPulse/ErisPulse-OneBot11Adapter) | OneBot v11 通用机器人协议 |
|
|
440
|
+
| <img src=".github/assets/adapter_logo/onebot.png" height="20" alt="OneBot" /> [OneBot12](https://github.com/ErisPulse/ErisPulse-OneBot12Adapter) | OneBot v12 标准协议 |
|
|
441
|
+
| <img src=".github/assets/adapter_logo/qqbot.svg" height="20" alt="QQ" /> [QQ](https://github.com/ErisPulse/ErisPulse-QQBotAdapter) | QQ 官方机器人平台 |
|
|
442
|
+
| <img src=".github/assets/adapter_logo/sandbox.png" height="20" alt="Sandbox" /> [沙箱](https://github.com/ErisPulse/ErisPulse-SandboxAdapter) | 网页端调试,无需接入真实平台 |
|
|
443
|
+
| <img src=".github/assets/adapter_logo/telegram.svg" height="20" alt="Telegram" /> [Telegram](https://github.com/ErisPulse/ErisPulse-TelegramAdapter) | 全球性即时通讯平台 |
|
|
444
|
+
| <img src=".github/assets/adapter_logo/email.svg" height="20" alt="Email" /> [邮件](https://github.com/ErisPulse/ErisPulse-EmailAdapter) | 邮件协议收发适配器 |
|
|
445
|
+
| <img src=".github/assets/adapter_logo/yunhu.png" height="20" alt="Yunhu" /> [云湖](https://github.com/ErisPulse/ErisPulse-YunhuAdapter) | 企业级即时通讯平台(机器人接入) |
|
|
446
|
+
| [云湖用户](https://github.com/wsu2059q/ErisPulse-YunhuUserAdapter) | 基于云湖用户协议的接入适配器 |
|
|
447
|
+
| [花枫咖啡馆](https://github.com/ErisPulse/ErisPulse-Ideaura/) | Allons! \(・ω・) / |
|
|
448
|
+
|
|
449
|
+
查看 [适配器详情介绍](docs/zh-CN/platform-guide/README.md)
|
|
450
|
+
|
|
323
451
|
---
|
|
324
452
|
|
|
325
453
|
### 应用场景
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ErisPulse"
|
|
7
|
-
version = "2.4.6-dev.
|
|
7
|
+
version = "2.4.6-dev.6"
|
|
8
8
|
description = "ErisPulse 是一个模块化、可扩展的异步 Python SDK 框架,主要用于构建高效、可维护的机器人应用程序。"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -24,11 +24,21 @@ keywords = [
|
|
|
24
24
|
"sdk",
|
|
25
25
|
"framework",
|
|
26
26
|
"robot",
|
|
27
|
+
"chatbot",
|
|
28
|
+
"bot-framework",
|
|
27
29
|
"onebot",
|
|
30
|
+
"onebot12",
|
|
28
31
|
"telegram",
|
|
32
|
+
"qq",
|
|
33
|
+
"multi-platform",
|
|
29
34
|
"extensible",
|
|
30
35
|
"modular",
|
|
31
|
-
"asyncio"
|
|
36
|
+
"asyncio",
|
|
37
|
+
"instant-messaging",
|
|
38
|
+
"kook",
|
|
39
|
+
"yunhu",
|
|
40
|
+
"matrix",
|
|
41
|
+
"email",
|
|
32
42
|
]
|
|
33
43
|
|
|
34
44
|
classifiers = [
|