private static void TriggerAlerts(string source, string target, Models.Rate rate90, Models.Rate rate4, Models.Rate rateRsi, Models.Rate last) { MessengerMessageSender sender = new MessengerMessageSender(new JsonMessengerSerializer()); ConfigurationRepository repository = new ConfigurationRepository(); //if (rateRsi.Value < 30) { var configs = repository.Get().Result; foreach (var config in configs) { if (config.Source == source && config.Target == target) { var userId = config.FacebookId; var recipient = new MessengerUser(); recipient.Id = userId; var configId = config.Id.ToString(); var response = new MessengerMessage(); response.Attachment = new MessengerAttachment(); response.Attachment.Type = "template"; response.Attachment.Payload = new MessengerPayload(); response.Attachment.Payload.TemplateType = "button"; response.Attachment.Payload.Text = $"hi, we have found a good rate for your transfer: {source} to {target} is now {last.Value}. Tap the button below to do the transfer"; response.Attachment.Payload.Buttons = new List <MessengerButton>(); var linkButton = new MessengerButton(); linkButton.Url = $"https://transfer-buddy.herokuapp.com/Transfers/Create?configId={config.Id}"; linkButton.Title = "Transfer"; linkButton.Type = "web_url"; response.Attachment.Payload.Buttons.Add(linkButton); sender.SendAsync(response, recipient, "EAAaZCDGRPBJ4BAMVFRSRvqM8ytvC6ZAZCryE6xw5GImYZByvVpkIDhSpltas8CuclkcqZClTneXVzwMQqTeZCS5Gs3lf0sCLpiy977fg6bkGuNEESUysoPKKeJNGuW9WDZARKRw45J14A9BcustEzBsIvmbrUZCtVgZAohzKtG0w5DgZDZD").Wait(); } } } }
/// <summary> /// Seds a button to the user. /// </summary> /// <param name="recipient">The messenger user.</param> /// <param name="text">The text.</param> /// <param name="buttons">The buttons.</param> /// <returns>A task.</returns> public async Task SendTextWithButtonsAsync(MessengerUser recipient, string text, IEnumerable <MessengerButtonBase> buttons) { var response = new MessengerMessage(); response.Attachment = new MessengerAttachment(); response.Attachment.Type = "template"; response.Attachment.Payload = new MessengerPayload(); response.Attachment.Payload.TemplateType = "button"; response.Attachment.Payload.Text = text; response.Attachment.Payload.Buttons = new List <MessengerButton>(); foreach (var button in buttons) { var payloadButton = new MessengerButton(); if (button is MessengerLinkButton) { var linkButton = button as MessengerLinkButton; payloadButton.Url = linkButton.Url; payloadButton.Title = linkButton.Title; payloadButton.Type = linkButton.Type; } if (button is MessengerChatButton) { var chatButton = button as MessengerChatButton; payloadButton.Payload = chatButton.Payload; payloadButton.Title = chatButton.Title; payloadButton.Type = chatButton.Type; } response.Attachment.Payload.Buttons.Add(payloadButton); } await this.Processor.MessageSender.SendAsync(response, recipient); }