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);
        }
Ejemplo n.º 2
0
        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");
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        /// <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;
            }
        }
Ejemplo n.º 6
0
        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);
            }
        }
Ejemplo n.º 7
0
 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);
 }