From 30f21b4e7cf0dc76b036a7e03a4045b353c57d08 Mon Sep 17 00:00:00 2001 From: Jeremy Baxter Date: Fri, 20 Mar 2026 19:43:08 +1300 Subject: [PATCH] add more functions --- ntfy.go | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/ntfy.go b/ntfy.go index e4f0fd4..cf87145 100644 --- a/ntfy.go +++ b/ntfy.go @@ -7,7 +7,9 @@ import ( "net/http" ) -func Send(topic, title, message string, fn func(*http.Request)) (err error) { +type Request = http.Request + +func SendF(topic, title, message string, fn func(*Request)) (err error) { req, err := http.NewRequest("POST", "https://ntfy.sh/" + topic, strings.NewReader(message)) if err != nil { @@ -30,13 +32,37 @@ func Send(topic, title, message string, fn func(*http.Request)) (err error) { return } +func Send(topic, title, message string) error { + return SendF(topic, title, message) +} + func SendActions(topic, title, message string, actions ...string) error { var actionsString string for _, a := range actions { actionsString += "view," + a + ",clear=false;" } - return Send(topic, title, message, func(r *http.Request) { + return SendF(topic, title, message, func(r *Request) { r.Header.Set("Actions", actionsString) }) } + +func SendPrio(topic, title, message, prio string) error { + return SendF(topic, title, message, func(r *Request) { + r.Header.Set("Priority", prio) + }) +} + +func SendTags(topic, title, message string, tags ...string) error { + tagsString := strings.Join(tags, ",") + return SendF(topic, title, message, func(r *Request) { + r.Header.Set("Tags", tagsString) + }) +} + +func SendError(topic, title, message string) error { + return SendF(topic, title, message, func(r *Request) { + r.Header.Set("Priority", "urgent") + r.Header.Set("Tags", "rotating_light,warning") + }) +}