diff --git a/app/api/endpoints/webhook.py b/app/api/endpoints/webhook.py index a4299416..88856732 100644 --- a/app/api/endpoints/webhook.py +++ b/app/api/endpoints/webhook.py @@ -22,7 +22,7 @@ async def webhook_message(background_tasks: BackgroundTasks, _: str = Depends(verify_apitoken) ) -> Any: """ - Webhook响应,配置请求中需要添加参数:token=API_TOKEN&source=消息配置名 + Webhook响应,配置请求中需要添加参数:token=API_TOKEN&source=媒体服务器名 """ body = await request.body() form = await request.form() @@ -35,7 +35,7 @@ async def webhook_message(background_tasks: BackgroundTasks, def webhook_message(background_tasks: BackgroundTasks, request: Request, _: str = Depends(verify_apitoken)) -> Any: """ - Webhook响应,配置请求中需要添加参数:token=API_TOKEN&source=消息配置名 + Webhook响应,配置请求中需要添加参数:token=API_TOKEN&source=媒体服务器名 """ args = request.query_params background_tasks.add_task(start_webhook_chain, None, None, args) diff --git a/app/modules/emby/__init__.py b/app/modules/emby/__init__.py index c6cedabb..b0196896 100644 --- a/app/modules/emby/__init__.py +++ b/app/modules/emby/__init__.py @@ -78,7 +78,10 @@ class EmbyModule(_ModuleBase, _MediaServerBase[Emby]): server: Emby = self.get_instance(source) if not server: return None - return server.get_webhook_message(form, args) + result = server.get_webhook_message(form, args) + if result: + result.server_name = source + return result for server in self.get_instances().values(): if server: diff --git a/app/modules/jellyfin/__init__.py b/app/modules/jellyfin/__init__.py index a0107123..8afd9d2a 100644 --- a/app/modules/jellyfin/__init__.py +++ b/app/modules/jellyfin/__init__.py @@ -78,7 +78,10 @@ class JellyfinModule(_ModuleBase, _MediaServerBase[Jellyfin]): server: Jellyfin = self.get_instance(source) if not server: return None - return server.get_webhook_message(body) + result = server.get_webhook_message(body) + if result: + result.server_name = source + return result for server in self.get_instances().values(): if server: diff --git a/app/modules/plex/__init__.py b/app/modules/plex/__init__.py index 25a8dca9..12c8fe19 100644 --- a/app/modules/plex/__init__.py +++ b/app/modules/plex/__init__.py @@ -64,7 +64,10 @@ class PlexModule(_ModuleBase, _MediaServerBase[Plex]): server: Plex = self.get_instance(source) if not server: return None - return server.get_webhook_message(form) + result = server.get_webhook_message(form) + if result: + result.server_name = source + return result for server in self.get_instances().values(): if server: diff --git a/app/schemas/mediaserver.py b/app/schemas/mediaserver.py index a97b4fbc..80488dda 100644 --- a/app/schemas/mediaserver.py +++ b/app/schemas/mediaserver.py @@ -139,6 +139,7 @@ class WebhookEventInfo(BaseModel): """ event: Optional[str] = None channel: Optional[str] = None + server_name: Optional[str] = None item_type: Optional[str] = None item_name: Optional[str] = None item_id: Optional[str] = None