From a944975be23e9875b03d823c57c8f43b97fbb8b5 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Sun, 15 Jun 2025 23:06:25 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E4=BA=A4=E4=BA=92=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E7=AB=8B=E5=8D=B3=E5=8F=91=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/chain/__init__.py | 9 ++++++--- app/helper/message.py | 7 ++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/app/chain/__init__.py b/app/chain/__init__.py index d231c9aa..e5e9acd9 100644 --- a/app/chain/__init__.py +++ b/app/chain/__init__.py @@ -612,7 +612,8 @@ class ChainBase(metaclass=ABCMeta): # 发送消息事件 self.eventmanager.send_event(etype=EventType.NoticeMessage, data={**message.dict(), "type": message.mtype}) # 按原消息发送 - self.messagequeue.send_message("post_message", message=message) + self.messagequeue.send_message("post_message", message=message, + immediately=True if message.userid else False) def post_medias_message(self, message: Notification, medias: List[MediaInfo]) -> None: """ @@ -624,7 +625,8 @@ class ChainBase(metaclass=ABCMeta): note_list = [media.to_dict() for media in medias] self.messagehelper.put(message, role="user", note=note_list, title=message.title) self.messageoper.add(**message.dict(), note=note_list) - return self.messagequeue.send_message("post_medias_message", message=message, medias=medias) + return self.messagequeue.send_message("post_medias_message", message=message, medias=medias, + immediately=True if message.userid else False) def post_torrents_message(self, message: Notification, torrents: List[Context]) -> None: """ @@ -636,7 +638,8 @@ class ChainBase(metaclass=ABCMeta): note_list = [torrent.torrent_info.to_dict() for torrent in torrents] self.messagehelper.put(message, role="user", note=note_list, title=message.title) self.messageoper.add(**message.dict(), note=note_list) - return self.messagequeue.send_message("post_torrents_message", message=message, torrents=torrents) + return self.messagequeue.send_message("post_torrents_message", message=message, torrents=torrents, + immediately=True if message.userid else False) def metadata_img(self, mediainfo: MediaInfo, season: Optional[int] = None, episode: Optional[int] = None) -> Optional[dict]: diff --git a/app/helper/message.py b/app/helper/message.py index 687de919..f71a58df 100644 --- a/app/helper/message.py +++ b/app/helper/message.py @@ -241,7 +241,7 @@ class TemplateContextBuilder: "total_size": StringUtils.str_filesize(transferinfo.total_size), "err_msg": transferinfo.message, } - self._context.update(ctx) + return self._context.update(ctx) def _add_file_info(self, file_extension: Optional[str]): """ @@ -363,7 +363,7 @@ class TemplateHelper(metaclass=SingletonClass): self.set_cache_context(rendered, context) # 返回渲染结果 return rendered - + return None except Exception as e: logger.error(f"模板处理失败: {str(e)}") raise ValueError(f"模板处理失败: {str(e)}") from e @@ -645,7 +645,8 @@ class MessageQueueManager(metaclass=SingletonClass): """ 发送消息(立即发送或加入队列) """ - if self._is_in_scheduled_time(datetime.now()): + immediately = kwargs.pop("immediately", False) + if immediately or self._is_in_scheduled_time(datetime.now()): self._send(*args, **kwargs) else: self.queue.put({