Files
MediaManager/media_manager/notification/service_providers/gotify.py
2025-07-11 00:47:29 +02:00

29 lines
915 B
Python

import requests
from media_manager.config import AllEncompassingConfig
from media_manager.notification.schemas import MessageNotification
from media_manager.notification.service_providers.abstractNotificationServiceProvider import (
AbstractNotificationServiceProvider,
)
class GotifyNotificationServiceProvider(AbstractNotificationServiceProvider):
"""
Gotify Notification Service Provider
"""
def __init__(self):
self.config = AllEncompassingConfig().notifications.gotify
def send_notification(self, message: MessageNotification) -> bool:
response = requests.post(
url=f"{self.config.url}/message?token={self.config.api_key}",
json={
"message": message.message,
"title": message.title,
},
)
if response.status_code not in range(200, 300):
return False
return True