Конструктор интерфейса.
-
@Denis_krsk said in Конструктор интерфейса.:
Теперь точно есть повод записаться на курсы web разработчика )) И научиться на практике будет легче!
В некоторых случаях действительно тяжело будет обойтись без дополнительных знаний в верстке и javascript. Но все-таки есть несколько вещей, которые могут упростить работу.
- Генератор интерфейса(гораздо проще править что-то готовое, чем создавать с нуля).
- Конструктор, в нем можно достаточно сложный интерфейс просто перетаскивая компоненты. Он уже готов, это вторая ссылка в оригинальной теме.
- Я запишу новое обучающее видео, где будут разобраны все случаи, самых простых, вроде смены цвета текста, до создания уникального интерфейса с нуля.
@Fox said in Конструктор интерфейса.:
Я так понимаю это полноценный веб-фреймворк?
Использовал готовые либы, например, uikit, grapesjs. Для grapesjs написал свой плагин.
@Fox said in Конструктор интерфейса.:
Отдельно радует api, как много в нём методов?
Вот приблизительный список на данный момент.
Api.SetEventHandler(Callback) Конструктор должен вызывать этот метод чтобы установить обработчик событий от БАС. Callback имеет следующий вид: function(EventName, EventParams) { } EventName – имя события EventParams — параметры события Вот список событий. “log”, {text: “text”, type: type_string, action_id: action_id} - добавить в лог новое сообщение. type_string – тип сообщения success, fail, user, info “result”, {text: “text”, number: 0} - добавить новое сообщение в поле результат. “browser_add”, {browser_id: browser_id, thread_id: thread_id, thread_number: thread_number } — добавлен новый браузер. “browser_remove”, {browser_id: browser_id, thread_id: thread_id} — браузер закрыт. “captcha”, {data: “base64data”, id: captcha_id, is_image: true/false} — нужно решить капчу в ручном режиме. captcha_id – целое число. “start”, {} - скрипт начал работу. “stop”, {} - скрипт закончил работу. "restart", {} - скрипт был перезапущен. “thread_start”, {id: thread_id} - поток начал работу. “thread_end”, {id: thread_id,success: true/false, message: message, action_id: action_id, raw_message: raw_message, thread_number: thread_number} - поток закончил работу. “execute_custom_code”, {script: script_to_eval} — скрипт запросил выполнение js в контексте инетерфейса. script_to_eval должен быть выполнен. async Api.GetResourcesReport() - метод получает отчет о ресурсах. async Api.GetScriptReport() - метод получает отчет работе скрипта. async Api.ViewBrowser() - получить скрин браузера и расположение курсора. Возвращает json {image:image, width:width, height:height, x:x, y:y}. image - изображение в формате base64 png Api.AcceptResources() - пользователь заполнил ресурсы. После этого Api вызывает метод GetResourceValue(ResourceName) чтобы получить значение ресурсов введенных пользователем. Разработчик скрипта может может менять стандартную реализацию этой функции и подменять значения на свои в этом методе. Api.Stop(IsInstant) - скрипт нужно остановить, когда он будет остановлен, придет соответствующее событие. Api.Restart() - перезапуск скрипта. async Api.DownloadLog() - скачать лог файл. async Api.DownloadResult(ResultIndex) - скачать файл результата. Api.CaptchaSolved(CaptchaId,IsSuccess,Text) - отправка решения капчи в БАС. CaptchaId получается из соответствующего события.
Еще будет функционал для работы с глобальными переменными, базой, вызовов функций БАС и авторизацией. Подробное описание будет в вики через некоторое время после релиза.
Вызов функции БАС - это отдельная тема и будет в отдельном релизе.
Этот функционал позволит менять структуру скрипта. Например, пользователь нажимает кнопку "Зарегистрировать аккаунты" и в БАС вызывается функция "RegisterAccounts". Интерфейс получает промис, который вернет результат, когда завершиться функция в БАС. Таким образом, не нужно будет заполнять ресурсы, перезапускать скрипт, и т. д., а прямо из интерфейса вызывать функционал, в том числе и параллельно.А вот взаимодействие наоборот будет уже в следующем релизе. Например, можно будет обновить прогресс бар вызвав каой-то такой код
$("#progress_bar").val(50)
@Denis_krsk said in Конструктор интерфейса.:
Кстати в нем же наверное может полноценно в ручном режиме рeшать Recapchy
Да, для этого нужно будет поправить вот этот компонент.
Но в стандартной версии такого не будет.
@DrPrime said in Конструктор интерфейса.:
@support интерфес кастомный будет только в браузере?
@Denis_krsk said in Конструктор интерфейса.:
Может будет несколько ярлыков. Один для запуска в обычном интерфейсе, а другой через браузер....
Будет 2 варианта запуска, либо старый интерфейс, изменить который невозможно, либо новый, который можно менять, и который работает в браузере. Какой интерфейс использовать выбирает разработчик в личном кабинете. Там же он может и редактировать интерфейс.
Будет ли эта функция (бот в браузере) только для премиумов или для обычных пользователей тоже?
Только разработчики, у которых есть премиум смогут создавать скрипты с новым интерфейсом, запускать сможет кто угодно.
В любом случае , даже если это будет просто новый изменённый интерфейс , который будет просто работать на html и прорисовываться в отдельном браузере, но по факту быть доступным для пользователя который его запустил, это все равно круто !
В следующей версии интерфейс можно будет запускать только на том же пк, где находится бот. Но потом его можно будет запускать отдельно, на любом устройстве, в том числе и на мобильном.
Именно для этого был сделан свой диалог открытия файла, чтобы использовать файл на сервере, где работает БАС, а не там, где запущен интерфейс.
БАС и дальше будет развиваться в этом направлении, будут еще несколько компонентов, которые работают в браузере отдельно от софта, например, планировщик, управление фермой.@GamiD said in Конструктор интерфейса.:
с одной стороны да не удобно будет каждый раз браузер запускать
При двойном клике на ярлыке в браузере будет появляться новая вкладка с интерфейсом, помойму удобно, а как бы вы хотели?
@GamiD said in Конструктор интерфейса.:
а про планировщик ни слово не сказал он точно будет в этой версии интересно
Планировщик тоже в разработке. Вот одна из страниц, но это не функционал, только дизайн.
-
@support said in Конструктор интерфейса.:
При двойном клике на ярлыке в браузере будет появляться новая вкладка с интерфейсом, помойму удобно, а как бы вы хотели?
я и все остальные пользователи ждали возможности изменят интерфейс который щас есть тоесть exe файл для запуска
-
@GamiD Можете подробнее описать как бы это выглядело, и в чем преимущества перед текущей версией или недостатки текущей реализации(ну думаю понятно о чем я)?
Я понимаю вы, но как вы знаете о всех остальных пользователях?
Я написал о своих планах больше года назад(посмотрите шапку прикрепленной темы http://community.bablosoft.com/topic/957/обновлено-планы-по-выходу-новых-версий). Если все хотели другого, почему никто не остановил меня и не сказал об этом?
Вот в этой теме тоже упоминание, не нашел возражений(может что-то пропустил)?
-
@GamiD Я имею ввиду, что есть еще неделя, если что-то действительно не так с конструктором, то я попытаюсь это изменить.
-
@support
Я думаю, люди хотят популяризировать то, что они продают. И, как правило, народ привык к стандарту, что вместе с exe запускается интерфейс, а тут нежданчиком - браузер, это может немного смутить покупателей скриптов. Традиционализм и консерватизм - дело тонкое :D
Мне лично нравится возможность управлять браузером и видеть наглядно, что и куда тыкается. Давайте не отрицать новые идеи, хоть они и всегда воспринимаются в штыки, вспомнить хотя бы последнее обновление дизайна вк (последуровская эпоха). Я думаю, что сейчас не нужно метаться из огня да в полымя, а сосредоточиться на новой задумке.
-
@support все будут рады обновлениям так же и я но я просто говорю то что люди ждали что будет возможность редактировать интерфейс exe файла=) за всех не буду говорит но несколько пользователей писали про это =)
-
@support недостатки текущей реализации - прокладка в виде браузера.
Кастом интрефейс предполагает что скрипт будет продаваться либо писаться на заказ. Настройки запуска и прогресс в отдельном браузере для продакшн-скрипта уж совсем не камильфо. Может как вариант запускать свой браузер, с обрезанным юи самого браузера?
-
@olegtut said in Конструктор интерфейса.:
Я думаю, люди хотят популяризировать то, что они продают.
@DrPrime said in Конструктор интерфейса.:
Кастом интрефейс предполагает что скрипт будет продаваться либо писаться на заказ.
Да, я с такой целью я и делаю этот апдейт. Он позволит сделать то, о чем многие пользователи просили: полностью изменить внешний вид бота и сделать его не похожим на остальные скрипты. Конечно это нужно для продажи. Самому можно запустить стандартный и не париться.
Если подвести итог, я услышал 2 проблемы(если есть еще, то сейчас самое время о них написать):
- Дополнительная нагрузка на систему.
- Непривычный для пользователя запуск браузера.
По 1 пункту, да, это неприятно, но я не считаю это фатальным недостатком, потому что интерфейс можно будет запустить с другого устройства.
По 2 пункту, если я сделаю настройку в личном кабинете, которая будет запускать бот во встроенном браузере, это решит проблему?
Выглядит это так:
Разработчик компилирует скрипт(при этом задает иконку).
В своем личном кабинете выставляет настройку, что бот работает в режиме хтмл интерфейса, со встроенным браузером и редактирует интерфейс бота.
Размещает где-то архив или помещает скрипт в магазин.
Пользователи скачивают архив.
Запускают exe.
Запускается встроенный браузер, а в нем точно такой же интерфейс как в шапке этой темы. Сам интерфейс меняться не будет, только место, где он запускается.Выглядит примерно так:
При этом разработчик может менять интерфейс через личный кабинет и все пользователи получат изменения при следующем запуске.
Такой вариант устроит?
Если есть какие-то возражения, пожалуйста, напишите.
Очень не хочется переделывать.
-
@support said in Конструктор интерфейса.:
По 2 пункту, если я сделаю настройку в личном кабинете, которая будет запускать бот во встроенном браузере, это решит проблему?
я думаю да так будет проще и лучше чтоб клиенты не могли смотреть и изменять html код если будет запускаться в обычном браузере у клиентов будет такая возможность подождем остальных что скажут как будет им удобно=)
-
@support Да, отлично.
Хочу сразу добавить, что бы добавили возможность задать размер окна этого браузера при старте.
-
@GamiD Об скрытии кода страницы я ничего не говорил.
Есть снифферы, подмена системных сертификатов, отладчики и декомпиляторы сишного кода, деобфускаторы js.
Это отдельная задача и я не могу гарантировать что код интерфейса не смогут увидеть клиенты.
Если вы только о функции посмотреть код, то это будет.
-
@DrPrime said in Конструктор интерфейса.:
Хочу сразу добавить, что бы добавили возможность задать размер окна этого браузера при старте.
Ну можно и такое сделать, но зачем? Имо интерфейс должен смотреться хорошо на всех разрешениях, и именно так работает сгенерированный интерфейс и под это заточен конструтктор.
-
@support said in Конструктор интерфейса.:
@GamiD Можете подробнее описать как бы это выглядело, и в чем преимущества перед текущей версией или недостатки текущей реализации(ну думаю понятно о чем я)?
Я понимаю вы, но как вы знаете о всех остальных пользователях?
Я написал о своих планах больше года назад(посмотрите шапку прикрепленной темы http://community.bablosoft.com/topic/957/обновлено-планы-по-выходу-новых-версий). Если все хотели другого, почему никто не остановил меня и не сказал об этом?
Вот в этой теме тоже упоминание, не нашел возражений(может что-то пропустил)?
Отношусь к тем самым (всем остальным пользователям).
Я например попал сюда(недавно) по совету и только из-за интерфейса. Пользуюсь зенкой достаточно давно,скрипты на продажу от оболочки зенки не отделимы там все явно и понятно что это зенопостер. Тут отдельный екзешник что уже хорошо и надеялся что интерфейс его самого поменять под нужду и бренд готов,а тут браузер. И у кого у нас есть браузер ? Только в Бас.
Я сейчас не пытаюсь негативить и обгадить идею. Браузер хорошо и нужно ! Поставить на сервер вообще песня. Только не везде и не всегда пригодится. Мне к примеру больше нравится когда прога имеет вид именно проги где все нужные настройки в ней самой. Добавить к существующему екзешнику выбор иконки + картинку на фон с лого и возможность воткнуть ссылку на сайт этого бы вполне хватило для начала. Ну и возможность выбора или браузер или как выше описано.
Клиенту не нужно знать в чем создана прога, как он будеть платить 100 200 300$ за прогу если сама оболочка стоит 80 ? логичный вопрос ... а они полезут с популярностью бас я уверен. А так не знает и спится лучше и платит спокойно.
Сейчас вот уже не уверен нужно оно мне в таком виде или нет, есть зенка ее все знают и берут молча, хотелось делать без привязки к бренду зенопостер или бас или что-то еще. Но это нужно писать все свое с нуля,а с этим затык в знаниях,проще в оболочке по заготовках и накатаному пути.
Что бы я хотел видеть(вернее надеялся) в Бас реализовано в DevelNext
-
А будут в этой версии какие-то фиксы/дополнения к МЛА? про Mimic driver missing в курсе.
-
Обратите внимание, что я уже согласился сделать встроенный браузер. Таким образом по внешнему виду очень тяжело будет определить, что скрипт написан на БАС. https://community.bablosoft.com/post/29160
И у кого у нас есть браузер ? Только в Бас.
Честно говоря, я удивлен. Вот несколько примеров из того, чем сам пользуюсь: Botsapp, atom, skype частично, Vivaldi, Visual Studio Code, WhatsApp, вот еще около 500: https://electronjs.org/apps
И я вижу все больше таких проектов в последнее время.
Все они используют браузер. Но мне они нравятся и я продолжаю их использовать.
Вот возьмем 2 мессанджера telegram и whatsup, первый использует Qt, второй браузер для отображения интерфейса, и большинство пользователей об этом не задумываются.
Мне к примеру больше нравится когда прога имеет вид именно проги
В новой версии интерфейс не ограничен ни чем.
Если хотите, можете найти css под старые кнопки в вин 95, где-то видел такой.где все нужные настройки в ней самой.
В новой версии, как и в старой все настройки хранятся в ней файле actual.xml рядом с exe.
Если вы про то, что разработчику интерфейс нужно заливать на сервер, то я уверен, что вы будете считать это лучшей фишкой БАС, когда понадобиться установить критичный патч сразу всем пользователям, и пользователей больше 1000.
Со стандартным подходом у вас будет у каждого пользователя будет разная версия софта, со своими багами.Добавить к существующему екзешнику выбор иконки + картинку на фон с лого и возможность воткнуть ссылку на сайт этого бы вполне хватило для начала.
Этого бы хватило далеко не всем, например, несколько раз просили поместить весь интерфейс на одну панель. Теперь это можно сделать.
Кроме того, я вижу некоторое противоречие, если оставить только минимальные изменения, не будет ли это выдавать что скрипт сделан на БАС?Клиенту не нужно знать в чем создана прога, как он будеть платить 100 200 300$ за прогу если сама оболочка стоит 80 ? логичный вопрос ... а они полезут с популярностью бас я уверен. А так не знает и спится лучше и платит спокойно.
Это как раз и будет в следующей версии. Кажется, по умному называется whitelabel. Скрипты написанные на БАС не будут выдавать то, что они написаны на БАС.
Во вторых, утверждение, что пользователь не будет платить за скрипт, если он написан в какой-то среде достаточно спорное.
Ведь платят за скрипты на ЗП, и на питоне, и на ubot, хоть цены у всех сред разные.Сейчас вот уже не уверен нужно оно мне в таком виде или нет
Если не хотите использовать БАС, то я не заставляю. Никаких проблем.
Что бы я хотел видеть(вернее надеялся) в Бас реализовано в DevelNext
DevelNext использует JavaFx, БАС будет использовать web и Qt со следующей версии , сейчас использует только Qt. Я не эксперт по JavaFx, но уверен, что по количеству компонентов, web как минимум не уступает.
Это уже предпочтения, какую именно технологию использовать. Я пытаюсь придерживаться такого подхода - где это возможно пользователь должен иметь визуальные компоненты для создания приложений, где это не возможно(как логика в интерфейсе) язык должен быть один.
Вы представляете что бы было, если бы встраиваемый язык был c#, интерфейс на java, а скрипты на БАС в javascript.Еще вы прикрепили картинку, точно такую же я сделал в новом конструкторе за две с половиной минуты.
Прошу оценить видео https://www.youtube.com/watch?v=oiq05KyRaYc
Там немного еще поиграть со стилями и будет точно как у вас.Буду рад если вы расскажите чего вам не хватает в версии, которая скоро выйдет.
Только не говорите, про то что пользователи будут знать, что скрипт сделан на БАС, потому что они об этом знать не будут.
-
@MoeMope Да, будут, мы надеемся выпустить финальную версию интеграции очень скоро. В следующей надеюсь будут исправлено несколько ошибок. Ошибка с портами, mimic driver is missing, и еще что-то, сейчас не могу вспомнить все детали.
-
@support
В любом случае судя по видео это лучше чем зенка в плане того что можно все абсолютно под себя сделать.
Ну то что это браузер надо будет привыкать.
Пока понятно то что это не то что ожидалось, с другой стороны ожидания и реальность часто несовместимы потому так тяжело принимается этот факт.
В общем хорошо это или плохо - не знаю, время покажет.
Повторюсь я тут пишу личное мнение, не имею на уме потролить ой как все плохо... не плохо! Обман надежд это не плохо это не то чего ожидал и все. Практика решает,поюзаем освоимся и привыкнем к браузеру или не привыкнем со временем будет видно.
-
@support Думаю решение с встроенным браузером вполне устроет и как вы правильно заметили куча софта которым все пользуются работает на html и многие, и я даже думаю из числа тех кто пишит на БАС не подозревают об этом. Единственное это в будущем надо подтереть хвосты на бас и bablosoft ^). А в целях продвижения лучше придумать рефералку.
-
Ну то что это браузер надо будет привыкать.
Предлагаю поставить текстовый редактор atom, сколько вам понадобиться времени, чтобы к нему привыкнуть?
Мне хватило буквально 10 минут, хотя я точно знаю, что его интерфейс отображается с помощью браузера, а интерфейс других текстовых редакторов - нет. Другие редакторы - это sublime и notepad++
Даже если вы о редакторе интерфейса, тот что на видео принципиально не отличается от DevelNext, те же компоненты перетаскиваются на форму, те же события, свойства опять же, похожи. Разные только языки и используемые фреймворки.Пока понятно то что это не то что ожидалось
Очень странно, что люди ожидали что-то другое, когда я уже во многих постах говорил, что будет вариант с реализацией скрипта через хтмл, запуском в браузере и конструктором интерфейса.
Вот ссылки на посты и текст.
Возможность полностью менять интерфейс скомпилированного скрипта с помощью конструктора html(только для подписчиков BASPremium).
https://community.bablosoft.com/post/5958Что-то такое будет когда переведу интерфейс на html
https://community.bablosoft.com/post/18160Да, абсолютно все можно будет сверстать на хтмл.
https://community.bablosoft.com/post/17271Компилировать скрипт и запускать его без БАС можно уже сейчас. Появится возможность работать с БАС из браузера.
https://community.bablosoft.com/post/14180Обман надежд
Выше ссылки на мои сообщения, где тут обман, я сделал ровно то, что и обещал. Обман может быть только со сроками.
Также я не очень понял, чего именно вам не хватает в новом функционале. Я у вас спросил, но так и не понял что именно не так. Буду еще смотреть эту тему 2 дня и параллельно писать части кода, которые точно менять не нужно будет. Так, что если захотите написать о желаемых вами изменениях в течении этого времени, я постараюсь их учесть.
-
Думаю решение с встроенным браузером вполне устроет
Тоже согласен. Я уверен, что в новых версиях можно будет создавать действительно презентабельных ботов, которые смотрятся очень солидно.
Единственное это в будущем надо подтереть хвосты на бас и bablosoft ^).
Да, я понимаю.
в целях продвижения лучше придумать рефералку.
Она есть, но секретная)