import requests from core.util import logs NTFY_URL = "https://ntfy.sh" log = logs.get_logger(__name__) # Actual function to send a message to a topic def raw_sendmsg(msg, title=None, priority=None, tags=None, url=None, topic=None): headers = {"Title": "Fisk"} if title: headers["Title"] = title if priority: headers["Priority"] = priority if tags: headers["Tags"] = tags try: requests.post( f"{url}/{topic}", data=msg, headers=headers, ) print("Sent notification to", url) print("topic", topic) print("msg", msg) except requests.exceptions.ConnectionError as e: log.error(f"Error sending notification: {e}") # Sendmsg helper to send a message to a user's notification settings def sendmsg(user, *args, **kwargs): notification_settings = user.get_notification_settings() # No custom topic specified if "topic" not in kwargs: # No user topic set either if notification_settings.topic is None: # No topic set, so don't send return else: kwargs["topic"] = notification_settings.topic if "url" in kwargs: url = kwargs["url"] elif notification_settings.url is not None: url = notification_settings.url else: url = NTFY_URL raw_sendmsg(*args, **kwargs, url=url)