Example #1
0
        private void MarkAsRead(TLMessage message)
        {
            if (message.IsMediaUnread && !message.IsOut)
            {
                message.IsMediaUnread = false;
                message.RaisePropertyChanged(() => message.IsMediaUnread);

                var vector = new TLVector <int> {
                    message.Id
                };
                if (message.Parent is TLChannel channel)
                {
                    _aggregator.Publish(new TLUpdateChannelReadMessagesContents {
                        ChannelId = channel.Id, Messages = vector
                    });
                    _protoService.ReadMessageContentsAsync(channel.ToInputChannel(), vector, null);
                }
                else
                {
                    _aggregator.Publish(new TLUpdateReadMessagesContents {
                        Messages = vector
                    });
                    _protoService.ReadMessageContentsAsync(vector, null);
                }
            }
        }