Как поставить реакцию на сообщение Telegram ботом в C#? Telegram.Bot

Я написал простенького бота с использованием библиотеки Telegram.Bot. Теперь хочу поставить реакцию на сообщение. Недавно это добавили в API ботов. Функция "setMessageReaction". Но беда в том, что библиотека Telegram.Bot не обновляется с мая 2023. Она не знает эту функцию. Как мне отправить реакцию через API? Получится ли это совместить с текущим проектом построенном на Telegram.Bot? Или может, вообще, есть более удобная библиотека для C#?

Visual studio 2022 C# Пакет: Telegram.Bot


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

Автор решения: MoverSoft

Через библиотеки не смог решить задачу. Пришлось вручную сделать через Telegram API:

static HttpClient httpClient = new HttpClient();

        //Отправка реакции вручную через Telegram API
        static private async Task SetReactionAsync(long chatId, int messageId, string emoji)
        {
            string url = $"https://api.telegram.org/bot{token}/setMessageReaction";
            var data = new
            {
                chat_id = chatId,
                message_id = messageId,
                reaction = new[]
                {
                new { type = "emoji", emoji = emoji }
            },
                is_big = true
            };

            var jsonData = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json");

            // Отправим запрос к API
            var response = await httpClient.PostAsync(url, jsonData);

            // Обработаем ответ
            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine("Произошла ошибка при попытке поставить реакцию.");
                Console.WriteLine($"Код ошибки: {response.StatusCode}");
                string errorResponse = await response.Content.ReadAsStringAsync();
                Console.WriteLine($"Текст ошибки: {errorResponse}");
            }
        }
→ Ссылка