private void AddMessageToDataSource(Twilio.IPMessaging.Message message) { var identity = JsonConvert.DeserializeObject <IdentityToken>(message.Author); // Get Agent Avatar if (identity.identityId != AppSettingsManager.ClientId && GravatarManager.GetImage(GravatarUser.Agent) == null) { GravatarManager.SetImage(GravatarUser.Agent, identity.picture); } // Get Customer Avatar if (identity.identityId == AppSettingsManager.ClientId && GravatarManager.GetImage(GravatarUser.Customer) == null) { GravatarManager.SetImage(GravatarUser.Customer, identity.picture); } var jmsg = new JMessage ( identity.identityId, identity.name, message.DateUpdatedAsDate, message.Body ); messages.Add(jmsg); SystemSoundPlayer.PlayMessageReceivedSound(); FinishReceivingMessage(true); ScrollToBottom(true); }
public void TwilioMessageAdded(TwilioIPMessagingClient client, Channel channel, Twilio.IPMessaging.Message message) { //we have our own if (message.Author == TwilioHelper.Identity) { return; } if (message.Body.StartsWith("attach:", StringComparison.InvariantCulture)) { MessageAdded?.Invoke(new Message { IsIncoming = true, MessageDateTime = DateTime.Parse(message.Timestamp), Text = "I am here", AttachementUrl = message.Body.Replace("attach:", string.Empty) }); } else { MessageAdded?.Invoke(new Message { IsIncoming = true, MessageDateTime = DateTime.Parse(message.Timestamp), Text = message.Body }); } }