aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/infini/__main__.py2
-rw-r--r--src/infini/consts/templates.py39
2 files changed, 22 insertions, 19 deletions
diff --git a/src/infini/__main__.py b/src/infini/__main__.py
index cd20eb62..d2d93b72 100644
--- a/src/infini/__main__.py
+++ b/src/infini/__main__.py
@@ -28,7 +28,7 @@ def main():
sys.exit(1)
path.mkdir(parents=True, exist_ok=True)
- (path / "handler.py").write_text(templates.RULE, encoding="utf-8")
+ (path / "handler.py").write_text(templates.HANDLER, encoding="utf-8")
(path / "event.py").write_text(templates.EVENT, encoding="utf-8")
(path / "tests.py").write_text(templates.TEST, encoding="utf-8")
diff --git a/src/infini/consts/templates.py b/src/infini/consts/templates.py
index d25894ae..d780c248 100644
--- a/src/infini/consts/templates.py
+++ b/src/infini/consts/templates.py
@@ -1,37 +1,40 @@
-RULE = """from infini import Handler, Result
+HANDLER = """from infini import Handler, MessageEvent
+from infini.matcher import MatcherEvent
+from .event import MyEvent
-__handlers__ = ["HandlerRule"]
-
-class HandlerRule(Handler):
+class MyHandler(Handler):
\"\"\"自设业务函数\"\"\"
- name = "MyRule" # 规则包名
- priority: int = 0 # 规则包权重
+ name = "example_handler" # 业务函数事件名
+ priority: int = 0 # 业务函数权重
- def process(self, **kwargs) -> Result:
+ def process(self, event: MatcherEvent) -> MessageEvent:
\"\"\"声明规则包检定方式\"\"\"
- return Result("event1", True)
+ plain_text = event.get_plain_text()
+ return MyEvent("rule.example_event", plain_text=plain_text)
+
"""
EVENT = """from infini import MessageEvent
-__events__ = ["MyEvent"]
-
class MyEvent(MessageEvent):
- name = "event1"
- output = "检定成功!"
+ \"\"\"自定义消息事件\"\"\"
+ name = "example_event"
+ output = "捕获到输入: {plain_text}"
"""
TEST = """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 []
-""" \ No newline at end of file
+ return error
+ return []
+
+"""