ErisPulse 2.2.0.dev1__py3-none-any.whl → 2.2.1.dev0__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.
- ErisPulse/Core/Event/__init__.py +10 -7
- ErisPulse/Core/Event/base.py +30 -37
- ErisPulse/Core/Event/command.py +470 -0
- ErisPulse/Core/Event/message.py +43 -12
- ErisPulse/Core/Event/meta.py +42 -11
- ErisPulse/Core/Event/notice.py +51 -11
- ErisPulse/Core/Event/request.py +33 -11
- {erispulse-2.2.0.dev1.dist-info → erispulse-2.2.1.dev0.dist-info}/METADATA +32 -52
- {erispulse-2.2.0.dev1.dist-info → erispulse-2.2.1.dev0.dist-info}/RECORD +12 -13
- ErisPulse/Core/Event/cmd.py +0 -210
- ErisPulse/Core/Event/manager.py +0 -127
- {erispulse-2.2.0.dev1.dist-info → erispulse-2.2.1.dev0.dist-info}/WHEEL +0 -0
- {erispulse-2.2.0.dev1.dist-info → erispulse-2.2.1.dev0.dist-info}/entry_points.txt +0 -0
- {erispulse-2.2.0.dev1.dist-info → erispulse-2.2.1.dev0.dist-info}/licenses/LICENSE +0 -0
ErisPulse/Core/Event/message.py
CHANGED
|
@@ -2,25 +2,20 @@
|
|
|
2
2
|
ErisPulse 消息处理模块
|
|
3
3
|
|
|
4
4
|
提供基于装饰器的消息事件处理功能
|
|
5
|
+
|
|
6
|
+
{!--< tips >!--}
|
|
7
|
+
1. 支持私聊、群聊消息分类处理
|
|
8
|
+
2. 支持@消息特殊处理
|
|
9
|
+
3. 支持自定义条件过滤
|
|
10
|
+
{!--< /tips >!--}
|
|
5
11
|
"""
|
|
6
12
|
|
|
7
13
|
from .base import BaseEventHandler
|
|
8
|
-
from .manager import event_manager
|
|
9
14
|
from typing import Callable, Dict, Any
|
|
10
|
-
import asyncio
|
|
11
15
|
|
|
12
16
|
class MessageHandler:
|
|
13
|
-
"""
|
|
14
|
-
消息处理器
|
|
15
|
-
|
|
16
|
-
提供不同类型消息事件的处理功能
|
|
17
|
-
"""
|
|
18
|
-
|
|
19
17
|
def __init__(self):
|
|
20
|
-
"""
|
|
21
|
-
初始化消息处理器
|
|
22
|
-
"""
|
|
23
|
-
self.handler = event_manager.create_event_handler("message", "message")
|
|
18
|
+
self.handler = BaseEventHandler("message", "message")
|
|
24
19
|
|
|
25
20
|
def on_message(self, priority: int = 0):
|
|
26
21
|
"""
|
|
@@ -34,6 +29,15 @@ class MessageHandler:
|
|
|
34
29
|
return func
|
|
35
30
|
return decorator
|
|
36
31
|
|
|
32
|
+
def remove_message_handler(self, handler: Callable) -> bool:
|
|
33
|
+
"""
|
|
34
|
+
取消注册消息事件处理器
|
|
35
|
+
|
|
36
|
+
:param handler: 要取消注册的处理器
|
|
37
|
+
:return: 是否成功取消注册
|
|
38
|
+
"""
|
|
39
|
+
return self.handler.unregister(handler)
|
|
40
|
+
|
|
37
41
|
def on_private_message(self, priority: int = 0):
|
|
38
42
|
"""
|
|
39
43
|
私聊消息事件装饰器
|
|
@@ -49,6 +53,15 @@ class MessageHandler:
|
|
|
49
53
|
return func
|
|
50
54
|
return decorator
|
|
51
55
|
|
|
56
|
+
def remove_private_message_handler(self, handler: Callable) -> bool:
|
|
57
|
+
"""
|
|
58
|
+
取消注册私聊消息事件处理器
|
|
59
|
+
|
|
60
|
+
:param handler: 要取消注册的处理器
|
|
61
|
+
:return: 是否成功取消注册
|
|
62
|
+
"""
|
|
63
|
+
return self.handler.unregister(handler)
|
|
64
|
+
|
|
52
65
|
def on_group_message(self, priority: int = 0):
|
|
53
66
|
"""
|
|
54
67
|
群聊消息事件装饰器
|
|
@@ -64,6 +77,15 @@ class MessageHandler:
|
|
|
64
77
|
return func
|
|
65
78
|
return decorator
|
|
66
79
|
|
|
80
|
+
def remove_group_message_handler(self, handler: Callable) -> bool:
|
|
81
|
+
"""
|
|
82
|
+
取消注册群聊消息事件处理器
|
|
83
|
+
|
|
84
|
+
:param handler: 要取消注册的处理器
|
|
85
|
+
:return: 是否成功取消注册
|
|
86
|
+
"""
|
|
87
|
+
return self.handler.unregister(handler)
|
|
88
|
+
|
|
67
89
|
def on_at_message(self, priority: int = 0):
|
|
68
90
|
"""
|
|
69
91
|
@消息事件装饰器
|
|
@@ -85,5 +107,14 @@ class MessageHandler:
|
|
|
85
107
|
self.handler.register(func, priority, condition)
|
|
86
108
|
return func
|
|
87
109
|
return decorator
|
|
110
|
+
|
|
111
|
+
def remove_at_message_handler(self, handler: Callable) -> bool:
|
|
112
|
+
"""
|
|
113
|
+
取消注册@消息事件处理器
|
|
114
|
+
|
|
115
|
+
:param handler: 要取消注册的处理器
|
|
116
|
+
:return: 是否成功取消注册
|
|
117
|
+
"""
|
|
118
|
+
return self.handler.unregister(handler)
|
|
88
119
|
|
|
89
120
|
message = MessageHandler()
|
ErisPulse/Core/Event/meta.py
CHANGED
|
@@ -2,24 +2,19 @@
|
|
|
2
2
|
ErisPulse 元事件处理模块
|
|
3
3
|
|
|
4
4
|
提供基于装饰器的元事件处理功能
|
|
5
|
+
|
|
6
|
+
{!--< tips >!--}
|
|
7
|
+
1. 支持连接、断开连接等生命周期事件
|
|
8
|
+
2. 适用于系统状态监控和初始化操作
|
|
9
|
+
{!--< /tips >!--}
|
|
5
10
|
"""
|
|
6
11
|
|
|
7
12
|
from .base import BaseEventHandler
|
|
8
|
-
from .manager import event_manager
|
|
9
13
|
from typing import Callable, Dict, Any
|
|
10
14
|
|
|
11
15
|
class MetaHandler:
|
|
12
|
-
"""
|
|
13
|
-
元事件处理器
|
|
14
|
-
|
|
15
|
-
提供元事件(如连接、断开连接、心跳等)的处理功能
|
|
16
|
-
"""
|
|
17
|
-
|
|
18
16
|
def __init__(self):
|
|
19
|
-
"""
|
|
20
|
-
初始化元事件处理器
|
|
21
|
-
"""
|
|
22
|
-
self.handler = event_manager.create_event_handler("meta", "meta")
|
|
17
|
+
self.handler = BaseEventHandler("meta", "meta")
|
|
23
18
|
|
|
24
19
|
def on_meta(self, priority: int = 0):
|
|
25
20
|
"""
|
|
@@ -33,6 +28,15 @@ class MetaHandler:
|
|
|
33
28
|
return func
|
|
34
29
|
return decorator
|
|
35
30
|
|
|
31
|
+
def remove_meta_handler(self, handler: Callable) -> bool:
|
|
32
|
+
"""
|
|
33
|
+
取消注册通用元事件处理器
|
|
34
|
+
|
|
35
|
+
:param handler: 要取消注册的处理器
|
|
36
|
+
:return: 是否成功取消注册
|
|
37
|
+
"""
|
|
38
|
+
return self.handler.unregister(handler)
|
|
39
|
+
|
|
36
40
|
def on_connect(self, priority: int = 0):
|
|
37
41
|
"""
|
|
38
42
|
连接事件装饰器
|
|
@@ -48,6 +52,15 @@ class MetaHandler:
|
|
|
48
52
|
return func
|
|
49
53
|
return decorator
|
|
50
54
|
|
|
55
|
+
def remove_connect_handler(self, handler: Callable) -> bool:
|
|
56
|
+
"""
|
|
57
|
+
取消注册连接事件处理器
|
|
58
|
+
|
|
59
|
+
:param handler: 要取消注册的处理器
|
|
60
|
+
:return: 是否成功取消注册
|
|
61
|
+
"""
|
|
62
|
+
return self.handler.unregister(handler)
|
|
63
|
+
|
|
51
64
|
def on_disconnect(self, priority: int = 0):
|
|
52
65
|
"""
|
|
53
66
|
断开连接事件装饰器
|
|
@@ -63,6 +76,15 @@ class MetaHandler:
|
|
|
63
76
|
return func
|
|
64
77
|
return decorator
|
|
65
78
|
|
|
79
|
+
def remove_disconnect_handler(self, handler: Callable) -> bool:
|
|
80
|
+
"""
|
|
81
|
+
取消注册断开连接事件处理器
|
|
82
|
+
|
|
83
|
+
:param handler: 要取消注册的处理器
|
|
84
|
+
:return: 是否成功取消注册
|
|
85
|
+
"""
|
|
86
|
+
return self.handler.unregister(handler)
|
|
87
|
+
|
|
66
88
|
def on_heartbeat(self, priority: int = 0):
|
|
67
89
|
"""
|
|
68
90
|
心跳事件装饰器
|
|
@@ -77,5 +99,14 @@ class MetaHandler:
|
|
|
77
99
|
self.handler.register(func, priority, condition)
|
|
78
100
|
return func
|
|
79
101
|
return decorator
|
|
102
|
+
|
|
103
|
+
def remove_heartbeat_handler(self, handler: Callable) -> bool:
|
|
104
|
+
"""
|
|
105
|
+
取消注册心跳事件处理器
|
|
106
|
+
|
|
107
|
+
:param handler: 要取消注册的处理器
|
|
108
|
+
:return: 是否成功取消注册
|
|
109
|
+
"""
|
|
110
|
+
return self.handler.unregister(handler)
|
|
80
111
|
|
|
81
112
|
meta = MetaHandler()
|
ErisPulse/Core/Event/notice.py
CHANGED
|
@@ -2,24 +2,19 @@
|
|
|
2
2
|
ErisPulse 通知处理模块
|
|
3
3
|
|
|
4
4
|
提供基于装饰器的通知事件处理功能
|
|
5
|
+
|
|
6
|
+
{!--< tips >!--}
|
|
7
|
+
1. 支持好友、群组等不同类型通知
|
|
8
|
+
2. 支持成员变动等细粒度事件
|
|
9
|
+
{!--< /tips >!--}
|
|
5
10
|
"""
|
|
6
11
|
|
|
7
12
|
from .base import BaseEventHandler
|
|
8
|
-
from .manager import event_manager
|
|
9
13
|
from typing import Callable, Dict, Any
|
|
10
14
|
|
|
11
15
|
class NoticeHandler:
|
|
12
|
-
"""
|
|
13
|
-
通知处理器
|
|
14
|
-
|
|
15
|
-
提供不同类型通知事件的处理功能
|
|
16
|
-
"""
|
|
17
|
-
|
|
18
16
|
def __init__(self):
|
|
19
|
-
"""
|
|
20
|
-
初始化通知处理器
|
|
21
|
-
"""
|
|
22
|
-
self.handler = event_manager.create_event_handler("notice", "notice")
|
|
17
|
+
self.handler = BaseEventHandler("notice", "notice")
|
|
23
18
|
|
|
24
19
|
def on_notice(self, priority: int = 0):
|
|
25
20
|
"""
|
|
@@ -33,6 +28,15 @@ class NoticeHandler:
|
|
|
33
28
|
return func
|
|
34
29
|
return decorator
|
|
35
30
|
|
|
31
|
+
def remove_notice_handler(self, handler: Callable) -> bool:
|
|
32
|
+
"""
|
|
33
|
+
取消注册通用通知事件处理器
|
|
34
|
+
|
|
35
|
+
:param handler: 要取消注册的处理器
|
|
36
|
+
:return: 是否成功取消注册
|
|
37
|
+
"""
|
|
38
|
+
return self.handler.unregister(handler)
|
|
39
|
+
|
|
36
40
|
def on_friend_add(self, priority: int = 0):
|
|
37
41
|
"""
|
|
38
42
|
好友添加通知事件装饰器
|
|
@@ -48,6 +52,15 @@ class NoticeHandler:
|
|
|
48
52
|
return func
|
|
49
53
|
return decorator
|
|
50
54
|
|
|
55
|
+
def remove_friend_add_handler(self, handler: Callable) -> bool:
|
|
56
|
+
"""
|
|
57
|
+
取消注册好友添加通知事件处理器
|
|
58
|
+
|
|
59
|
+
:param handler: 要取消注册的处理器
|
|
60
|
+
:return: 是否成功取消注册
|
|
61
|
+
"""
|
|
62
|
+
return self.handler.unregister(handler)
|
|
63
|
+
|
|
51
64
|
def on_friend_remove(self, priority: int = 0):
|
|
52
65
|
"""
|
|
53
66
|
好友删除通知事件装饰器
|
|
@@ -63,6 +76,15 @@ class NoticeHandler:
|
|
|
63
76
|
return func
|
|
64
77
|
return decorator
|
|
65
78
|
|
|
79
|
+
def remove_friend_remove_handler(self, handler: Callable) -> bool:
|
|
80
|
+
"""
|
|
81
|
+
取消注册好友删除通知事件处理器
|
|
82
|
+
|
|
83
|
+
:param handler: 要取消注册的处理器
|
|
84
|
+
:return: 是否成功取消注册
|
|
85
|
+
"""
|
|
86
|
+
return self.handler.unregister(handler)
|
|
87
|
+
|
|
66
88
|
def on_group_increase(self, priority: int = 0):
|
|
67
89
|
"""
|
|
68
90
|
群成员增加通知事件装饰器
|
|
@@ -78,6 +100,15 @@ class NoticeHandler:
|
|
|
78
100
|
return func
|
|
79
101
|
return decorator
|
|
80
102
|
|
|
103
|
+
def remove_group_increase_handler(self, handler: Callable) -> bool:
|
|
104
|
+
"""
|
|
105
|
+
取消注册群成员增加通知事件处理器
|
|
106
|
+
|
|
107
|
+
:param handler: 要取消注册的处理器
|
|
108
|
+
:return: 是否成功取消注册
|
|
109
|
+
"""
|
|
110
|
+
return self.handler.unregister(handler)
|
|
111
|
+
|
|
81
112
|
def on_group_decrease(self, priority: int = 0):
|
|
82
113
|
"""
|
|
83
114
|
群成员减少通知事件装饰器
|
|
@@ -92,5 +123,14 @@ class NoticeHandler:
|
|
|
92
123
|
self.handler.register(func, priority, condition)
|
|
93
124
|
return func
|
|
94
125
|
return decorator
|
|
126
|
+
|
|
127
|
+
def remove_group_decrease_handler(self, handler: Callable) -> bool:
|
|
128
|
+
"""
|
|
129
|
+
取消注册群成员减少通知事件处理器
|
|
130
|
+
|
|
131
|
+
:param handler: 要取消注册的处理器
|
|
132
|
+
:return: 是否成功取消注册
|
|
133
|
+
"""
|
|
134
|
+
return self.handler.unregister(handler)
|
|
95
135
|
|
|
96
136
|
notice = NoticeHandler()
|
ErisPulse/Core/Event/request.py
CHANGED
|
@@ -2,24 +2,19 @@
|
|
|
2
2
|
ErisPulse 请求处理模块
|
|
3
3
|
|
|
4
4
|
提供基于装饰器的请求事件处理功能
|
|
5
|
+
|
|
6
|
+
{!--< tips >!--}
|
|
7
|
+
1. 支持好友请求、群邀请等不同类型请求
|
|
8
|
+
2. 可以通过返回特定值来同意或拒绝请求
|
|
9
|
+
{!--< /tips >!--}
|
|
5
10
|
"""
|
|
6
11
|
|
|
7
12
|
from .base import BaseEventHandler
|
|
8
|
-
from .manager import event_manager
|
|
9
13
|
from typing import Callable, Dict, Any
|
|
10
14
|
|
|
11
15
|
class RequestHandler:
|
|
12
|
-
"""
|
|
13
|
-
请求处理器
|
|
14
|
-
|
|
15
|
-
提供不同类型请求事件的处理功能(如好友申请、群邀请等)
|
|
16
|
-
"""
|
|
17
|
-
|
|
18
16
|
def __init__(self):
|
|
19
|
-
"""
|
|
20
|
-
初始化请求处理器
|
|
21
|
-
"""
|
|
22
|
-
self.handler = event_manager.create_event_handler("request", "request")
|
|
17
|
+
self.handler = BaseEventHandler("request", "request")
|
|
23
18
|
|
|
24
19
|
def on_request(self, priority: int = 0):
|
|
25
20
|
"""
|
|
@@ -33,6 +28,15 @@ class RequestHandler:
|
|
|
33
28
|
return func
|
|
34
29
|
return decorator
|
|
35
30
|
|
|
31
|
+
def remove_request_handler(self, handler: Callable) -> bool:
|
|
32
|
+
"""
|
|
33
|
+
取消注册通用请求事件处理器
|
|
34
|
+
|
|
35
|
+
:param handler: 要取消注册的处理器
|
|
36
|
+
:return: 是否成功取消注册
|
|
37
|
+
"""
|
|
38
|
+
return self.handler.unregister(handler)
|
|
39
|
+
|
|
36
40
|
def on_friend_request(self, priority: int = 0):
|
|
37
41
|
"""
|
|
38
42
|
好友请求事件装饰器
|
|
@@ -48,6 +52,15 @@ class RequestHandler:
|
|
|
48
52
|
return func
|
|
49
53
|
return decorator
|
|
50
54
|
|
|
55
|
+
def remove_friend_request_handler(self, handler: Callable) -> bool:
|
|
56
|
+
"""
|
|
57
|
+
取消注册好友请求事件处理器
|
|
58
|
+
|
|
59
|
+
:param handler: 要取消注册的处理器
|
|
60
|
+
:return: 是否成功取消注册
|
|
61
|
+
"""
|
|
62
|
+
return self.handler.unregister(handler)
|
|
63
|
+
|
|
51
64
|
def on_group_request(self, priority: int = 0):
|
|
52
65
|
"""
|
|
53
66
|
群邀请请求事件装饰器
|
|
@@ -62,5 +75,14 @@ class RequestHandler:
|
|
|
62
75
|
self.handler.register(func, priority, condition)
|
|
63
76
|
return func
|
|
64
77
|
return decorator
|
|
78
|
+
|
|
79
|
+
def remove_group_request_handler(self, handler: Callable) -> bool:
|
|
80
|
+
"""
|
|
81
|
+
取消注册群邀请请求事件处理器
|
|
82
|
+
|
|
83
|
+
:param handler: 要取消注册的处理器
|
|
84
|
+
:return: 是否成功取消注册
|
|
85
|
+
"""
|
|
86
|
+
return self.handler.unregister(handler)
|
|
65
87
|
|
|
66
88
|
request = RequestHandler()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ErisPulse
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.1.dev0
|
|
4
4
|
Summary: ErisPulse 是一个模块化、可扩展的异步 Python SDK 框架,主要用于构建高效、可维护的机器人应用程序。
|
|
5
5
|
Author-email: "艾莉丝·格雷拉特(WSu2059)" <wsu2059@qq.com>
|
|
6
6
|
License: MIT License
|
|
@@ -52,7 +52,7 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
52
52
|
Classifier: Programming Language :: Python :: 3.12
|
|
53
53
|
Classifier: Programming Language :: Python :: 3.13
|
|
54
54
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
55
|
-
Requires-Python: >=3.
|
|
55
|
+
Requires-Python: >=3.10
|
|
56
56
|
Requires-Dist: aiohttp
|
|
57
57
|
Requires-Dist: colorama
|
|
58
58
|
Requires-Dist: fastapi>=0.116.1
|
|
@@ -71,43 +71,31 @@ Description-Content-Type: text/markdown
|
|
|
71
71
|
|
|
72
72
|

