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(); } } } }
public async Task <MessengerResponse> SendAsync(MessengerMessage message, MessengerUser recipient, String accessToken) { var url = String.Format(UrlTemplate, accessToken); var request = new MessengerSendMessageRequest { Recipient = recipient, Message = message }; var content = new StringContent(serializer.Serialize(request)); content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); try { var response = await client.PostAsync(url, content); var result = new MessengerResponse { Succeed = response.IsSuccessStatusCode, RawResponse = await response.Content.ReadAsStringAsync() }; return(result); } catch (Exception exc) { throw new MessengerException(exc); } }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { int toId = request.GetInteger(); string text = request.GetString(); if (string.IsNullOrWhiteSpace(text)) { return; } Relationship friend = session.Info.Relationships.FindByUser(toId); if (friend != null) { MessengerMessage message = new MessengerMessage() { From = session.Info, UnfilteredText = text, Text = Wordfilter.Filter(text), Timestamp = DateTime.Now, }; var friendSession = ClientManager.GetByInfo(friend.Friend); friendSession?.Router.GetComposer <ConsoleChatMessageComposer>().Compose(session, message); message.Read = friendSession != null; // TODO Store for offline // TODO Store for chatlog } }
public MessageUnsentEventArgs(MessengerUser user, MessengerMessage message, MessengerThread thread, DateTime at) { User = user; Message = message; Thread = thread; At = at; }
public async Task <MessengerResponse> SendAsync(MessengerMessage message, MessengerUser recipient, String accessToken) { var url = String.Format(UrlTemplate, accessToken); var request = new MessengerSendMessageRequest { Recipient = recipient, Message = message }; var strings = serializer.Serialize(request); #if DEBUG System.Console.WriteLine(strings); #endif /*if (message.Attachments != null && message.Attachments.Count > 0) * throw new Exception(strings);*/ var content = new StringContent(strings); content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); try { var response = await client.PostAsync(url, content); var result = new MessengerResponse { Succeed = response.IsSuccessStatusCode, RawResponse = await response.Content.ReadAsStringAsync() }; return(result); } catch (Exception exc) { throw new MessengerException(exc); } }
/// <summary> /// Sends text to the user. /// </summary> /// <param name="recipient">The messenger user.</param> /// <param name="text">The text.</param> /// <returns>A task.</returns> public async Task SendTextAsync(MessengerUser recipient, string text) { var response = new MessengerMessage { Text = text }; await this.Processor.MessageSender.SendAsync(response, recipient); }
private void OnMessageReceived(FB_MessageEvent messageArgs) { var user = GetUser(messageArgs.author); var message = new MessengerMessage(messageArgs.message); OnMessageReceived(user, message); }
private void OnMessageReply(FB_MessageReplyEvent messageReplyEvent) { var user = GetUser(messageReplyEvent.author); var message = new MessengerMessage(messageReplyEvent.message); var replyTo = new MessengerMessage(messageReplyEvent.replied_to); OnMessageReceived(user, message, replyTo); }
public Task <MessengerResponse> SendAsync(MessengerMessage message, MessengerUser recipient, String accessToken) { var request = new MessengerSendMessageRequest { Recipient = recipient, Message = message }; return(SendMessage(request, accessToken)); }
private void HandleMessage(MessengerMessage message) { InvokeAsync(() => { messages.Add(message); StateHasChanged(); }); }
private void OnMessageUnsent(FB_UnsendEvent unsendEvent) { var user = GetUser(unsendEvent.author); var message = new MessengerMessage(unsendEvent.message); var thread = new MessengerThread(unsendEvent.thread); var at = DateTimeOffset.FromUnixTimeSeconds(unsendEvent.at).DateTime; OnMessageUnsent(user, message, thread, at); }
public override void Compose(Yupi.Protocol.ISender session, MessengerMessage msg) { using (ServerMessage message = Pool.GetMessageBuffer(Id)) { message.AppendInteger(msg.From.Id); message.AppendString(msg.Text); message.AppendInteger((int)msg.Diff().TotalSeconds); session.Send(message); } }
/// <summary> /// Sends a picture to the user. /// </summary> /// <param name="recipient">The messenger user.</param> /// <param name="url">The picture url.</param> /// <returns>A task.</returns> public async Task SendPictureAsync(MessengerUser recipient, string url) { var response = new MessengerMessage(); response.Attachment = new MessengerAttachment(); response.Attachment.Type = "image"; response.Attachment.Payload = new MessengerPayload(); response.Attachment.Payload.Url = url; await this.Processor.MessageSender.SendAsync(response, recipient); }
private Task <MessengerResponse> HandleEntry(MessengerEntry entry) { var messaging = entry.Messaging.First(); var text = messaging.Message.Text; var response = new MessengerMessage { Text = text }; return(messageSender.SendAsync(response, messaging.Sender)); }
public IActionResult Create(TransferConfig config) { CreateTransfer(config).Wait(); MessengerMessage message = new MessengerMessage(); message.Text = "the transfer was completed successfully :)"; MessengerUser user = new MessengerUser(); user.Id = config.FacebookId; var result = messengerService.MessageSender.SendAsync(message, user).Result; return(RedirectToAction("TransferSuccess")); }
public async Task Reply(string SenderId, string textInput) { var Sender = await _messengerProfile.GetUserProfileAsync(SenderId); var checkInput = _context.MesBotEntities.FirstOrDefault(x => CheckChat(textInput, x.Exception)); if (checkInput == null) { var text = "Cậu nói gì vậy mình hông hiểu gì hớt -.-"; var response = new MessengerMessage { Text = text }; await messageSender.SendAsync(response, new MessengerUser { Id = SenderId }); } else { if (checkInput.Type == 1) { var weather = await _weatherService.GetWeatherFromCity(checkInput.ReplyText); if (weather != null) { var response = new MessengerMessage { Text = $"Dự báo thời tiết hôm nay {DateTime.UtcNow.ToString("dd.MM.yyyy H:mm:ss")}, khu vực {weather.name} NĐ là: {weather.main.temp}, NĐ cao nhất: {weather.main.temp_max}, thấp nhất: {weather.main.temp_max} có{weather.weather[0].description} <3 From Khoapiterrr with love :* " }; await messageSender.SendAsync(response, new MessengerUser { Id = SenderId }); } else { var text = "Ơ sao mình k thấy thành phố đó nhỉ :( xin loi nha"; var response = new MessengerMessage { Text = text }; await messageSender.SendAsync(response, new MessengerUser { Id = SenderId }); } } else if (checkInput.Type == 2) { var text = checkInput.ReplyText.Replace("@firstname", Sender.Result.FirstName); var response = new MessengerMessage { Text = text }; await messageSender.SendAsync(response, new MessengerUser { Id = SenderId }); } } }
public async Task HandleMessage([FromBody] MessengerObject obj) { foreach (var entry in obj.Entries) { var mesaging = entry.Messaging; foreach (var message in mesaging) { var senderId = message.Sender.Id; if (message.Message != null) { if (!string.IsNullOrEmpty(message.Message.Text)) { try { var checkSend = await SendDBTT(message); RecurringJob.AddOrUpdate(senderId, () => SendDBTT(message), Cron.Hourly); var jobId = BackgroundJob.Schedule( () => RecurringJob.RemoveIfExists(senderId), TimeSpan.FromDays(1)); } catch (Exception ex) { var response = new MessengerMessage { Text = "Xin lỗi page mình có vấn đề rồi :'( ... " + ex.Message }; await messageSender.SendAsync(response, message.Sender); } } else { var response = new MessengerMessage { Text = "Hi chào cậu , mình đợi cậu từ chiều ơ...mà cậu đừng gửi file, ảnh linh tinh cho tớ spam tớ ghét đấy <3" }; await messageSender.SendAsync(response, message.Sender); } } } } }
public async Task <bool> SendDBTT(MessengerMessaging mes) { var weather = await _weatherService.GetWeatherFromCity(CommonHelper.ConvertUtf8ConvertNotReplcae(mes.Message.Text)); if (weather != null) { var response = new MessengerMessage { Text = $"DBTT {DateTime.UtcNow.ToString("dd.MM.yyyy")}, tại {weather.name} NĐ là: {weather.main.temp}, NĐ cao nhất: {weather.main.temp_max}, thấp nhất: {weather.main.temp_max} có {weather.weather[0].description} <3 From Khoapiterrr with love" }; _ = messageSender.SendAsync(response, new MessengerUser { Id = mes.Sender.Id }); try { var Sender = await _messengerProfile.GetUserProfileAsync(mes.Sender.Id); _context.ViewWeatherHistoryApi.Add(new Entity.ViewWeatherHistoryApi { City = weather.name, CreatedDate = DateTime.UtcNow, FacebookId = mes.Sender.Id, Name = Sender.Result.FirstName + " " + Sender.Result.LastName, Temperature = weather.main.temp.ToString() }); _context.SaveChanges(); } catch (Exception ex) { throw ex; } return(true); } _ = messageSender.SendAsync(new MessengerMessage { Text = "Xin lỗi bạn, mình không tìm thấy thành phố của bạn. Vui lòng gõ chính xác" }, new MessengerUser { Id = mes.Sender.Id }); return(false); }
/// <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); }
/// <inheritdoc cref="IHxMessengerService.AddMessage(MessengerMessage)" /> public void AddMessage(MessengerMessage message) { OnMessage?.Invoke(message); }
public EncryptedMessageReceivedEventArgs(string decryptedText, MessengerUser user, MessengerMessage message, MessengerMessage replyTo = null) : base(user, message, replyTo) { DecryptedText = decryptedText; }
public MessengerUser GetUser(MessengerMessage message) { return(GetUser(message.AuthorId)); }
public MessageReceivedEventArgs(MessengerUser user, MessengerMessage message, MessengerMessage replyTo = null) { User = user; Message = message; ReplyTo = replyTo; }
public async Task <MessengerThread> GetThreadAsync(MessengerMessage message) { return(await GetThreadAsync(message.ThreadId)); }
private void EvaluateMessages(MessengerMessage obj) { if (obj == MessengerMessage.GoBack) _navigationService.GoBack(); }
protected virtual void OnMessageUnsent(MessengerUser user, MessengerMessage message, MessengerThread thread, DateTime at) { var args = new MessageUnsentEventArgs(user, message, thread, at); MessageUnsent?.Invoke(this, args); }
public Task <MessengerResponse> SendAsync(MessengerMessage message, MessengerUser recipient) { return(SendAsync(message, recipient, MessengerConfig.AccessToken)); }
protected virtual void OnMessageReceived(MessengerUser user, MessengerMessage message, MessengerMessage replyTo = null) { var args = new MessageReceivedEventArgs(user, message, replyTo); MessageReceived?.Invoke(this, args); }
/// <summary> /// Receive notification from <see cref="HxToast"/> when message is hidden. /// </summary> private void HandleToastHidden(MessengerMessage message) { messages.Remove(message); }
protected virtual void OnEncryptedMessageReceived(string decrypted, MessengerUser user, MessengerMessage message, MessengerMessage replyTo = null) { var args = new EncryptedMessageReceivedEventArgs(decrypted, user, message, replyTo); EncryptedMessageReceived?.Invoke(this, args); }