Exemplo n.º 1
0
        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();
                    }
                }
            }
        }
Exemplo n.º 2
0
        /// <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);
        }