aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/infini/const/templates.py4
-rw-r--r--tests/TestRulePackage/event.py7
-rw-r--r--tests/TestRulePackage/handler.py18
-rw-r--r--tests/TestRulePackage/tests.py12
4 files changed, 22 insertions, 19 deletions
diff --git a/src/infini/const/templates.py b/src/infini/const/templates.py
index d780c248..9a450846 100644
--- a/src/infini/const/templates.py
+++ b/src/infini/const/templates.py
@@ -1,15 +1,15 @@
HANDLER = """from infini import Handler, MessageEvent
from infini.matcher import MatcherEvent
+from infini.event import InfiniEvent
from .event import MyEvent
class MyHandler(Handler):
\"\"\"自设业务函数\"\"\"
- name = "example_handler" # 业务函数事件名
priority: int = 0 # 业务函数权重
- def process(self, event: MatcherEvent) -> MessageEvent:
+ def process(self, event: MatcherEvent) -> InfiniEvent:
\"\"\"声明规则包检定方式\"\"\"
plain_text = event.get_plain_text()
return MyEvent("rule.example_event", plain_text=plain_text)
diff --git a/tests/TestRulePackage/event.py b/tests/TestRulePackage/event.py
index 35e12344..6b915792 100644
--- a/tests/TestRulePackage/event.py
+++ b/tests/TestRulePackage/event.py
@@ -1,8 +1,7 @@
from infini import MessageEvent
-__events__ = ["MyEvent"]
-
class MyEvent(MessageEvent):
- name = "event1"
- output = "检定成功!"
+ """自定义消息事件"""
+ name = "example_event"
+ output = "捕获到输入: {plain_text}"
diff --git a/tests/TestRulePackage/handler.py b/tests/TestRulePackage/handler.py
index 391471d7..b86568aa 100644
--- a/tests/TestRulePackage/handler.py
+++ b/tests/TestRulePackage/handler.py
@@ -1,14 +1,16 @@
-from infini import Handler, Result
+from infini import Handler, MessageEvent
+from infini.matcher import MatcherEvent
+from infini.event import InfiniEvent
+from .event import MyEvent
-__handlers__ = ["HandlerRule"]
-
-class HandlerRule(Handler):
+class MyHandler(Handler):
"""自设业务函数"""
- name = "MyRule" # 规则包名
- priority: int = 0 # 规则包权重
+ priority: int = 0 # 业务函数权重
- def process(self, **kwargs) -> Result:
+ def process(self, event: MatcherEvent) -> InfiniEvent:
"""声明规则包检定方式"""
- return Result("event1", True)
+ plain_text = event.get_plain_text()
+ return MyEvent("rule.example_event", plain_text=plain_text)
+
diff --git a/tests/TestRulePackage/tests.py b/tests/TestRulePackage/tests.py
index 37a6a301..af1726a0 100644
--- a/tests/TestRulePackage/tests.py
+++ b/tests/TestRulePackage/tests.py
@@ -1,10 +1,12 @@
from infini.matcher import matcher, MatcherEvent
+
def test():
- event = MatcherEvent("MyRule")
+ event = MatcherEvent("rule.example_handler", string="测试")
try:
- matcher.run(event)
+ result = matcher.run(event)
+ assert result == "捕获到输入: 测试"
except Exception as error:
- return [error]
- finally:
- return []
+ return error
+ return []
+