/// <inheritdoc /> public async Task <IUpdates> SendUploadedDocumentAsync(IInputPeer peer, IInputFile document, string mimeType, IReadOnlyList <IDocumentAttribute> attributes, string message, [AllowNull] IInputFile thumb = null, CancellationToken cancellationToken = default(CancellationToken)) { ClientSettings.EnsureUserAuthorized(); var request = new RequestSendMedia { RandomId = Random.NextLong(), Background = false, ClearDraft = false, Message = message, Media = new TInputMediaUploadedDocument { File = document, MimeType = mimeType, Thumb = thumb, Attributes = new TVector <IDocumentAttribute>(attributes.ToArray()) }, Peer = peer }; return(await RequestSender.SendRequestAsync(request, cancellationToken).ConfigureAwait(false)); }
/// <summary> /// Sends a non-text message. /// </summary> /// <param name="peer">User or group to receive the message</param> /// <param name="media">Message contents</param> /// <returns> /// Returns a <see cref="IUpdates"/> object containing a service message sent during the action. /// </returns> public async Task <IUpdates> SendMediaAsync(IInputPeer peer, IInputMedia media) { EnsureUserAuthorized(); var sendMedia = new RequestSendMedia { RandomId = TlHelpers.GenerateRandomLong(), Peer = peer, Media = media, Background = false, ClearDraft = false }; return(await SenderService.SendRequestAsync(sendMedia).ConfigureAwait(false)); }
/// <inheritdoc /> public async Task <IUpdates> SendMediaAsync(IInputPeer peer, IInputMedia media, string message, CancellationToken cancellationToken = default(CancellationToken)) { ClientSettings.EnsureUserAuthorized(); var sendMedia = new RequestSendMedia { RandomId = Random.NextLong(), Peer = peer, Media = media, Message = message, Background = false, ClearDraft = false }; return(await RequestSender.SendRequestAsync(sendMedia, cancellationToken).ConfigureAwait(false)); }
/// <inheritdoc /> public async Task <IUpdates> SendUploadedPhotoAsync(IInputPeer peer, IInputFile photo, string message, CancellationToken cancellationToken = default(CancellationToken)) { ClientSettings.EnsureUserAuthorized(); var request = new RequestSendMedia { RandomId = Random.NextLong(), Background = false, ClearDraft = false, Message = message, Media = new TInputMediaUploadedPhoto { File = photo, }, Peer = peer }; return(await RequestSender.SendRequestAsync(request, cancellationToken).ConfigureAwait(false)); }