Vk-io: После обновления до 4 версии при запуске скрипта получаю ошибку.

Created on 29 Nov 2017  ·  29Comments  ·  Source: negezor/vk-io

NodeJS - v6.12.0
VK-IO - 4.0.0-alpha.3

/vk/node_modules/vk-io/lib/api/index.js:202
    const work = async () => {
                       ^

SyntaxError: Unexpected token (
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:542:28)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/vk/node_modules/vk-io/lib/vk.js:12:35)

Most helpful comment

Стоило бы повесить обработчик и узнать в чём ошибка

process.on('unhandledRejection', (err) => {
    console.log('Caught unhandledRejection:', err);
});

All 29 comments

Минимальная версия Node.js 8

Обновил нод.
Теперь при запуске скрипта получаю сообщения:

(node:25471) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): AuthError: Unsupported type validation
(node:25471) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Стоило бы повесить обработчик и узнать в чём ошибка

process.on('unhandledRejection', (err) => {
    console.log('Caught unhandledRejection:', err);
});
Caught unhandledRejection: { AuthError: Unsupported type validation
    at DirectAuth.run (/vk/node_modules/vk-io/lib/auth/direct.js:226:15)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7) code: 'AUTHORIZATION_FAILED', name: 'AuthError' }

А Promise ошибки кто будет обрабатывать?

Хз : )
Где и как это нужно делать ?
(Не очень знаком с промисами)

Ну библиотека полностью на них построена. Следует их изучить для работы в Node.js.

Я все ещё не совсем понимаю как мне отловить ошибку.
Судя по всему ошибка происходит на этапе авторизации, я сделал следующую конструкцию

vk.auth.direct().run().then((response) => {
    BotID = response.user;
}).catch((err) => {
    console.log(err);
});

Но ничего не изменилось.

Всё дело в том что прямая авторизация только для разрешённых приложений. Как пример vk.auth.androidApp().run()

Если использовать vk.auth.windowsApp() - получаю ту же ошибку

Есть еще варианты ?

Standalone приложение?

Да

vk.auth.implicitFlowUser()

AuthError: Auth form error: Указан неверный логин или пароль.
Раньше (на старой версии) авторизация работала.
Через vk.auth.windowsApp()

Можно увидеть код?

Да, у меня авторизация по логину\паролю.
Я так понимаю нужен только код авторизации ?

vk.setOptions({
    app: 0000001, //Пример
    login: '+Телефон',
    pass: 'Пароль',
    phone: '+Телефон'
});

vk.auth.implicitFlowUser().run().catch((err) => {
    console.log(err);
});

Не pass, а password

А в старой было psss ?

В 3.2 было свойство pass, теперь password

Спасибо.

Ещё такой вопрос, сайт показывает что бот сидит через мобильное устройство.
Как сделать так чтоб был статус просто "Online"

Авторизация через standalone приложение vk.auth.implicitFlowUser()

Так и сделал, однако все равно показывает что бот сидит с мобилки.

Даже не знаю, мои с нормального онлайна сидят.

Странно, сейчас обычный статус.
Наверное вк выпендривается )
Спасибо за помощь :)

Отличная библиотека с которой удобно работать.
Спасибо.

Не за что, пользуйся на здоровье)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ProgrammingLife picture ProgrammingLife  ·  9Comments

T1MOXA picture T1MOXA  ·  22Comments

AndreiSoroka picture AndreiSoroka  ·  6Comments

alexey2baranov picture alexey2baranov  ·  8Comments

helix-team picture helix-team  ·  4Comments