From dfa97c9d24b8124ca38ec5eb605cde932cd6ea78 Mon Sep 17 00:00:00 2001 From: 简律纯 Date: Tue, 2 May 2023 23:30:19 +0800 Subject: --- hydroroll/plugins/plugin_send/__init__.py | 28 ++++++++++++++++++++++++++++ hydroroll/plugins/plugin_send/config.py | 15 +++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 hydroroll/plugins/plugin_send/__init__.py create mode 100644 hydroroll/plugins/plugin_send/config.py (limited to 'hydroroll/plugins/plugin_send') diff --git a/hydroroll/plugins/plugin_send/__init__.py b/hydroroll/plugins/plugin_send/__init__.py new file mode 100644 index 0000000..2468189 --- /dev/null +++ b/hydroroll/plugins/plugin_send/__init__.py @@ -0,0 +1,28 @@ +import re + +from plugins.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.*)", 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/plugin_send/config.py b/hydroroll/plugins/plugin_send/config.py new file mode 100644 index 0000000..5b7fe7b --- /dev/null +++ b/hydroroll/plugins/plugin_send/config.py @@ -0,0 +1,15 @@ +from typing import Set, Optional + +from plugins.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}" + """发送失败时回复的消息。""" -- cgit v1.2.3-70-g09d2