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); } } }