@ITLDS

VkNet — UserId и Message.Body равны null, почему?

Добрый день, создаю что-то типа бота для вк. Бот должен отвечать на сообщение текстом, содержащимся в сообщении. Вот мой код:
while (true) //бесконечный цикл, в котором проверяем обновления
            {
                try
                {
                    var poll = api.Groups.GetBotsLongPollHistory(
                            new BotsLongPollHistoryParams()
                            { Server = s.Server, Ts = s.Ts, Key = s.Key, Wait = 1 });
                    if (poll?.Updates == null) continue; //если обновлений нет, ждём
                    foreach (var a in poll.Updates) //если есть, ищем среди них сообщение
                    {
                        if (a.Type == GroupUpdateType.MessageNew)
                        {
                            Console.WriteLine(a.Message.Body); //выводим его в консоль
                            api.Messages.Send(new MessagesSendParams //и отправляем текст этого сообщения пользователю
                            {
                                PeerId = a.Message.UserId,
                                RandomId = new Random().Next(),
                                Message = a.Message.Body
                            });
                            WriteLine("Sended");
                        }
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }

При таком раскладе появляется ошибка "VkNet.Exception.ParameterMissingOrInvalidException: "One of the parameters specified was missing or invalid: you should specify peer id, user id, domain, chat_id or user_ids param". Меняю Id на свой, текст меняю на обычную строку, и всё работает как надо. Оставляю текст, меняю PeerId на a.Message.UserId, та же самая ошибка. Меняю PeerId на свой, а Message на a.Message.Body, ошибка "One of the parameters specified missing or invalid: message is empty or invalid". Так в чём же всё-таки ошибка? Перед отправкой сообщения вывожу UserId, пустая строка, значит, null. Вывожу Message.Body - тоже null. То есть, сообщение приходит, но id и текст null. Почему так происходит и как это исправить?
  • Вопрос задан
  • 619 просмотров
Пригласить эксперта
Ответы на вопрос 3
@ITLDS Автор вопроса
Уже решил проблему, поменяв UserId на PeerId, а a.Message.Body на a.Message.Text.
Ответ написан
Комментировать
https://github.com/vknet/vk - создайте Issue
https://t.me/VkDotNet - в чате могут помочь быстрее
Ответ написан
Комментировать
@Febel
КЕК
Попробуй вместо PeerId = a.Message.UserId,
UserId = a.Message.PeerId
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы