diff --git a/app/command.py b/app/command.py index 3d581efd..aa96ff74 100644 --- a/app/command.py +++ b/app/command.py @@ -1,3 +1,4 @@ +import copy import threading import traceback from typing import Any, Union, Dict, Optional @@ -303,7 +304,7 @@ class Command(metaclass=Singleton): ) else: # 命令 - cmd_data = command['data'] if command.get('data') else {} + cmd_data = copy.deepcopy(command['data']) if command.get('data') else {} args_num = ObjectUtils.arguments(command['func']) if args_num > 0: if cmd_data: diff --git a/app/plugins/__init__.py b/app/plugins/__init__.py index 4c9a0b6e..ad0720ee 100644 --- a/app/plugins/__init__.py +++ b/app/plugins/__init__.py @@ -225,7 +225,8 @@ class _PluginBase(metaclass=ABCMeta): return self.plugindata.del_data(plugin_id, key) def post_message(self, channel: MessageChannel = None, mtype: NotificationType = None, title: str = None, - text: str = None, image: str = None, link: str = None, userid: str = None, username: str = None): + text: str = None, image: str = None, link: str = None, userid: str = None, username: str = None, + **kwargs): """ 发送消息 """ @@ -233,7 +234,7 @@ class _PluginBase(metaclass=ABCMeta): link = settings.MP_DOMAIN(f"#/plugins?tab=installed&id={self.__class__.__name__}") self.chain.post_message(Notification( channel=channel, mtype=mtype, title=title, text=text, - image=image, link=link, userid=userid, username=username + image=image, link=link, userid=userid, username=username, **kwargs )) def close(self):