diff --git a/command/push.go b/command/push.go index 22a9296..c271304 100644 --- a/command/push.go +++ b/command/push.go @@ -29,7 +29,8 @@ func Push() cli.Command { cli.StringFlag{Name: "url", Usage: "Override the Gotify URL"}, cli.BoolFlag{Name: "quiet,q", Usage: "Do not output anything (on success)"}, cli.StringFlag{Name: "contentType", Usage: "The content type of the message. See https://gotify.net/docs/msgextras#client-display"}, - cli.StringFlag{Name: "clickUrl", Usage: "An URL to open upon clicking the notification. See https://gotify.net/docs/msgextras#client-notification"}, + cli.StringFlag{Name: "clickUrl", Usage: "An URL to open upon clicking the notification. See https://gotify.net/docs/msgextras#clickurl"}, + cli.StringFlag{Name: "bigImageUrl", Usage: "the URL of an image to display in the notification. See https://gotify.net/docs/msgextras#bigimageurl"}, cli.BoolFlag{Name: "disable-unescape-backslash", Usage: "Disable evaluating \\n and \\t (if set, \\n and \\t will be seen as a string)"}, }, Action: doPush, @@ -50,6 +51,7 @@ func doPush(ctx *cli.Context) { quiet := ctx.Bool("quiet") contentType := ctx.String("contentType") clickUrl := ctx.String("clickUrl") + bigImageUrl := ctx.String("bigImageUrl") if token == "" { if confErr != nil { @@ -95,6 +97,16 @@ func doPush(ctx *cli.Context) { } } + if bigImageUrl != "" { + if _, clientNotification := msg.Extras["client::notification"]; clientNotification { + msg.Extras["client::notification"].(map[string]interface{})["bigImageUrl"] = bigImageUrl; + } else { + msg.Extras["client::notification"] = map[string]interface{}{ + "bigImageUrl": bigImageUrl, + } + } + } + parsedURL, err := url.Parse(stringURL) if err != nil { utils.Exit1With("invalid url", stringURL)