private MediaRestRequest CreateSendDocumentRequest(int chatId, int?replyToMessageId, ReplyMarkup replyMarkup)
        {
            var request = new MediaRestRequest(chatId, MakeRequest("sendDocument"))
            {
                ReplyToMessageId = replyToMessageId,
                ReplyMarkup      = replyMarkup
            };

            return(request);
        }
        public Task <Message> SendStickerAsync(int chatId, string sticker, int?replyToMessageId, ReplyMarkup replyMarkup)
        {
            var request = new MediaRestRequest(chatId, MakeRequest("sendSticker"))
            {
                ReplyToMessageId = replyToMessageId,
                ReplyMarkup      = replyMarkup
            };

            request.AddMedia("sticker", sticker);

            return(ExecutePostRequestAsync <Message>(request));
        }
        private MediaRestRequest CreateSendVoiceRequest(int chatId, int?duration, int?replyToMessageId,
                                                        ReplyMarkup replyMarkup)
        {
            var request = new MediaRestRequest(chatId, MakeRequest("sendVoice"))
            {
                ReplyToMessageId = replyToMessageId,
                ReplyMarkup      = replyMarkup,
                Duration         = duration
            };

            return(request);
        }
        private MediaRestRequest CreatePhotoRestRequest(int chatId, string caption, int?replyToMessageId,
                                                        ReplyMarkup replyMarkup)
        {
            var request = new MediaRestRequest(chatId, MakeRequest("sendPhoto"))
            {
                Caption          = caption,
                ReplyToMessageId = replyToMessageId,
                ReplyMarkup      = replyMarkup
            };

            return(request);
        }
        public Task <Message> SendLocationAsync(int chatId, float latitude, float longitude, int?replyToMessageId,
                                                ReplyMarkup replyMarkup)
        {
            var request = new MediaRestRequest(chatId, MakeRequest("sendLocation"))
            {
                ReplyToMessageId = replyToMessageId,
                ReplyMarkup      = replyMarkup
            };

            request.AddMedia("latitude", latitude.ToString("F6", CultureInfo.InvariantCulture));
            request.AddMedia("longitude", longitude.ToString("F6", CultureInfo.InvariantCulture));

            return(ExecutePostRequestAsync <Message>(request));
        }