aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/infini/event.py11
-rw-r--r--src/infini/handler.py28
-rw-r--r--src/infini/matcher.py11
-rw-r--r--src/infini/register.py5
4 files changed, 28 insertions, 27 deletions
diff --git a/src/infini/event.py b/src/infini/event.py
index d33a9c3c..1f04afeb 100644
--- a/src/infini/event.py
+++ b/src/infini/event.py
@@ -1,8 +1,12 @@
from abc import ABCMeta
-from .register import Events
from .typing import Dict, Any
-__all__ = ["InfiniEvent", "MessageEvent", "WorkflowEvent", "MatcherEvent", "events"]
+__all__ = [
+ "InfiniEvent",
+ "MessageEvent",
+ "WorkflowEvent",
+ "MatcherEvent",
+]
class InfiniEvent(metaclass=ABCMeta):
@@ -83,6 +87,3 @@ class MatcherEvent(InfiniEvent):
def get_plain_text(self):
return self.string
-
-
-events = Events()
diff --git a/src/infini/handler.py b/src/infini/handler.py
index 650762c6..8444d3b6 100644
--- a/src/infini/handler.py
+++ b/src/infini/handler.py
@@ -1,21 +1,20 @@
from abc import ABCMeta, abstractmethod
-from .register import Handlers
-from .event import MatcherEvent
+from .event import MatcherEvent, InfiniEvent
-__all__ = ["Result", "Handler"]
+__all__ = ["Handler"]
-class Result:
- """规则包运行结果"""
+# class Result:
+# """规则包运行结果"""
- event: str
- status: bool
- kwargs: dict = {}
+# event: str
+# status: bool
+# kwargs: dict = {}
- def __init__(self, event: str, status: bool, **kwargs) -> None:
- self.event = event
- self.status = status
- self.kwargs = kwargs
+# def __init__(self, event: str, status: bool, **kwargs) -> None:
+# self.event = event
+# self.status = status
+# self.kwargs = kwargs
class Handler(metaclass=ABCMeta):
@@ -28,8 +27,5 @@ class Handler(metaclass=ABCMeta):
# handlers.regist(cls.name, cls())
@abstractmethod
- def process(self, event: MatcherEvent) -> Result:
+ def process(self, event: MatcherEvent) -> InfiniEvent:
raise NotImplementedError
-
-
-handlers = Handlers()
diff --git a/src/infini/matcher.py b/src/infini/matcher.py
index 309081ac..94bb6645 100644
--- a/src/infini/matcher.py
+++ b/src/infini/matcher.py
@@ -1,6 +1,6 @@
-from .register import Events, Handlers
-from .event import MatcherEvent, events
-from .handler import Handler, handlers
+from .register import Events, Handlers, events, handlers
+from .event import MatcherEvent
+from .handler import Handler
from .exceptions import UnknownMatcherEvent
@@ -23,9 +23,10 @@ class Matcher:
raise UnknownMatcherEvent(f"未知的规则包: {name}")
def run(self, event: MatcherEvent) -> str:
- result = self.match(event.name).process(event)
+ callback_event = self.match(event.name).process(event)
return self.events.process(
- result.event, **result.kwargs if result.kwargs else event.kwargs
+ callback_event.name,
+ **callback_event.kwargs if callback_event.kwargs else callback_event.kwargs,
)
diff --git a/src/infini/register.py b/src/infini/register.py
index 293b212e..40d929f3 100644
--- a/src/infini/register.py
+++ b/src/infini/register.py
@@ -2,7 +2,6 @@ from infini.exceptions import UnknownMessageEvent
from infini.handler import Handler
from infini.typing import Dict
-
import re
@@ -47,3 +46,7 @@ class Handlers:
def match(self, name: str) -> Handler | None:
return self._handlers.get(name.lower())
+
+
+handlers = Handlers()
+events = Events()