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