44 lines
820 B
Go
44 lines
820 B
Go
package helpers
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/gregdel/pushover"
|
|
)
|
|
|
|
type PushoverMessage struct {
|
|
AppKey string
|
|
UserKey string
|
|
Title string
|
|
Message string
|
|
}
|
|
|
|
func PushoverSendMessage(message PushoverMessage) error {
|
|
if len(message.AppKey) == 0 {
|
|
return fmt.Errorf("pushover app key is required")
|
|
}
|
|
|
|
if len(message.UserKey) == 0 {
|
|
return fmt.Errorf("pushover user key is required")
|
|
}
|
|
|
|
if len(message.Message) == 0 {
|
|
return fmt.Errorf("pushover message is required")
|
|
}
|
|
|
|
app := pushover.New(message.AppKey)
|
|
user := pushover.NewRecipient(message.UserKey)
|
|
|
|
var msg *pushover.Message
|
|
if len(message.Title) > 0 {
|
|
msg = pushover.NewMessageWithTitle(
|
|
message.Message,
|
|
message.Title,
|
|
)
|
|
} else {
|
|
msg = pushover.NewMessage(message.Message)
|
|
}
|
|
|
|
_, err := app.SendMessage(msg, user)
|
|
return err
|
|
}
|