diff options
Diffstat (limited to 'hydroroll/plugins/HydroRoll_plugin_bot')
| -rw-r--r-- | hydroroll/plugins/HydroRoll_plugin_bot/__init__.py | 30 | ||||
| -rw-r--r-- | hydroroll/plugins/HydroRoll_plugin_bot/config.py | 11 |
2 files changed, 41 insertions, 0 deletions
diff --git a/hydroroll/plugins/HydroRoll_plugin_bot/__init__.py b/hydroroll/plugins/HydroRoll_plugin_bot/__init__.py new file mode 100644 index 0000000..2b3eec8 --- /dev/null +++ b/hydroroll/plugins/HydroRoll_plugin_bot/__init__.py @@ -0,0 +1,30 @@ +import re +from importlib.metadata import version +from plugins.hydroroll_plugin_base import CommandPluginBase +from hydroroll.config import GlobalConfig + +from .config import Config + + +class HydroBot(CommandPluginBase[None, Config]): + Config = Config + CurrentConfig = GlobalConfig + priority = 0 + + def __post_init__(self): + self.re_pattern = re.compile(r"(?P<bot_info_str>.*)", flags=re.I) + + def bot_info(self): + info_str = f'{self.CurrentConfig._name} '\ + f'{self.CurrentConfig._version}({self.CurrentConfig._svn}) '\ + f'by {self.CurrentConfig._author} '\ + f'on Python {self.CurrentConfig._python_ver_raw} '\ + f'with {" & ".join([adapter + "("+version("iamai-adapter-"+adapter) +")" for adapter in dict(self.bot.config.adapter)])} '\ + f'for iamai({self.CurrentConfig._iamai_version})' + + return info_str + + async def handle(self) -> None: + await self.event.reply( + self.format_str(self.config.message_str, self.bot_info()) + ) diff --git a/hydroroll/plugins/HydroRoll_plugin_bot/config.py b/hydroroll/plugins/HydroRoll_plugin_bot/config.py new file mode 100644 index 0000000..717b7b2 --- /dev/null +++ b/hydroroll/plugins/HydroRoll_plugin_bot/config.py @@ -0,0 +1,11 @@ +from typing import Set + +from plugins.hydroroll_plugin_base import CommandPluginConfig + + +class Config(CommandPluginConfig): + __config_name__ = "plugin_bot_info" + command: Set[str] = {"bot"} + """命令文本。""" + message_str: str = "{message}" + """最终发送消息的格式。""" |
