public async Task SendFile(Peer peer, int receiverId, string path, string caption) { var receiver = await GetInputPeer(peer, receiverId); path = path.Trim('"'); var str = path.Split('\\'); using (var stream = new FileStream(path, FileMode.Open)) { //var fileResult = await _client.UploadFile(str[str.Length - 1], new StreamReader(stream)); //await _client.SendUploadedPhoto(reciever, fileResult, caption); var fileResult = await _client.UploadFile(str[str.Length - 1], new StreamReader(stream)); var attr = new TlVector <TlAbsDocumentAttribute>(); var filename = new TlDocumentAttributeFilename { FileName = str[str.Length - 1] }; attr.Lists.Add(filename); var update = await _client.SendUploadedDocument(receiver, fileResult, caption, String.Empty, attr); OnSendMessage?.Invoke(GetMessage(update)); } }