feat: conditionally save message history based on save_history flag

This commit is contained in:
jxxghp
2026-06-17 21:00:40 +08:00
parent 4c20639abb
commit e1ba9a2c97
12 changed files with 324 additions and 171 deletions
+8 -4
View File
@@ -1478,7 +1478,8 @@ class ChainBase(metaclass=ABCMeta):
if not message:
logger.warning("消息为空,跳过发送")
return
self.messageoper.add(**message.model_dump())
if message.save_history:
self.messageoper.add(**message.model_dump())
dispatch_message = self._normalize_notification_for_dispatch(message)
# 发送消息按设置隔离
if not dispatch_message.userid and dispatch_message.mtype:
@@ -1593,7 +1594,8 @@ class ChainBase(metaclass=ABCMeta):
if not message:
logger.warning("消息为空,跳过发送")
return
await self.messageoper.async_add(**message.model_dump())
if message.save_history:
await self.messageoper.async_add(**message.model_dump())
dispatch_message = self._normalize_notification_for_dispatch(message)
# 发送消息按设置隔离
if not dispatch_message.userid and dispatch_message.mtype:
@@ -1684,7 +1686,8 @@ class ChainBase(metaclass=ABCMeta):
:return: 成功或失败
"""
note_list = [media.to_dict() for media in medias]
self.messageoper.add(**message.model_dump(), note=note_list)
if message.save_history:
self.messageoper.add(**message.model_dump(), note=note_list)
dispatch_message = self._normalize_notification_for_dispatch(message)
return self.messagequeue.send_message(
"post_medias_message",
@@ -1703,7 +1706,8 @@ class ChainBase(metaclass=ABCMeta):
:return: 成功或失败
"""
note_list = [torrent.torrent_info.to_dict() for torrent in torrents]
self.messageoper.add(**message.model_dump(), note=note_list)
if message.save_history:
self.messageoper.add(**message.model_dump(), note=note_list)
dispatch_message = self._normalize_notification_for_dispatch(message)
return self.messagequeue.send_message(
"post_torrents_message",