package notifier import ( "context" "strings" "github.com/gregdel/pushover" ) type PushoverNotifier struct { app *pushover.Pushover userKey string } func NewPushover(userKey, apiToken string) *PushoverNotifier { return &PushoverNotifier{ app: pushover.New(apiToken), userKey: userKey, } } func (p *PushoverNotifier) Notify(ctx context.Context, title, message string) error { if p == nil || p.app == nil || p.userKey == "" { return nil } if len(message) > 1024 { message = message[:1024] } title = strings.TrimSpace(title) msg := &pushover.Message{ Title: title, Message: message, } recipient := pushover.NewRecipient(p.userKey) _, err := p.app.SendMessage(msg, recipient) return err }