|
|
73
73
|
|
|
74
|
-
[](https://pypi.org/project/ErisPulse/)
|
|
75
75
|
[](https://pypi.org/project/ErisPulse/)
|
|
76
|
+
[](https://socket.dev/pypi/package/ErisPulse)
|
|
76
77
|
|
|
77
|
-
##
|
|
78
|
+
## 文档资源
|
|
78
79
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
[
|
|
82
|
-
[
|
|
83
|
-
|
|
84
|
-
## 模块市场
|
|
85
|
-
|
|
86
|
-
[](https://www.erisdev.com/#market)
|
|
87
|
-
[](https://erispulse.pages.dev/#market)
|
|
88
|
-
[](https://erispulse.github.io/#market)
|
|
89
|
-
[](https://erispulse.netlify.app/#market)
|
|
90
|
-
|
|
91
|
-
---
|
|
80
|
+
| 平台 | 主站点 | 备用站点 |
|
|
81
|
+
|------|--------|---------|
|
|
82
|
+
| 文档 | [erisdev.com](https://www.erisdev.com/#docs) | [Cloudflare](https://erispulse.pages.dev/#docs) • [GitHub](https://erispulse.github.io/#docs) • [Netlify](https://erispulse.netlify.app/#docs) |
|
|
83
|
+
| 模块市场 | [erisdev.com](https://www.erisdev.com/#market) | [Cloudflare](https://erispulse.pages.dev/#market) • [GitHub](https://erispulse.github.io/#market) • [Netlify](https://erispulse.netlify.app/#market) |
|
|
92
84
|
|
|
93
85
|
## 核心特性
|
|
94
86
|
|
|
95
87
|
| 特性 | 描述 |
|
|
96
88
|
|:-----|:-----|
|
|
97
|
-
|
|
|
98
|
-
|
|
|
99
|
-
|
|
|
100
|
-
|
|
|
101
|
-
|
|
|
102
|
-
|
|
103
|
-
---
|
|
89
|
+
| 异步架构 | 完全基于 async/await 的异步设计 |
|
|
90
|
+
| 模块化系统 | 灵活的插件和模块管理 |
|
|
91
|
+
| 热重载 | 开发时自动重载,无需重启 |
|
|
92
|
+
| 错误管理 | 统一的错误处理和报告系统 |
|
|
93
|
+
| 配置管理 | 灵活的配置存储和访问 |
|
|
104
94
|
|
|
105
95
|
## 快速开始
|
|
106
96
|
|
|
107
97
|
### 一键安装脚本
|
|
108
98
|
|
|
109
|
-
我们提供了一键安装脚本,支持所有主流平台:
|
|
110
|
-
|
|
111
99
|
#### Windows (PowerShell):
|
|
112
100
|
|
|
113
101
|
```powershell
|
|
@@ -120,30 +108,30 @@ irm https://get.erisdev.com/install.ps1 -OutFile install.ps1; powershell -Execut
|
|
|
120
108
|
curl -sSL https://get.erisdev.com/install.sh | tee install.sh >/dev/null && chmod +x install.sh && ./install.sh
|
|
121
109
|
```
|
|
122
110
|
|
|
123
|
-
|
|
111
|
+
## 开发与测试
|
|
124
112
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
### 1. 克隆项目并进入目录
|
|
113
|
+
### 1. 克隆项目
|
|
128
114
|
|
|
129
115
|
```bash
|
|
130
116
|
git clone -b Develop/v2 https://github.com/ErisPulse/ErisPulse.git
|
|
131
117
|
cd ErisPulse
|
|
132
118
|
```
|
|
133
119
|
|
|
134
|
-
### 2.
|
|
120
|
+
### 2. 环境搭建
|
|
121
|
+
|
|
122
|
+
使用 uv 同步项目环境:
|
|
135
123
|
|
|
136
124
|
```bash
|
|
137
125
|
uv sync
|
|
138
126
|
|
|
139
|
-
#
|
|
140
|
-
source .venv/bin/activate
|
|
127
|
+
# 激活虚拟环境
|
|
128
|
+
source .venv/bin/activate # macOS/Linux
|
|
141
129
|
# Windows: .venv\Scripts\activate
|
|
142
130
|
```
|
|
143
131
|
|
|
144
|
-
|
|
132
|
+
说明: ErisPulse 使用 Python 3.13 开发,但兼容 Python 3.10+
|
|
145
133
|
|
|
146
|
-
### 3.
|
|
134
|
+
### 3. 安装依赖
|
|
147
135
|
|
|
148
136
|
```bash
|
|
149
137
|
uv pip install -e .
|
|
@@ -161,7 +149,7 @@ python -c "from ErisPulse import sdk; sdk.init()"
|
|
|
161
149
|
|
|
162
150
|
### 5. 运行测试
|
|
163
151
|
|
|
164
|
-
我们提供了一个交互式测试脚本,可以帮助您快速验证SDK
|
|
152
|
+
我们提供了一个交互式测试脚本,可以帮助您快速验证SDK功能(于开发中):
|
|
165
153
|
|
|
166
154
|
```bash
|
|
167
155
|
uv run devs/test.py
|
|
@@ -174,34 +162,26 @@ uv run devs/test.py
|
|
|
174
162
|
- 工具函数测试
|
|
175
163
|
- 适配器功能测试
|
|
176
164
|
|
|
177
|
-
### 6. 开发模式 (热重载)
|
|
178
|
-
|
|
179
|
-
```bash
|
|
180
|
-
epsdk run your_script.py --reload
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
---
|
|
184
|
-
|
|
185
165
|
## 贡献指南
|
|
186
166
|
|
|
187
167
|
我们欢迎各种形式的贡献,包括但不限于:
|
|
188
168
|
|
|
189
|
-
1.
|
|
169
|
+
1. 报告问题
|
|
190
170
|
在 [GitHub Issues](https://github.com/ErisPulse/ErisPulse/issues) 提交bug报告
|
|
191
171
|
|
|
192
|
-
2.
|
|
172
|
+
2. 功能请求
|
|
193
173
|
通过 [社区讨论](https://github.com/ErisPulse/ErisPulse/discussions) 提出新想法
|
|
194
174
|
|
|
195
|
-
3.
|
|
196
|
-
提交 Pull Request 前请阅读我们的 [代码风格](docs/StyleGuide/DocstringSpec.md)
|
|
175
|
+
3. 代码贡献
|
|
176
|
+
提交 Pull Request 前请阅读我们的 [代码风格](docs/StyleGuide/DocstringSpec.md) 以及 [贡献指南](CONTRIBUTING.md)
|
|
197
177
|
|
|
198
|
-
4.
|
|
178
|
+
4. 文档改进
|
|
199
179
|
帮助完善文档和示例代码
|
|
200
180
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
[加入社区讨论 →](https://github.com/ErisPulse/ErisPulse/discussions)
|
|
181
|
+
[加入社区讨论](https://github.com/ErisPulse/ErisPulse/discussions)
|
|
204
182
|
|
|
205
183
|
---
|
|
206
184
|
|
|
207
185
|
[](https://starchart.cc/ErisPulse/ErisPulse)
|
|
186
|
+
|
|
187
|
+
|
|
@@ -11,17 +11,16 @@ ErisPulse/Core/module.py,sha256=wCIFC3qHukeu7DSj8TuNMw8s_gzTwk7_coM4oflmieA,4680
|
|
|
11
11
|
ErisPulse/Core/module_registry.py,sha256=BeOQwh3Pwv2fceBLJEObF6Ek65td0VOFzv3L0aEudXY,7740
|
|
12
12
|
ErisPulse/Core/router.py,sha256=s2EBh2qpt3UXYhB06Ppc1XTFuZ3u0ZfXENJxwkgPoq8,8542
|
|
13
13
|
ErisPulse/Core/storage.py,sha256=oRum4eVaTc3yxcaafggoIvrk41LPbvApSCxkGM3YmzU,17904
|
|
14
|
-
ErisPulse/Core/Event/__init__.py,sha256=
|
|
15
|
-
ErisPulse/Core/Event/base.py,sha256=
|
|
16
|
-
ErisPulse/Core/Event/
|
|
14
|
+
ErisPulse/Core/Event/__init__.py,sha256=ixL1jaF0qXt0LbHckRWPH7Xu159qeeXQcsp4ZOs8J6Y,1120
|
|
15
|
+
ErisPulse/Core/Event/base.py,sha256=sZ5Vpp3EVRrtSi_yA3rn61s_4VOWSCUMdRBFeXzg1pc,3614
|
|
16
|
+
ErisPulse/Core/Event/command.py,sha256=fcLGOTjs_06KPyzkH4Eprvqzm_XToLUdbEO6NbJ_cFg,17453
|
|
17
17
|
ErisPulse/Core/Event/exceptions.py,sha256=iGcuPaC7F4cZeujcvBdZb9bzQGnHBdb9CcPKoB760Bo,711
|
|
18
|
-
ErisPulse/Core/Event/
|
|
19
|
-
ErisPulse/Core/Event/
|
|
20
|
-
ErisPulse/Core/Event/
|
|
21
|
-
ErisPulse/Core/Event/
|
|
22
|
-
|
|
23
|
-
erispulse-2.2.
|
|
24
|
-
erispulse-2.2.
|
|
25
|
-
erispulse-2.2.
|
|
26
|
-
erispulse-2.2.
|
|
27
|
-
erispulse-2.2.0.dev1.dist-info/RECORD,,
|
|
18
|
+
ErisPulse/Core/Event/message.py,sha256=tB51ACG_2RzJtVm-4gl2zpss5flQjVIUnabWFlrO1Fk,3677
|
|
19
|
+
ErisPulse/Core/Event/meta.py,sha256=Bb5JZgF44bN8I-FsqMAEG5w35YU0vuAN4U91TXgfTtY,3300
|
|
20
|
+
ErisPulse/Core/Event/notice.py,sha256=aHmkICmrTaWk5GWAB004gRMu9SY61lSXcUdxCLcuYhc,4222
|
|
21
|
+
ErisPulse/Core/Event/request.py,sha256=eZk4AQsbhkK3z-7nO83bvW97e6FqDMSYMAAxeacALU4,2616
|
|
22
|
+
erispulse-2.2.1.dev0.dist-info/METADATA,sha256=l3rkS2DX-q4GPNk5mvHFdAwt8qcO4MhkIt6nBvYF1hQ,6650
|
|
23
|
+
erispulse-2.2.1.dev0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
24
|
+
erispulse-2.2.1.dev0.dist-info/entry_points.txt,sha256=Jss71M6nEha0TA-DyVZugPYdcL14s9QpiOeIlgWxzOc,182
|
|
25
|
+
erispulse-2.2.1.dev0.dist-info/licenses/LICENSE,sha256=b2XwzcfWuv_36Op3xGdjcuPHgfCz62yT3bXYjfStpxY,1852
|
|
26
|
+
erispulse-2.2.1.dev0.dist-info/RECORD,,
|