diff --git a/app/chain/__init__.py b/app/chain/__init__.py index d5803929..d0be3c4c 100644 --- a/app/chain/__init__.py +++ b/app/chain/__init__.py @@ -487,7 +487,7 @@ class ChainBase(metaclass=ABCMeta): self.eventmanager.send_event(etype=EventType.NoticeMessage, data=message.dict()) # 保存消息 self.messagehelper.put(message, role="user") - self.messageoper.add(**message.dict(), action=1) + self.messageoper.add(**message.dict()) # 发送 self.run_module("post_message", message=message) @@ -500,7 +500,7 @@ class ChainBase(metaclass=ABCMeta): """ note_list = [media.to_dict() for media in medias] self.messagehelper.put(message, role="user", note=note_list) - self.messageoper.add(**message.dict(), action=1, note=note_list) + self.messageoper.add(**message.dict(), note=note_list) return self.run_module("post_medias_message", message=message, medias=medias) def post_torrents_message(self, message: Notification, torrents: List[Context]) -> None: @@ -512,7 +512,7 @@ class ChainBase(metaclass=ABCMeta): """ note_list = [torrent.torrent_info.to_dict() for torrent in torrents] self.messagehelper.put(message, role="user", note=note_list) - self.messageoper.add(**message.dict(), action=1, note=note_list) + self.messageoper.add(**message.dict(), note=note_list) return self.run_module("post_torrents_message", message=message, torrents=torrents) def metadata_img(self, mediainfo: MediaInfo, season: int = None) -> Optional[dict]: diff --git a/app/db/message_oper.py b/app/db/message_oper.py index 0be459f4..d145b85e 100644 --- a/app/db/message_oper.py +++ b/app/db/message_oper.py @@ -54,6 +54,12 @@ class MessageOper(DbOper): "reg_time": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), "note": note }) + + # 从kwargs中去掉Message中没有的字段 + for k in list(kwargs.keys()): + if k not in Message.__table__.columns.keys(): + kwargs.pop(k) + Message(**kwargs).create(self._db) def list_by_page(self, page: int = 1, count: int = 30) -> Optional[str]: