mirror of
https://github.com/d0zingcat/MoviePilot-Plugins.git
synced 2026-05-16 23:16:48 +00:00
feat(MediaServerMsg): add independent media server msg control
This commit is contained in:
@@ -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():
|
||||
|
||||
Reference in New Issue
Block a user