Если фри, то выше кинули, если через сервисы, можно также "вдохновиться" моим скриптом решалки Яндекс капчи, там ровно такая же суть, но прикручено решение через антигейт (с ручными индусами), но можно так и любой сервис с индусами прикрутить. Решение на гуру не чекал, баланса небыло на аке)
bug: BAS не понимает зависимости, которые нужны для кастомного модуля
-
Входные данные:
- есть кастомный модуль, в одном из функции которого используется кубик Solve Recaptcha 2.0 и функции работы со строками.
- есть скрипт, который вызывает эту функцию из кастомного модуля.
Баг 1:
При редактировании скрипта в BAS, который вызывает функцию кастомного модуля, BAS постоянно добавляет модуль Solve Recaptcha 2.0 в UnusedModules после сохранение.
<UnusedModules>ClickCaptcha;JSON;ReCaptcha;URL;PhoneVerification;InMail;Path;String</UnusedModules>Получаю, что скрипт в режиме запуска не работает, так как падает с ошибкой "ReferenceError: Can't find variable: BAS_SolveRecaptcha". Что ожидаемое поведение,так как модуль Solve Recaptcha 2.0 в скрипте выключен.
Решение(обходной путь):
Нужно создать функцию в скрипте, которая не используется, с кубиком Solve Recaptcha 2.0. Тогда BAS перестает добавлять модуль Solve Recaptcha 2.0 в список UnusedModules.Баг 2
После реализации обходного пути, что я описал выше, в режиме запуска получаю ошибку "Thread ended with message "ReferenceError: Can't find variable: _find_substring during execution of action ".
Решение аналогично выше описанному.Скриншот функции-заглушки в скрипте, что использует кастомный модуль:

Подозреваю, что я решил не все проблемы, потому что наблюдаю разное поведение:
- вызов функции в самом скрипте кастомного модуля дает один результат
- вызов функции снаружи из другого скрипта дает другой
Вероятно, проблему можно решить отредактировав файл manifest.json модуля, чтобы добавить туда вручную зависимости, но я не знаю как.
Модуль создается с помощью встроенного генератора, который, вероятно, и должен это делать, но не делает.Вручную управлять зависимостями очень плохая идея, так как я понятия не имею, какие модули отключены по умолчанию, если они не используются в скрипте.
Если с модулем Solve Recaptcha 2.0, это можно было предусмотреть, то в случае с встроенным стандартным модулем работы со строками, маловероятно.Цитата из manifest.json:
"depends": [ ], <== как добавить сюда нужные мне два модуля?Прошу помощи, @m4zuper.
-
@DrPrime said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:
Сталкивался с этим просто добавляя функции в скрипт
Да, я тоже так сделал, о чем и написал выше.
@DrPrime said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:
Я думаю быстрее ответят в сапорте, должно быть предусмотрено что то
Я редко пишу в суппорт. Да и на этом форуме есть человек из команды BAS, кто баги разбирает.
Если я напишу письмо, то ему мой тикет и попадет в issue. -
@DrPrime said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:
@sergerdn Если этот человек не знает в тикете - он перенаправит разрабу. Если знает - ответит. С форума он разрабу не отправит)
Есть вероятность, что это у меня кривые руки, а не у BAS. Не хочу дергать лишний раз разработчика, так как у него и так дел полно, я думаю.
-
@sergerdn said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:
Да и на этом форуме есть человек из команды BAS, кто баги разбирает.
На сколько я знаю это не считается багом, просто модули не поддерживают зависимости. В лайфхаках где-то есть костыль
-
@UserTrue said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:
На сколько я знаю это не считается багом
Да, понимаю, что есть баги, а есть "баго-фичи".
Подумаешь, дерево зависимостей не умеет строить, да и фиг с ним.
Особенно весело, когда скрипт зависит от модуля(там свои зависимости), модуль зависит от трех других модулей, они зависят от .... Ну и так далее.
Возвращаемся в каменный век и следим за деревом зависимостей сами. 😡
-
@sergerdn said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:
Да, понимаю, что есть баги, а есть "баго-фичи".
Подумаешь, дерево зависимостей не умеет строить, дай и фиг с ним.
Что еще за баго фичи. Очень странная логика, если что-то работает не так как вам хочется или так как вы привыкли в какой-то другой среде то это не является багом. Баг это когда заявлено, но не работает так описано. Вы постоянно проецируете опыт каких-то ЯП на БАС, но БАС это БАС только сами себе жизнь усложняете.
-
@UserTrue said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:
Вы постоянно проецируете опыт каких-то ЯП на БАС
Вероятно, когда ориентируешься на привычное и удобное, это не так плохо.
Если водишь машину 10 лет, а потом пересаживаешься за другое транспортное средство и там квадратный руль, это вызывает как минимум удивление.@UserTrue said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:
Баг это когда заявлено, но не работает так описано.
Вопрос терминологии, я про скорее неожиданное поведение.
P.S.
Совсем далеко от темы ушли, я запросил в конце своего первого поста, как можно в manifest.json добавить вручную зависимости и написал, что я не знаю как. -
@GhostZ said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:
@sergerdn, это не баг, на данный момент модульная система BAS не поддерживает зависимости, такого функционала просто нет, обходной способ я выкалывал тут
Спасибо, уже смотрю.
-
@sergerdn said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:
Вероятно, когда ориентируешься на привычное и удобное, это не так плохо.
Если водишь машину 10 лет, а потом пересаживаешься за другое транспортное средство и там квадратный руль, это вызывает как минимум удивление.Это плохо, это искаженно восприятие действительности.