diff options
Diffstat (limited to 'tests/plugins/iamai_plugin_reply')
| -rw-r--r-- | tests/plugins/iamai_plugin_reply/__init__.py | 43 | ||||
| -rw-r--r-- | tests/plugins/iamai_plugin_reply/config.py | 11 |
2 files changed, 0 insertions, 54 deletions
diff --git a/tests/plugins/iamai_plugin_reply/__init__.py b/tests/plugins/iamai_plugin_reply/__init__.py deleted file mode 100644 index 6835ca8..0000000 --- a/tests/plugins/iamai_plugin_reply/__init__.py +++ /dev/null @@ -1,43 +0,0 @@ -import re -import json - -from plugins.iamai_plugin_base import BasePlugin - -from .config import Config - - -class Reply(BasePlugin[None, Config]): - priority: int = 1 - Config = Config - - def __post_init__(self): - with open(self.config.data_file, "r",encoding="utf-8") as fp: - if self.config.data_type == "json": - json_data = json.load(fp) - else: - raise ValueError(f"data_type must be json, not {self.config.data_type}") - self.rule_to_message = { - item["rule"]: item["message"] - for item in json_data - if isinstance(item, dict) - and "rule" in item.keys() - and "message" in item.keys() - } - - async def handle(self) -> None: - msg = self.rule_to_message[self.msg_match.re.pattern] - if isinstance(msg, str): - await self.event.reply(self.format_str(msg, self.msg_match.string)) - else: - await self.event.reply(msg) - - def str_match(self, msg_str: str) -> bool: - msg_str = msg_str.strip() - for rule in self.rule_to_message.keys(): - msg_match = re.fullmatch( - rule, msg_str, flags=re.I if self.config.ignore_case else 0 - ) - if msg_match: - self.msg_match = msg_match - return bool(self.msg_match) - return False diff --git a/tests/plugins/iamai_plugin_reply/config.py b/tests/plugins/iamai_plugin_reply/config.py deleted file mode 100644 index e024fb6..0000000 --- a/tests/plugins/iamai_plugin_reply/config.py +++ /dev/null @@ -1,11 +0,0 @@ -from plugins.iamai_plugin_base import CommandPluginConfig - - -class Config(CommandPluginConfig): - __config_name__ = "plugin_reply" - data_type: str = "json" - """数据类型,目前只支持 json。""" - data_file: str = "data/reply_data.json" - """数据文件位置。""" - ignore_case: bool = True - """是否忽略大小写,默认为 True。""" |
