Ошибка 100 при создании бота для ВК

При запуске данного бота:

const { VK } = require('vk-io');

const token = 'MY_TOKEN';
const groupId = 'GROUP ID';
const message = '404';
const count = 5;

const vk = new VK({
  token,
  apiMode: 'parallel',
});

vk.updates.on('message_new', async (context) => {
  if (context.isChat && context.text === '404') {
    for (let i = 0; i < count; i++) {
      await vk.api.messages.send({
        peer_id: context.peerId,
        message,
      });
    }
  }
});

vk.updates.start().then(() => {
  console.log('Бот запущен');
});

При помощи команды (node testbot.js) для терминала, появляется ошибка 100. Вот что выдаёт консоль (cmd):

Бот запущен
ExecuteError: Code №100 - One of the parameters specified was missing or invalid: random_id is a required parameter
    at C:\Users\user232323\node_modules\vk-io\lib\index.js:1671:73
    at Array.map (<anonymous>)
    at ParallelWorker.execute (C:\Users\user232323\node_modules\vk-io\lib\index.js:1671:57)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  code: 100,
  params: [],
  method: 'messages.send',
  [cause]: undefined
}

upd: Я впервые работаю с вк апи, осознаю, что ему не нравятся разрешения. Как их выдать?


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

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

Судя по ошибке, вы не передали обязательный параметр random_id в функцию messages.send:

await vk.api.messages.send({
  peer_id: context.peerId,
  // нет обязательно параметра "random_id"
  message,
});

Можете передать 0, если вам не нужна проверка на уникальность или любое другое число в пределах int32, если вам нужна проверка на уникальность:

await vk.api.messages.send({
  peer_id: context.peerId,
  random_id: 0,
  message,
});

С документацией к функции messages.send можете ознакомиться по ссылке

→ Ссылка