diff options
| author | 2023-04-28 03:04:40 +0800 | |
|---|---|---|
| committer | 2023-04-28 03:04:40 +0800 | |
| commit | c8c76cb2293001a3f5a8122e581648002033eb15 (patch) | |
| tree | 26a4ded54d50d44ed8d0804f0109d4c38ac511d2 /hydroroll/plugins/HydroRoll_plugin_send | |
| parent | 57a8f67b27aa617b7a993477231b3d6978f4f842 (diff) | |
| download | HydroRoll-0.1.0.tar.gz HydroRoll-0.1.0.zip | |
Diffstat (limited to 'hydroroll/plugins/HydroRoll_plugin_send')
| -rw-r--r-- | hydroroll/plugins/HydroRoll_plugin_send/__init__.py | 28 | ||||
| -rw-r--r-- | hydroroll/plugins/HydroRoll_plugin_send/config.py | 15 |
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}" + """发送失败时回复的消息。""" |
