Неактуально NodeJS node js как достать айди из сообщения

Kecer

Участник
Автор темы
241
11
Как достать айди сообщения из переменной message, что бы в дальнейшем отредактировать это сообщение, вроде всё сделал правильно но когда пытаюсь запустить функцию мне выдаёт ошибку

JavaScript:
Code №100 - One of the parameters specified was missing or invalid: message_id not integer

Вот код

JavaScript:
bot.hear(/^(?:\/test)$/i, async msg => {
  const message = await msg.send({ message: 'command', chat_id: 1, random_id: getRandomId() })
  message.editMessage({ message: 'test5', peer_id: 2000000001, message_id: message })
})

Пояснение:
Я хочу реализовать следующую вещь, я пишу боту в лс /test, бот отправляет в чат под номером 1 сообщение "command", и после его редактирует на "test5", проблема заключается в том, что всё работает, после написания команды /test бот отправляет сообщение "command" в чат, но после выдаёт выше сказанную ошибку, то-есть он не может найти айди сообщения

Вот полная ошибка:

JavaScript:
APIError: Code №100 - One of the parameters specified was missing or invalid: message_id not integer
    at SequentialWorker.execute (C:\Users\usr\Desktop\payload test\node_modules\vk-io\lib\index.js:1670:39)
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  code: 100,
  params: [
    { key: 'method', value: 'messages.edit' },
    { key: 'oauth', value: '1' },
    { key: 'v', value: '5.131' },
    { key: 'attachment', value: '' },
    { key: 'message', value: 'test5' },
    { key: 'keep_forward_messages', value: '1' },
    { key: 'keep_snippets', value: '1' },
    { key: 'peer_id', value: '393032625' },
    { key: 'message_id', value: '[object MessageContext]' },
    { key: 'conversation_message_id', value: '0' }
  ],
  [cause]: undefined
}

Пользуюсь библиотеками:
• vk-io v4.6.0
• @vk-io/hear
• node js
v 16.15.1
 
Последнее редактирование:
Решение
а, ну вот поэтому я не люблю отправлять в другие чаты с помощью контекста
он не для этого предназначен
замени
Код:
bot.hear("/sendToAnotherChat", async message => {
    message.reply(`send to chat ${chatForSend}`)
    const msg = await vk.api.messages.send({
        message: "отправлено из shiruwatch",
        peer_ids: [2e9 + chatForSend],
        random_id: getRandomId()
    })
    setTimeout(() => {
        vk.api.messages.edit({
            conversation_message_id: msg.shift().conversation_message_id,
            peer_id: 2e9 + chatForSend,
            message: "edited."
        })
    }, 1500)
});

neverlane

t.me/neverlane00
Друг
997
1,132
а, ну вот поэтому я не люблю отправлять в другие чаты с помощью контекста
он не для этого предназначен
замени
Код:
bot.hear("/sendToAnotherChat", async message => {
    message.reply(`send to chat ${chatForSend}`)
    const msg = await vk.api.messages.send({
        message: "отправлено из shiruwatch",
        peer_ids: [2e9 + chatForSend],
        random_id: getRandomId()
    })
    setTimeout(() => {
        vk.api.messages.edit({
            conversation_message_id: msg.shift().conversation_message_id,
            peer_id: 2e9 + chatForSend,
            message: "edited."
        })
    }, 1500)
});
 

Kecer

Участник
Автор темы
241
11
а, ну вот поэтому я не люблю отправлять в другие чаты с помощью контекста
он не для этого предназначен
замени
Код:
bot.hear("/sendToAnotherChat", async message => {
    message.reply(`send to chat ${chatForSend}`)
    const msg = await vk.api.messages.send({
        message: "отправлено из shiruwatch",
        peer_ids: [2e9 + chatForSend],
        random_id: getRandomId()
    })
    setTimeout(() => {
        vk.api.messages.edit({
            conversation_message_id: msg.shift().conversation_message_id,
            peer_id: 2e9 + chatForSend,
            message: "edited."
        })
    }, 1500)
});
О ДА, Я НЕ ЗНАЮ КАК ТЕБЯ БЛАГОДАРИТЬ СПАСИБО ТЕБЕ!
С этим приколом мучался 2 дня, сейчас 3 пошёл, просто иза того что не мог получить айди сообщения😗