summaryrefslogtreecommitdiff
path: root/ATRI/service.py
diff options
context:
space:
mode:
Diffstat (limited to 'ATRI/service.py')
-rw-r--r--ATRI/service.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/ATRI/service.py b/ATRI/service.py
index 5205bd2..0267fcd 100644
--- a/ATRI/service.py
+++ b/ATRI/service.py
@@ -1,4 +1,5 @@
import os
+import re
import json
from pathlib import Path
from datetime import datetime
@@ -15,8 +16,9 @@ from typing import (
)
from nonebot.matcher import Matcher
from nonebot.permission import Permission
+from nonebot.plugin import on_message
from nonebot.typing import T_State, T_Handler, T_RuleChecker
-from nonebot.rule import Rule, command, keyword
+from nonebot.rule import Rule, command, keyword, regex
from .log import logger as log
from .config import Config
@@ -238,6 +240,14 @@ class Service:
_load_service_config(list(keywords)[0], docs)
return cls.on_message(keyword(*keywords) & rule, **kwargs)
+ @classmethod
+ def on_regex(cls,
+ pattern: str,
+ flags: Union[int, re.RegexFlag] = 0,
+ rule: Optional[Union[Rule, T_RuleChecker]] = None,
+ **kwargs) -> Type[Matcher]:
+ return on_message(regex(pattern, flags) & rule, **kwargs)
+
class NetworkPost:
URL = (