예제 #1
0
        /// <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));
        }
예제 #2
0
        /// <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));
        }