diff --git a/src/mainprocess.py b/src/mainprocess.py index b5268bc..68da89f 100644 --- a/src/mainprocess.py +++ b/src/mainprocess.py @@ -29,7 +29,7 @@ def process_message(uid: str, gid: str | None, message: str) -> str: except Exception as e: print(f"error:Plugin {plugin.__class__.__name__} before_load error: {str(e)}") - # 原始加载逻辑 + # 消息加载逻辑 if gid is not None: ctx.group.messages = ctx.chat_manager.load_group_messages(ctx.group) ctx.user.messages = ctx.chat_manager.load_user_group_messages(user=ctx.user, group=ctx.group) @@ -53,7 +53,7 @@ def process_message(uid: str, gid: str | None, message: str) -> str: except Exception as e: print(f"error:Plugin {plugin.__class__.__name__} after_load error: {str(e)}") - # 原始保存逻辑 + # 消息保存逻辑 if gid is not None: ctx.chat_manager.save_group_message(ctx.group, role="user", content=ctx.raw_message, sender_id=ctx.user.user_id) else: diff --git a/src/modules/user_modules.py b/src/modules/user_modules.py index 7c0459a..011409e 100644 --- a/src/modules/user_modules.py +++ b/src/modules/user_modules.py @@ -59,9 +59,12 @@ class User: requests.request("POST","{0}/set_input_status".format(self.url), headers=headers, data=payload) time.sleep(0.5) - def send_message(self, message): + def send_message(self, message):#发送消息 requests.post(url='{0}/send_private_msg'.format(self.url), json={'user_id':self.user_id, 'message':message}) self.db.save_private_message(self,role = 'assistant',content=message)#保存发送的消息 + def send_file(self,dir,name):#上传文件 + requests.post(url='{0}/upload_private_file'.format(self.url), json={'user_id':self.user_id, 'file':dir,"name":name}) + self.db.save_private_message(self,role = 'assistant',content="发送了名为{name}的文件") class Group: def __init__(self, group_id,url = mainurl,user=None,users=None): @@ -114,6 +117,10 @@ class Group: else: print(f"请求失败,状态码: {response.status_code}") - def send_message(self,message): + def send_message(self,message):#发送消息 requests.post(url='{0}/send_group_msg'.format(self.url), json={'group_id': self.group_id, 'message': message}) self.db.save_group_message(self,'assistant',message, sender_id=0)#保存发送的消息 + def upload_file(self,dir,name,id):#上传文件 + requests.post(url='{0}/upload_group_file'.format(self.url), json={'group_id': self.group_id, 'file': dir , "name": name,"folder_id": id}) + self.db.save_group_message(self,'assistant',"上传了名为{name}的文件到群文件夹{id}", sender_id=0)#保存发送的消息 + diff --git a/src/plugin_manager.py b/src/plugin_manager.py index ecc1991..a9c5b07 100644 --- a/src/plugin_manager.py +++ b/src/plugin_manager.py @@ -136,7 +136,7 @@ class PluginManager: self.scan_plugins def scan_plugins(self): - """扫描并加载所有ZIP插件(保持原接口不变)""" + """扫描并加载所有ZIP插件""" if not os.path.exists(PLUGIN_DIR): os.makedirs(PLUGIN_DIR, exist_ok=True) @@ -144,7 +144,7 @@ class PluginManager: self.load_plugin(str(item)) def load_plugin(self, zip_path: str) -> bool: - """动态加载ZIP格式插件(支持内嵌依赖)""" + """动态加载ZIP格式插件""" try: # 解压到临时目录(保持原逻辑) temp_dir = tempfile.mkdtemp(prefix=f"plugin_{Path(zip_path).stem}_") @@ -221,27 +221,6 @@ class PluginManager: return plugin_registered - def process_message(self, uid: str, gid: Optional[str], message: str) -> str: - """主消息处理入口(保持完全兼容)""" - ctx = MessageContext(uid, gid, message) - - # 优先执行新版插件流程 - for name, plugin_cls in self._plugins.items(): - try: - plugin = plugin_cls(ctx) - if result := plugin.process(): - ctx.response = result - ctx.intercepted = True - break - except Exception as e: - print(f"⚠️ 插件错误 {name}: {str(e)}") - - # 如果没有被拦截,运行旧版钩子 - if not ctx.intercepted: - for hook in self._hook_registry.get("on_message", []): - hook(ctx) - - return ctx.response or "ok" def register_hook(self, hook_name: str): """兼容旧版钩子注册(装饰器模式,保持原样)"""