@Vetersed
Прикрепите проект мне в ЛС, пожалуйста
Не компилится кастомный сервис смс
-
Всем привет. Ребят подскажите как решить проблему. Так как в дефолтовой версии мягко говоря очень ограниченные смс сервисы, я скачал с этого форума кастомную версию, заменил в корне, у меня все работает. После того как я компилю проект и клиент его запускает, у него становится дефолтный пакет смс сервисов. Как быть?
В скомпиленный проект я не могу добавить кастомный смс сервис т.к. папка appsremote появляется только после запуска скрипта. Заранее всем спасибо за помощь)))) -
@artsamdev said in Не компилится кастомный сервис смс:
Всем привет. Ребят подскажите как решить проблему. Так как в дефолтовой версии мягко говоря очень ограниченные смс сервисы, я скачал с этого форума кастомную версию, заменил в корне, у меня все работает. После того как я компилю проект и клиент его запускает, у него становится дефолтный пакет смс сервисов. Как быть?
В скомпиленный проект я не могу добавить кастомный смс сервис т.к. папка appsremote появляется только после запуска скрипта. Заранее всем спасибо за помощь))))Для примера я взял смс модуль от @uraabk.
Все файлы в модуле нужны для правильной работы модуля в режиме "записи"

Отображение действий, новых сайтов и так далее. Только в одном файле engine.js находятся функции необходимые для работы модуля в режиме "запуск".
У меня две копии BAS в двух разных директориях

В одной копии я заменил модуль смс и создал в новом скрипте только одно действие:

оно возвращает ошибку
Error during sms-activate getNumber BAD_KEY(ошибка ключа сайта)хоть в тексте ошибки указан сайт sms-activate, запрос идёт на указанный в действии сервис smska.net

Но если открыть этот скрипт в BAS с дефолтным модулем смс, то действие вернёт совершенно другую ошибку:
TypeError: Result of expression 'country' [undefined] is not an object. во время выполнения действия 955705616
и ни каких запросов не будет.Что бы действие отработало корректно, необходимо просто открыть файл engine.js в кастомном модуле, выделить весь текст, скопировать его и вставить в скрипт в действие "выполнить код" первым действием:

Для тех кто не понял, этот способ будет действовать и в скомпилированных скриптах:

-
Большое спасибо за такой подробный ответ.
-
@fox
Я понял почему не корректно получалось так как ты показал, в default версии Sms модуля и ту которая мне нужна, для какого сервиса брать номер, название сервисов указаны по разному к примеру (GMail в дефолт версии а в той которая нужна мне Goolgle). И в скопилированной версии уже в экшн "получить номер" - "сервис" пустое значение. Вообщем к чему эти заморочки, на sms-activate номер 1 из 10 (в лучшем случае) подходит для регистрации Gmail, а на vak-sms 1 из 4. Как я понимаю единственный верный путь переписать в кастом sms модуле название нужных мне сервисов чтобы они совпадали с дефолт sms модулем. Поправьте если не прав -
@artsamdev Зачем? И да нет))) Если вы будете обновлять софт и бас будет другой.. то вы получитетож самое. Бас проверить что там у него почему модули дефолтные такие? А потому что они чистые. Модуль ведь можно всякий сделать. Библиотеки под себя какие писать и вставлять. Каждый заморачиватся как хочет. Темные темы, смс ки, А в дефолте не будет, только проверенные модули. Только руками и как написал @Fox/
Если вы хотите использовать что то свое то добавляете в выполнить код свое и вперед. Прям под текущую задачу написал функцию или выдрал из либы какой.
Текст ссылки
Вот пример просьбы добавления либы в дефолт, модуль json так же было добавлен разработчикам, а создан пользователем. -
Для тех, кто будет использовать мой совет. Сейчас ситуация изменилась, функции нужно помещать в переменные, просто скопировать код из engine.js в "выполнить код" не даст нужного результата:



Надо заменить
function _BAS_GETSMSSITECODE(service,site)на
_BAS_GETSMSSITECODE = function (service,site)для всех функций.
Тестовый скрипт для наглядности

Написал на скорую руку конвертер для тех, кто ни чего не понял
:D -
👍👍 золотой вы человек FOX