diff options
| author | 2023-05-02 23:30:19 +0800 | |
|---|---|---|
| committer | 2023-05-02 23:30:19 +0800 | |
| commit | dfa97c9d24b8124ca38ec5eb605cde932cd6ea78 (patch) | |
| tree | 470a8bfd1960964b8c9724c19de876cf52cf60c3 /tests/plugins/iamai_plugin_reply/__init__.py | |
| parent | 45c49007ee01143ad26899751b856658321cd3ae (diff) | |
| download | HydroRoll-dfa97c9d24b8124ca38ec5eb605cde932cd6ea78.tar.gz HydroRoll-dfa97c9d24b8124ca38ec5eb605cde932cd6ea78.zip | |
Diffstat (limited to 'tests/plugins/iamai_plugin_reply/__init__.py')
| -rw-r--r-- | tests/plugins/iamai_plugin_reply/__init__.py | 43 |
1 files changed, 0 insertions, 43 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 |
