Beispiel #1
0
        public override void ChannelSynchronizationStatusUpdated(TwilioChatClient client, Channel channel, ChannelSynchronizationStatus status)
        {
            Logger.Info($"ChatClient: {client}", $"ChannelSynchronizationStatusUpdated for channel: {channel.Sid}, status: {status}");

            if (status.Equals(ChannelSynchronizationStatus.All) && channel.Status.Equals(ChannelStatus.Joined))
            {
                Logger.Info($"ChatClient: {client}", $"Got joined channel: {channel.Sid}");
                channel.Delegate = new TwilioChannelDelegate();
                channel.GetMessagesCountWithCompletion((result, count) =>
                {
                    if (result.IsSuccessful)
                    {
                        Logger.Info($"Channel: {channel.Sid}", $"Messages count: {count}");
                    }
                    else
                    {
                        Logger.Error($"Channel: {channel.Sid}",
                                     $"Error: {result.Error}, " +
                                     $"code: {result.ResultCode}, " +
                                     $"text: {result.ResultText}");
                    }
                });
                channel.GetMembersCountWithCompletion((result, count) =>
                {
                    if (result.IsSuccessful)
                    {
                        Logger.Info($"Channel: {channel.Sid}", $"Members count: {count}");
                    }
                    else
                    {
                        Logger.Error($"Channel: {channel.Sid}",
                                     $"Error: {result.Error}, " +
                                     $"code: {result.ResultCode}, " +
                                     $"text: {result.ResultText}");
                    }
                });
                channel.Messages.GetLastMessagesWithCount(10, (result, messages) =>
                {
                    if (result.IsSuccessful)
                    {
                        Logger.Info($"Channel: {channel.Sid}", $"Messages: {result}");
                        foreach (Message message in messages)
                        {
                            Logger.Info($"Channel: {channel.Sid}", $"Got message: {message.Sid} created on {message.TimestampAsDate}");
                        }
                        ;
                    }
                    else
                    {
                        Logger.Error($"Channel: {channel.Sid}",
                                     $"Error: {result.Error}, " +
                                     $"code: {result.ResultCode}, " +
                                     $"text: {result.ResultText}");
                    }
                });
            }
            else if (status.Equals(ChannelSynchronizationStatus.All) && channel.Status.Equals(ChannelStatus.Invited))
            {
                Logger.Info($"ChatClient: {client}", $"Got invited channel: {channel.Sid}");
            }
        }
 public override void ChannelSynchronizationStatusUpdated(TwilioChatClient client, Channel channel, ChannelSynchronizationStatus status)
 {
     Logger.Info($"Channel: {channel.Sid}", $"SynchronizationStatusUpdated: {status}");
 }