vk-io icon indicating copy to clipboard operation
vk-io copied to clipboard

Ошибка совместной работы onCaptcha и processingCaptcha

Open fortune1dev opened this issue 2 years ago • 2 comments
trafficstars

После исправления #540 появляется ошибка при вызове processingCaptcha (которые еще и присвоить нужно вначале, хотя вроде в экземпляре класса, он создается в конструкторе... но может я что-то не так понял): этот метод некорректно вызывает onCaptcha, а именно, в качестве параметра payload типа ICallbackServiceCaptchaPayload туда залетает Promise. Что ломает обработчик. Опять же, может я не разобрался как эти два метода совместно применять (processingCaptcha без onCaptcha не работает ведь?). Может есть рабочий пример кода? Но пока похоже на баг... Буду признателен за оперативное решение проблемы.

С уважением.

fortune1dev avatar Apr 18 '23 20:04 fortune1dev

Какие именно были внесены изменения? В payload не может попасть Promise, так как processingCaptcha везде получает plain object, ниже все его вызовы: https://github.com/search?q=repo%3Anegezor%2Fvk-io%20processingCaptcha&type=code

Сам по себе processingCaptcha просто вызывает onCaptcha обработчик и ждёт ответа, просто небольшая абстракция выделенная в CallbackService.

negezor avatar Apr 21 '23 13:04 negezor

Какие именно были внесены изменения? В payload не может попасть Promise, так как processingCaptcha везде получает plain object, ниже все его вызовы: https://github.com/search?q=repo%3Anegezor%2Fvk-io%20processingCaptcha&type=code

Сам по себе processingCaptcha просто вызывает onCaptcha обработчик и ждёт ответа, просто небольшая абстракция выделенная в CallbackService.

Ну, как-то Promise туда попадает, чему я тоже удивился. Может мне CallbackService нужно подтягивать из Authorization? А не из vk-io?... Подумалось мне, пока писал вам этот ответ. Нужно будет попробовать, если снова буду к этому вопросу возвращаться (просто я уже написал свой обработчик и мне пока не до экспериментов). Сейчас у меня так: const { DirectAuthorization, officialAppCredentials } = require('@vk-io/authorization'); const { VK, CallbackService, resolveResource } = require('vk-io');

Причем при таком подключении, вызов processingCaptcha у меня вообще ошибку undefined выдает. Хотя вон же он определен.

В общем, я потому и создал этот тикет, т.к. было не совсем понятно, откуда они лезут эти ошибки. Т.к. согласно вашему коду, там все ок.

fortune1dev avatar Apr 21 '23 17:04 fortune1dev