Всем привет. Решил я переписать своего бота с Python на .NET 8 Зависимости: Для работы кода, необходимо установить пакет Newtonsoft.Json Исходный код с пояснениями: using Newtonsoft.Json.Linq; class Program { private static HttpClient client = new(); private static Random random = new(); private static string token = ""; // здесь хранится токен бота private static string version = "5.199"; // версия longpoll. на момент написания темы, последняя версия 5.199 static async Task Main() { string res = await client.GetStringAsync($"https://api.vk.com/method/messages.getLongPollServer?v={version}&access_token={token}&need_pts=1"); // получаем данные longpoll сервера JObject getLongPollServer = JObject.Parse(res); // получаем json while (true) { res = await client.GetStringAsync($"https://api.vk.com/method/messages.getLongPollHistory?v={version}&access_token={token}" + $"&ts={getLongPollServer["response"]["ts"]}&pts={getLongPollServer["response"]["pts"]}"); // получаем все события JObject getLongPollHistory = JObject.Parse(res); // получаем json if (getLongPollHistory["response"]["history"].Count() > 0) // если найдено событие getLongPollServer["response"]["pts"] = getLongPollHistory["response"]["new_pts"]; // получаем новый pts if (getLongPollHistory["response"]["messages"]["count"].Value<int>() > 0) // если сообщений больше нуля { long user_id = getLongPollHistory["response"]["messages"]["items"][0]["from_id"].Value<long>(); // получаем айди отправителя string message = getLongPollHistory["response"]["messages"]["items"][0]["text"].Value<string>(); // получаем сообщение await client.GetAsync($"https://api.vk.com/method/messages.send?v={version}&access_token={token}" + $"&random_id={random.Next(1, 2147483647)}&user_id={user_id}&message={message}"); // отправляем сообщение в ответ } } } } CSHARP using Newtonsoft.Json.Linq; class Program { private static HttpClient client = new(); private static Random random = new(); private static string token = ""; // здесь хранится токен бота private static string version = "5.199"; // версия longpoll. на момент написания темы, последняя версия 5.199 static async Task Main() { string res = await client.GetStringAsync($"https://api.vk.com/method/messages.getLongPollServer?v={version}&access_token={token}&need_pts=1"); // получаем данные longpoll сервера JObject getLongPollServer = JObject.Parse(res); // получаем json while (true) { res = await client.GetStringAsync($"https://api.vk.com/method/messages.getLongPollHistory?v={version}&access_token={token}" + $"&ts={getLongPollServer["response"]["ts"]}&pts={getLongPollServer["response"]["pts"]}"); // получаем все события JObject getLongPollHistory = JObject.Parse(res); // получаем json if (getLongPollHistory["response"]["history"].Count() > 0) // если найдено событие getLongPollServer["response"]["pts"] = getLongPollHistory["response"]["new_pts"]; // получаем новый pts if (getLongPollHistory["response"]["messages"]["count"].Value<int>() > 0) // если сообщений больше нуля { long user_id = getLongPollHistory["response"]["messages"]["items"][0]["from_id"].Value<long>(); // получаем айди отправителя string message = getLongPollHistory["response"]["messages"]["items"][0]["text"].Value<string>(); // получаем сообщение await client.GetAsync($"https://api.vk.com/method/messages.send?v={version}&access_token={token}" + $"&random_id={random.Next(1, 2147483647)}&user_id={user_id}&message={message}"); // отправляем сообщение в ответ } } } }