VK API ошибка. Unhandled exception. VkNet.Exception.ParameterMissingOrInvalidException: One of the parameters specified was missing or invalid

Бот должен запускаться, и после слова "привет" должен отобразить на клавиатуре кнопку "Матем", после нажатия на которую, выводить соответсвующее предложение. Однако бот вообще не запускается. Вот полныц текст ошибки:

Unhandled exception. VkNet.Exception.ParameterMissingOrInvalidException: One of the parameters specified was missing or invalid: message_ids is undefined
   at VkNet.Utils.VkErrors.IfErrorThrowException(String json)
   at VkNet.VkApi.Invoke(String methodName, IDictionary`2 parameters, Boolean skipAuthorization)
   at VkNet.VkApi.CallBase(String methodName, VkParameters parameters, Boolean skipAuthorization)
   at VkNet.VkApi.Call(String methodName, VkParameters parameters, Boolean skipAuthorization)
   at VkNet.Categories.MessagesCategory.MarkAsRead(String peerId, Nullable`1 startMessageId, Nullable`1 groupId, Nullable`1 markConversationAsRead)
   at VK1.Programm.GetMessage() in C:\Users\boris\RiderProjects\VK1\VK1\Program.cs:line 106
   at VK1.Programm.Receive() in C:\Users\boris\RiderProjects\VK1\VK1\Program.cs:line 31
   at VK1.Programm.Main(String[] args) in C:\Users\boris\RiderProjects\VK1\VK1\Program.cs:line 25

Вот исходник с неправильным токеном:

using System;
using System.Xml.Schema;
using VkNet;
using VkNet.Model;
using VkNet.Model.RequestParams;
using VkNet.Enums.Filters;
using VkNet.Enums.SafetyEnums;
using VkNet.Model.Keyboard;

namespace VK1
{
    class Programm
    {
        public static VkApi vk = new VkApi();
        static void Main(string[] args)
        {
            vk.Authorize(new ApiAuthParams
            {
                AccessToken = "vk1.a.PS7W5IehyqOlqBVBwssRfTAm1f0fRS3wDAp7OUs7x3tNSawuCh5AN4CZ-jhX7X4X01UH_jqa5EwXm_ChRkI-Znb4_-5FAqcMWiC20JgxdpAkKS4q8Rna3-7IPAQ6SyABeMrhe06Mi9Pn-npcyygrqKbIfj5sjKe_29EkWvfLpbK_U0ea2krm9v3eYbuKkt4",
                Settings = Settings.All
            });
            while (true)
            {
                Thread.Sleep(50);
                Receive();
            }
        }
        
        public static bool Receive()
        {
            object[] minfo = GetMessage();
            if (minfo[0] == null)
            {
                return false;
            }
            long? userid = Convert.ToUInt32(minfo[2]);

            KeyboardBuilder key = new KeyboardBuilder();
            string code = "";
            if (minfo[1].ToString() != "")
            {
                code = minfo[1].ToString();
            }
            else
            {
                code = minfo[0].ToString();
            }

            switch (code.ToLower())
            {
                case "привет":
                    key.AddButton("Матем", "math", KeyboardButtonColor.Positive);
                    key.AddLine();
                    break;
                case "матем":
                    SendMessage("Дз по матеше", userid, null);
                    break;
                default:
                    SendMessage("К сожаленю я не знаю это команды", userid, null);
                    break;
            }

            return true;
        }

        public static void SendMessage(string message, long? userid, MessageKeyboard keyboard)
        {
            vk.Messages.Send(new MessagesSendParams
            {
                Message = message,
                UserId = userid,
                RandomId = new Random().Next(),
                Keyboard = keyboard
            });
        }
        public static object[] GetMessage()
        {
            string message = "";
            string keyname = "";
            long? userid = 0;
            var messages = vk.Messages.GetDialogs(new MessagesDialogsGetParams
            {
                Count = 10, Unread = true
            });
            if (messages.Messages.Count != 0)
            {
                if (messages.Messages[0].Body != null && messages.Messages[0].Body.ToString() != "")
                {
                    message = messages.Messages[0].Body.ToString();
                }
                else
                {
                    message = "";
                }
                if (messages.Messages[0].Payload != null)
                {
                    keyname = messages.Messages[0].Payload.ToString();
                    keyname = keyname.Split("{\"button\":\"")[1];
                    keyname = keyname.Split("\"}")[0];
                }
                else
                {
                    keyname = "";
                }
                userid = messages.Messages[0].UserId.Value;
                vk.Messages.MarkAsRead(userid.ToString());
                return new object[] { message, keyname, userid };
            }
            else
            {
                return new object[] { null, null, null };
            }
        }
    }
}

Скажите пожалуйста, что эти ошибки означают


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