Последний месяц я работаю над конструктором интерфейса. На сегодня функционал готов на 80% и через неделю выйдет новая версия БАС, в которой премиум пользователи смогут полность менять интерфейс скомпилированных ботов.
Вот ссылка на интерфейс сгенерированный конструктором(все поля и контролы кликабельны). https://bablosoft.com/test-interface/index.html После апдейта вы сможете конвертировать любого бота к данному виду.
И ссылка на сам конструктор, здесь можно отредактировать внешний вид бота с помощью визульных компонент и изменить логику с помощь javascript. https://bablosoft.com/interface-builder/index.html По данной ссылке вы также сможете проверить как ваш бот будет смотреться с новым интерфейсом.
Ниже детальное описание будущего апдейта в виде перечисления основных особенностей:
В новой версии будет возможность запускать ботов прямо в браузере. При запуске бота будет открываться не интерфейс БАС, как раньше, а браузер установленный у вас в системе. В нем будет отображаться интерфейс созданный разработчиком бота. БАС будет работать в фоновом режиме и управляться из этого браузера. Такой подход дает множество преимуществ.
Интерфейс бота можно изменять как угодно. Здесь вы не ограничены ничем и можете сделать все, что возможно в обычном браузере. Вы можете добавлять сторонние библиотеки, стили и т. д, как вносить небольшие изменения, так и полность менять внешний вид бота. Например, были запросы на смену интерфейса таким образом, чтобы входные параметры отображались всегда, а не только на первом окне. Теперь это возможно, и вы сами решаете как будет выглядеть ваш бот.
Логика работы бота тоже может быть изменена. Логика работы написана на javascript и вы можете ее менять. Например, достаточно легко добавить проверку, чтобы входное поле содержало именно почту, а не просто любую строку и выводить свое сообщение об ошибке. Или выводить в лог не все сообщения, а только сообщения об удачной регистрации. Или вообще убрать лог, а выводить информацию через уведомления в браузере.
Интерфейс бота может быть сгенерирован автоматически из проекта БАС. Вам не нужно писать интерфейс с нуля. За вас это сделает конструктор интерфейса. Но в отличии от интерфейса, который генерируется сейчас, у вас будет возможность его менять.
Простые изменения не требуют знания программирования. Они могут быть осуществлены прямо в конструкторе интерфейса. Вот примеры таких изменений: изменить текст кнопки, изменить цвет любого элемента, и вообще любые параметры, спрятать элементы, которые отвечают за отображение браузера, переместить их в другое место(через перетягивание), изменить название вкладки, добавить свое лого и ссылку на свой сайт.
Сложные изменения требуют знания html/javascript/css Хотя простые изменения не требуют от пользователя дополнительных знаний, для сложных задач они могут понадобиться. Например, для добавления нового графика на страницу с ботом потребуется прочитать его документацию и самостоятельно отредактировать код бота. Конструктор интерфейса предоставляет удобный редактор с предпросмотром(как jsfiddle).
Взаимодействие пользовательского интерфейса и БАС. Общаться с БАС можно посредством специального апи, его описание скоро появится в вики. Вот пример вызова метода, который возвращает скриншот браузера из БАС, и обновляет картинку на странице.
Api.ViewBrowser(BrowserId).then((Res)=> $("#BrowserScreen").attr("src","data:image/png;base64," + Res["image"]) ) Общение с БАС будет происходить и другими методами, так интерфейс бота сможет: читать/записывать глобальные переменные, получит доступ к базе, сможет выполнять функции БАС и получать результат(запланировано на следующие версии), а скрипты БАС смогут выполнять произвольный javascript в контексте пользовательского интерфейса.
Запуск ботов удаленно(запланировано на следующие версии). Разделение интерфейса бота и БАС дает возможность в будущем запускать ботов удаленно, в том числе и на мобильных платформах. Конечно для запуска БАС все еще потребуется сервер на Windows, но контролировать бота вы сможете с любого устройства, у которого есть доступ в сеть и браузер.
Сроки. Выпуск версии с поддержкой пользовательского интерфейса я планирую 21 мая. В ней новый функционал станет доступен только премиум пользователям и только для приватных скриптов или скриптов размещенных в магазине. Позже новые фичи станут доступны и для скриптов созданных премиум пользователями без защиты.
Скриншоты.
Ввод ресурсов.
Основной экран бота.
Выбор файла
Редактирование интерфейса
Редактирование кода