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({