aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/hydroroll/plugins/HydroRoll_plugin_bot
diff options
context:
space:
mode:
Diffstat (limited to 'hydroroll/plugins/HydroRoll_plugin_bot')
-rw-r--r--hydroroll/plugins/HydroRoll_plugin_bot/__init__.py30
-rw-r--r--hydroroll/plugins/HydroRoll_plugin_bot/config.py11
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}"
+ """最终发送消息的格式。"""