From 59bdee7137f468f2781522e17cd69122f8acbb0b Mon Sep 17 00:00:00 2001 From: Rock Chin <1010553892@qq.com> Date: Wed, 15 Mar 2023 15:54:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0IM=E6=A1=86=E6=9E=B6?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/openai/modelmgr.py | 2 +- pkg/qqbot/models/__init__.py | 0 pkg/qqbot/models/im.py | 49 ++++++++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 pkg/qqbot/models/__init__.py create mode 100644 pkg/qqbot/models/im.py diff --git a/pkg/openai/modelmgr.py b/pkg/openai/modelmgr.py index 7f634563..dd05cb3f 100644 --- a/pkg/openai/modelmgr.py +++ b/pkg/openai/modelmgr.py @@ -60,7 +60,7 @@ class ModelRequest: """异步请求""" try: - self.ret:dict = await self.request_fun(**kwargs) + self.ret: dict = await self.request_fun(**kwargs) self.request_ready = True except aiE.APIConnectionError as e: self.error_info = "{}\n请检查网络连接或代理是否正常".format(e) diff --git a/pkg/qqbot/models/__init__.py b/pkg/qqbot/models/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pkg/qqbot/models/im.py b/pkg/qqbot/models/im.py new file mode 100644 index 00000000..6ec9293e --- /dev/null +++ b/pkg/qqbot/models/im.py @@ -0,0 +1,49 @@ +# IM 框架调用的抽象层 +from mirai import MessageChain, Event + + +class AbstractIM: + """IM框架抽象模型""" + def __init__(self): + raise NotImplementedError + + def run(self): + """启动IM框架接口, 阻塞方法""" + raise NotImplementedError + + def __send_private_msg__(self, user, msg: MessageChain): + """发送私聊消息""" + raise NotImplementedError + + def send_private_msg(self, user, msg: MessageChain): + """发送私聊消息, 供上层调用, 解决兼容性问题后再调用__send_private_msg__, 请勿重写此方法""" + return self.__send_private_msg__(user, self.message_chain_convertor(msg)) + + def __send_group_msg__(self, group, msg: MessageChain): + """发送群消息""" + raise NotImplementedError + + def send_group_msg(self, group, msg: MessageChain): + """发送群消息, 供上层调用, 解决兼容性问题后再调用__send_group_msg__, 请勿重写此方法""" + return self.__send_group_msg__(group, self.message_chain_convertor(msg)) + + def __register_handler__(self, event, handler): + """注册事件处理器""" + raise NotImplementedError + + def register_handler(self, event: Event, handler): + """注册事件处理器, 供上层调用, 解决兼容性问题后再调用__register_handler__, 请勿重写此方法""" + return self.register_handler(self.event_convertor(event), handler) + + def event_convertor(self, event: Event): + """事件转换器""" + raise NotImplementedError + + def message_chain_convertor(self, msg: MessageChain): + """消息链转换器""" + raise NotImplementedError + + def get_bot_instance(self): + """获取IM框架机器人实例""" + raise NotImplementedError +