feat(MediaServerMsg): add independent media server msg control

This commit is contained in:
InfinityPacer
2024-11-25 19:59:01 +08:00
parent 7f12b5fc90
commit 02250dbaa1

View File

@@ -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():