private Task SendPushNotification(string title, string body = "", string linkMessage = null, string url = null) { try { var pushoverMessage = string.IsNullOrEmpty(body) ? Message.Create(Priority.Normal, title, Sounds.Classical) : Message.Create(Priority.Normal, title, body, false, Sounds.Classical); if (!string.IsNullOrEmpty(linkMessage) && !string.IsNullOrEmpty(url)) { pushoverMessage.SupplementaryUrl = new SupplementaryURL { Title = linkMessage, Uri = new Uri(url) }; } return(_pushoverClient.SendMessageAsync(pushoverMessage, CineworldGroupKey)); } catch (Exception ex) { var i = 1; } return(Task.CompletedTask); }
private async void cmdSendMessage_Click(object sender, EventArgs e) { var pushover = new Pushover(txtAppKey.Text); var msg = NPushover.RequestObjects.Message.Create(txtMessage.Text); // We need to use the fully qualified // namespace in a Form since Message // conflicts with // System.Windows.Forms.Message await pushover.SendMessageAsync(msg, txtUserKey.Text); }
public string Post(string userkey, string requestMessage) { var pushover = new Pushover("ar5f4qqw4y9ehc548y2eeh13foozg3"); var message = new Message() { Title = "Test message", Body = requestMessage, SupplementaryUrl = new SupplementaryURL { Uri = new Uri("https://api.pushover.net/1/messages.json"), Title = "Title" } }; var send = pushover.SendMessageAsync(message, userkey); return("message sent"); }
private async void cmdSendEmergency_Click(object sender, EventArgs e) { // Create message var msg = NPushover.RequestObjects.Message.Create( (Priority)cmbPriorities.SelectedItem, txtTitle.Text, txtMessage.Text, chkIsHtml.Checked, (Sounds)cmbSounds.SelectedItem ); // Emergency messages have retryoptions if (this.IsEmergencyMessage()) { msg.RetryOptions = new RetryOptions { RetryEvery = TimeSpan.FromSeconds((int)txtRetryEvery.Value), RetryPeriod = TimeSpan.FromMinutes((int)txtRetryPeriod.Value), //CallBackUrl = new Uri("http://example.org/foo/bar") }; } // Also, supplementary URL's can be specified if (!string.IsNullOrEmpty(txtSupplementaryURL.Text)) { msg.SupplementaryUrl = new SupplementaryURL { Uri = new Uri(txtSupplementaryURL.Text), Title = txtSupplementaryURLTitle.Text }; } // Send the message var pushover = new Pushover(txtAppKey.Text); var result = await pushover.SendMessageAsync(msg, txtUserKey.Text); //Store receipt ID (if any) _receiptid = result.Receipt; btnCancel.Enabled = !string.IsNullOrEmpty(_receiptid); }
/// <summary> /// A simple function that takes a string and does a ToUpper /// </summary> /// <returns></returns> public async Task <string> FunctionHandler() { var pushOverUser = _configService.GetConfiguration()["PushOverUser"]; //Init Notification to pushover api var po = new Pushover(_configService.GetConfiguration()["PushOverSecret"]); try { //Get items for rss feeds var itemsfeed = GetRssFeeds(); List <Item> items = _mapper.Map <List <Item> >(itemsfeed); //filter items _filteringTerms = _configService.GetConfiguration()["FilteringTerms"].Split(";").ToList(); List <Item> newItems = items.Where(i => _filteringTerms.Any(t => i.Title.ToUpper().Contains(t) || i.Summary.ToUpper().Contains(t))).ToList(); //get file from s3 var client = new S3Utils(); var jobs = await client.GetFileContent(keyName); //Get new items not in db var filteredItems = newItems.Where(item => jobs.All(dbi => dbi.Id != item.Id)) .ToList(); // Quick message: foreach (var newItem in filteredItems) { newItem.CreatedDate = DateTime.Now; var msg = new Message(Sounds.Pushover) { Title = newItem.Id.ToLower().Contains("freelancer") ? $"Freelancer : {newItem.Title}" : $"Upwork : {newItem.Title}", Body = SubStringBody(newItem.Summary), Priority = Priority.Normal, IsHtmlBody = true, Timestamp = DateTime.Now, SupplementaryUrl = new SupplementaryURL { Uri = new Uri(newItem.Link), Title = newItem.Title } }; var sendtask = po.SendMessageAsync(msg, pushOverUser); } //Insert new items in db if (filteredItems.Any()) { try { jobs.AddRange(filteredItems); var lastJobsOnly = jobs.Where(i => i.CreatedDate >= DateTime.Now.AddDays(-7)).ToList(); await client.UploadFile(lastJobsOnly, keyName); } catch (Exception e) { throw e; } } return("ok"); } catch (Exception e) { var msg = new Message(Sounds.Echo) { Title = $"Error {e.InnerException}", Body = SubStringBody(e.Message), Priority = Priority.Emergency, IsHtmlBody = true, Timestamp = DateTime.Now }; var sendtask = po.SendMessageAsync(msg, pushOverUser); throw e; } }
public async Task DoWork(CancellationToken stoppingToken) { while (!stoppingToken.IsCancellationRequested) { executionCount++; _logger.LogInformation( "Scoped Processing Service is working. Count: {Count}", executionCount); //Get items for rss feeds var itemsfeed = GetRssFeeds(); List <Item> items = _mapper.Map <List <Item> >(itemsfeed); //filter items List <Item> newItems = items.Where(i => _appConfigurations.FilteringTerms.Any(t => i.Title.ToUpper().Contains(t) || i.Summary.ToUpper().Contains(t))).ToList(); //Get new items not in db var dbItems = _context.Items.AsNoTracking().ToList(); var filteredItems = newItems.Where(item => dbItems.All(dbi => dbi.Id != item.Id)).ToList(); //Send Notification to pushover api var po = new Pushover(_pushOverConfigurations.Secret); // Quick message: foreach (var newItem in filteredItems) { newItem.CreatedDate = DateTime.Now; var msg = new Message(Sounds.Pushover) { Title = newItem.Id.ToLower().Contains("freelancer") ? $"Freelancer : {newItem.Title}" : $"Upwork : {newItem.Title}", Body = SubStringBody(newItem.Summary), Priority = Priority.Normal, IsHtmlBody = true, Timestamp = DateTime.Now, SupplementaryUrl = new SupplementaryURL { Uri = new Uri(newItem.Link), Title = newItem.Title } }; var sendtask = po.SendMessageAsync(msg, _pushOverConfigurations.User); if (sendtask.IsFaulted) { _logger.LogError($"Error on notification pushed for : {newItem.Id} {sendtask.Exception.Message}"); } else { _logger.LogInformation($"Notification pushed for : {newItem.Id}"); } Thread.Sleep(2000); } //Insert new items in db if (filteredItems.Any()) { try { _context.AddRange(filteredItems); await _context.SaveChangesAsync(stoppingToken); } catch (Exception e) { _logger.LogError(e.Message); throw; } } await Task.Delay(120000, stoppingToken); } }
public void Post([FromBody] Models.MessageInfo value) { var po = new Pushover(value.app_token); var msg = NPushover.RequestObjects.Message.Create(value.msg_text); var sendtask = po.SendMessageAsync(msg, value.user_key); }