From 02250dbaa178ca517c8b68a9a1e888928f220cd5 Mon Sep 17 00:00:00 2001 From: InfinityPacer <160988576+InfinityPacer@users.noreply.github.com> Date: Mon, 25 Nov 2024 19:59:01 +0800 Subject: [PATCH] feat(MediaServerMsg): add independent media server msg control --- plugins.v2/mediaservermsg/__init__.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/plugins.v2/mediaservermsg/__init__.py b/plugins.v2/mediaservermsg/__init__.py index f927b6f..c99ea22 100644 --- a/plugins.v2/mediaservermsg/__init__.py +++ b/plugins.v2/mediaservermsg/__init__.py @@ -92,6 +92,13 @@ class MediaServerMsg(_PluginBase): return active_services + def service_info(self, name: str) -> Optional[ServiceInfo]: + """ + 服务信息 + """ + service_infos = self.service_infos() or {} + return service_infos.get(name) + def get_state(self) -> bool: return self._enabled @@ -261,6 +268,18 @@ class MediaServerMsg(_PluginBase): logger.info(f"未开启 {event_info.event} 类型的消息通知") return + if not self.service_infos(): + logger.info(f"未开启任一媒体服务器的消息通知") + return + + if event_info.server_name and not self.service_info(name=event_info.server_name): + logger.info(f"未开启媒体服务器 {event_info.server_name} 的消息通知") + return + + if event_info.channel and not self.service_infos(type_filter=event_info.channel): + logger.info(f"未开启媒体服务器类型 {event_info.channel} 的消息通知") + return + expiring_key = f"{event_info.item_id}-{event_info.client}-{event_info.user_name}" # 过滤停止播放重复消息 if str(event_info.event) == "playback.stop" and expiring_key in self._webhook_msg_keys.keys():