vk-io
vk-io copied to clipboard
Ошибка совместной работы onCaptcha и processingCaptcha
После исправления #540 появляется ошибка при вызове processingCaptcha (которые еще и присвоить нужно вначале, хотя вроде в экземпляре класса, он создается в конструкторе... но может я что-то не так понял): этот метод некорректно вызывает onCaptcha, а именно, в качестве параметра payload типа ICallbackServiceCaptchaPayload туда залетает Promise. Что ломает обработчик. Опять же, может я не разобрался как эти два метода совместно применять (processingCaptcha без onCaptcha не работает ведь?). Может есть рабочий пример кода? Но пока похоже на баг... Буду признателен за оперативное решение проблемы.
С уважением.
Какие именно были внесены изменения? В payload не может попасть Promise, так как processingCaptcha везде получает plain object, ниже все его вызовы:
https://github.com/search?q=repo%3Anegezor%2Fvk-io%20processingCaptcha&type=code
Сам по себе processingCaptcha просто вызывает onCaptcha обработчик и ждёт ответа, просто небольшая абстракция выделенная в CallbackService.
Какие именно были внесены изменения? В 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 выдает. Хотя вон же он определен.
В общем, я потому и создал этот тикет, т.к. было не совсем понятно, откуда они лезут эти ошибки. Т.к. согласно вашему коду, там все ок.