Vk-io: 升级到版本 4 后,运行脚本时出现错误。

创建于 2017-11-29  ·  29评论  ·  资料来源: 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)

最有用的评论

挂断处理程序并找出错误是值得的

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

所有29条评论

最低 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 错误?

Xs :)
这应该在哪里以及如何进行?
(对promise不是很熟悉)

好吧,图书馆完全建立在它们之上。 您应该学习它们以在 Node.js 中工作。

我仍然不太明白如何捕捉错误。
显然错误发生在授权阶段,我做了以下构造

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

但一切都没有改变。

关键是直接授权仅适用于授权的应用程序。 举个例子vk.auth.androidApp().run()

如果我使用vk.auth.windowsApp() - 我会得到同样的错误

还有其他选择吗?

独立应用?

是的

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

谢谢你。

另一个问题是,该网站显示该机器人正坐在移动设备上。
如何使状态为“在线”

通过独立应用程序授权vk.auth.implicitFlowUser()

我这样做了,但它仍然显示机器人正坐在手机上。

我什至不知道,我的来自正常的在线。

奇怪,现在的状态很普通。
可能是VK在炫耀)
谢谢您的帮助 :)

一个易于使用的优秀库。
谢谢你。

一点也不,用它来健康)

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

alexey2baranov picture alexey2baranov  ·  8评论

Jengas picture Jengas  ·  15评论

Bobrovskih picture Bobrovskih  ·  3评论

ProgrammingLife picture ProgrammingLife  ·  9评论

T1MOXA picture T1MOXA  ·  20评论