Closed frct1 closed 6 years ago
Какой тип события? Это message_new
от пользователя группы? Подробнее опиши кейс, пожалуйста.
Да, идёт обработка message_new
Вызов toLowerCase идёт в
./lib/utils/next:4
const message = ctx.message.body.toLowerCase()
фиксит.
bot.event('message_new',(msgobj)=>{
console.log(msgobj);
})
Подобное вовсе не работает, не вызывает колбэк.
А вот по bot.on('message_new',cb)
срабатывает, но дропает ошибку.
(node:30566) UnhandledPromiseRejectionWarning: TypeError: fn is not a function
at fn (/var/www/wfbot/node_modules/node-vk-bot-api/lib/methods/command.js:8:18)
p.s: cb - действительно функция
Спасибо за внимание к ошибке.
Для обработки message_new
используется метод .on, который срабатывает у тебя, но неправильно, потому что он принимает исключительно middlewares, а ты передал строчку message_new
, из-за чего и вылетает ошибка.
Вот обработка любого сообщения:
bot.on((ctx) => {
ctx.reply('Hello, world!')
})
Изначально event
метод не предназначался для таких кейсов, но я выпустил багфикс, теперь можно использовать bot.event('message_new', (ctx) => {})
, но это бессмысленно, потому что для такого обработчика есть сахар в виде bot.on((ctx) => {})
. Доступно с версии 2.0.4. https://github.com/node-vk-bot-api/node-vk-bot-api/commit/dd8f1c640764ebd41f1e55e1455bf5508f13cfec
При попытке отписать какое-либо сообщение в группу на стороне сервера возникает ошибка
(node:2676) UnhandledPromiseRejectionWarning: Error: TypeError: Cannot read property 'toLowerCase' of undefined at VkBot.module.exports (C:\Users\79520\Desktop\wf\lib\methods\startPolling.js:39:11) at process._tickCallback (internal/process/next_tick.js:68:7)