Бот в вк работал потом резко перестал работать и работали только кнопки,перезапустил несколько раз командную строку,теперь все работает кроме профиля
Когда человек пишет профиль в командной строке высвечивается вот это,помогите пожалуйста
Handle polling update error: TypeError: Cannot read property 'toString' of null
at Object.sp (D:\SCORPI BOT\SCORPI BOT (2)\app.js:1103:13)
at Array. (D:\SCORPI BOT\SCORPI BOT (2)\app.js:1521:37)
at D:\SCORPI BOT\SCORPI BOT (2)\app.js:1353:18
at D:\SCORPI BOT\SCORPI BOT (2)\node_modules\vk-io\lib\index.js:11524:7
at nextDispatch (D:\SCORPI BOT\SCORPI BOT (2)\node_modules\middleware-io\lib\index.js:31:40)
at Updates.stackMiddleware (D:\SCORPI BOT\SCORPI BOT (2)\node_modules\middleware-io\lib\index.js:37:16)
at Updates.dispatchMiddleware (D:\SCORPI BOT\SCORPI BOT (2)\node_modules\vk-io\lib\index.js:12081:15)
at Updates.handleWebhookUpdate (D:\SCORPI BOT\SCORPI BOT (2)\node_modules\vk-io\lib\index.js:11667:15)
at D:\SCORPI BOT\SCORPI BOT (2)\node_modules\vk-io\lib\index.js:12065:16
at Array.forEach ()
at Updates.fetchUpdates (D:\SCORPI BOT\SCORPI BOT (2)\node_modules\vk-io\lib\index.js:12063:20)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async Updates.startFetchLoop (D:\SCORPI BOT\SCORPI BOT (2)\node_modules\vk-io\lib\index.js:11973:5)
База данных успешно сохранена.
Бот делает метод toString к объекту null. Надо изучить код и понять почему туда попал null, вместо желанного значения.
Без чтения твоего кода этого не понять.
Megum1n, вот код,что сделал не так?Если не сложно можете сказать
cmd.hear(/^(?:профиль)$/i, async (message, bot) => {
message.user.foolder += 1;
let text = ``;
text += ` ID: ${message.user.uid}\n`;
text += ` Ваш ник: ${message.user.tag}\n`;
text += ` Привилегия: ${message.user.adm.toString().replace(/0/gi, "Пользователь").replace(/1/gi, "VIP").replace(/2/gi, "MVP").replace(/3/gi, "Мл.Модер").replace(/4/gi, "Moderator").replace(/5/gi, "Admin").replace(/6/gi, "Gl.Admin").replace(/7/gi, "Пользoватель")}\n`;
text += ` Ваш баланс: ${utils.sp(message.user.balance)} $\n`;
text += ` В банке: ${utils.sp(message.user.bank)} $\n`;
text += ` Коинов: ${utils.sp(message.user.coins)} \n`;
text += ` Руды: ${utils.sp(message.user.ruda)} кг\n`;
text += `☄ Метеоритов: ${utils.sp(message.user.cosmos)}\n`
text += ` Рейтинг: ${utils.sp(message.user.rating)} \n`;
text += ` Уровень: ${message.user.level} (${message.user.exp}/${message.user.expup})\n`;
if(message.user.work) text += ` Работа: ${works[message.user.work - 1].name}\n`;
if(message.user.marriage.partner) text += ` Партнер: ${users[message.user.marriage.partner].tag}\n`;
text += (` Бонус: ${message.user.bonustime > Date.now() ? "Не доступен" : "Доступен!"}\n`);
if(message.user.foolder) text += `✉ Использовано команд: ${message.user.foolder}\n`;
afoursick, так читать невозможно.
Залей весь код на пастебин, для обнаружения ошибки, нужны строки 1103, 1521, 1353 + объявления всех переменных, задействованых в этих строках.
at Object.sp (D:\SCORPI BOT\SCORPI BOT (2)\app.js:1103:13)
at Array. (D:\SCORPI BOT\SCORPI BOT (2)\app.js:1521:37)
at D:\SCORPI BOT\SCORPI BOT (2)\app.js:1353:18
Арсений, нет же! utils.sp выполняет метод toString к аргументу, брошанному в него. message.user.coins возвращает null, а utils.sp не может выполнить метод toString к null.
В этом месте программы переменной message.user.coins ещё не присвоино значение, поэтому получается null.