public ValidationFailure Test(PushoverSettings settings) { try { const string title = "Test Notification"; const string body = "This is a test message from Sonarr"; SendNotification(title, body, settings); } catch (Exception ex) { _logger.Error(ex, "Unable to send test message: " + ex.Message); return new ValidationFailure("ApiKey", "Unable to send test message"); } return null; }
public bool Pushover([FromBody] PushoverSettings settings) { try { settings.Enabled = true; PushoverNotification.NotifyAsync( new NotificationOptions { NotificationType = NotificationType.Test, RequestId = -1 }, settings); return(true); } catch (Exception e) { Log.LogError(LoggingEvents.Api, e, "Could not test Pushover"); return(false); } }
public void SendNotification(string title, string message, PushoverSettings settings) { var client = RestClientFactory.BuildClient(URL); var request = new RestRequest(Method.POST); request.AddParameter("token", settings.ApiKey); request.AddParameter("user", settings.UserKey); request.AddParameter("title", title); request.AddParameter("message", message); request.AddParameter("priority", settings.Priority); if ((PushoverPriority)settings.Priority == PushoverPriority.Emergency) { request.AddParameter("retry", settings.Retry); request.AddParameter("expire", settings.Expire); } if (!settings.Sound.IsNullOrWhiteSpace()) { request.AddParameter("sound", settings.Sound); } client.ExecuteAndValidate(request); }