aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/hydroroll/plugins/HydroRoll_plugin_send
diff options
context:
space:
mode:
Diffstat (limited to 'hydroroll/plugins/HydroRoll_plugin_send')
-rw-r--r--hydroroll/plugins/HydroRoll_plugin_send/__init__.py28
-rw-r--r--hydroroll/plugins/HydroRoll_plugin_send/config.py15
2 files changed, 43 insertions, 0 deletions
diff --git a/hydroroll/plugins/HydroRoll_plugin_send/__init__.py b/hydroroll/plugins/HydroRoll_plugin_send/__init__.py
new file mode 100644
index 0000000..234e5b3
--- /dev/null
+++ b/hydroroll/plugins/HydroRoll_plugin_send/__init__.py
@@ -0,0 +1,28 @@
+import re
+
+from plugins.hydroroll_plugin_base import CommandPluginBase
+
+from .config import Config
+
+
+class Send(CommandPluginBase[None, Config]):
+ Config = Config
+
+ def __post_init__(self):
+ self.re_pattern = re.compile(r"\s*(?P<message>.*)", flags=re.I)
+
+ async def handle(self) -> None:
+ try:
+ await self.event.adapter.send(
+ self.msg_match.group("message"),
+ "private",
+ self.config.send_user_id,
+ )
+ except Exception as e:
+ if self.config.send_filed_msg is not None:
+ await self.event.reply(
+ self.format_str(self.config.send_filed_msg, repr(e))
+ )
+ else:
+ if self.config.send_success_msg is not None:
+ await self.event.reply(self.format_str(self.config.send_success_msg))
diff --git a/hydroroll/plugins/HydroRoll_plugin_send/config.py b/hydroroll/plugins/HydroRoll_plugin_send/config.py
new file mode 100644
index 0000000..6903c0f
--- /dev/null
+++ b/hydroroll/plugins/HydroRoll_plugin_send/config.py
@@ -0,0 +1,15 @@
+from typing import Set, Optional
+
+from plugins.hydroroll_plugin_base import CommandPluginConfig
+
+
+class Config(CommandPluginConfig):
+ __config_name__ = "plugin_send"
+ command: Set[str] = {"send"}
+ """命令文本。"""
+ send_user_id: int = 2753364619
+ """发送消息的对象的 QQ 号码。"""
+ send_success_msg: Optional[str] = "已将消息送出√"
+ """发送成功时回复的消息,设置为 None 表示不发送任何消息。"""
+ send_filed_msg: Optional[str] = "发送失败:{message}"
+ """发送失败时回复的消息。"""