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): if url is None: url = NTFY_URL headers = {"Title": "Envelope"} if title: headers["Title"] = title if priority: headers["Priority"] = priority if tags: headers["Tags"] = tags requests.post( f"{url}/{topic}", data=msg, headers=headers, ) # Sendmsg helper to send a message to a user's notification settings def sendmsg(user, *args, **kwargs): notification_settings = user.get_notification_settings() if notification_settings.ntfy_topic is None: # No topic set, so don't send return else: topic = notification_settings.ntfy_topic raw_sendmsg(*args, **kwargs, url=notification_settings.ntfy_url, topic=topic)