C# HttpClient: Передача url файла через http-запрос

Имеется программа взаимодействия с Telegram для автоматизированного постинга в канал. Запостить сообщение в канал нельзя через функцию API (как с ботом к примеру), но лишь посредством отправки http-запроса. Всё бы ничего, но итоговое сообщение в Telegram-канале должно содержать специальные символы Percent-encoding, чтобы ссылка всё ещё отсылалась на целевой файл. Текст сообщения я отправляю через http-запрос, так что процентная декодировка неизбежна. Как бы мне указать в ссылке, что данное сообщение нужно передать в исконном виде, не преобразовывая аргументы запроса.

Вот используемый код.

void TelegramBroadcast(string message)
{
    try
    {
        const string BOT_TOKEN = "~"; //Токен беру из бота BotFather
        const string CHANNEL_TAG = "~"; //Тег канала беру из Телеграм
        string requestUrl = $"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage?chat_id={CHANNEL_TAG}&text={message}";
        using (var httpClient = new HttpClient())
        {
            var res = httpClient.GetAsync(requestUrl).Result;
            if (res.StatusCode != HttpStatusCode.OK)
                MessageBox.Show("Could not broadcast DB-SAVE: " + res.ReasonPhrase);
        }
        WriteToLog("Telegram message was posted to channel on tag: " + CHANNEL_TAG + " by " + BOT_TOKEN, new StackTrace());
    }
    catch (Exception ex)
    {
        MessageBox.Show("TelegramBroadcast(): " + ex.Message);
        WriteToLog("Failed to broadcast to the Telegram channel", new StackTrace(), ex);
    }
}

Ответы (0 шт):