Обновлено:

Как создать первый скрипт в Afina#

В этом гайде вы создадите первый скрипт в Afina, откроете визуальный конструктор, добавите базовые блоки и проверите выполнение через логи. Раздел «Скрипты» также позволяет назначать горячие клавиши, добавлять скрипты в избранное, группировать их через теги и фильтры и запускать готовую логику на выбранном аккаунте.

Перед началом#

  • Убедитесь, что у вас есть хотя бы один аккаунт для тестового запуска скрипта.
  • Для первого знакомства используйте простой тестовый скрипт, а не боевой сценарий.

Для первого запуска лучше использовать Обычный режим, чтобы видеть браузер и сразу понимать, на каком шаге выполняется сценарий.

Создание скрипта#

  1. Перейдите в раздел Автоматизация.

  2. Откройте вкладку «Скрипты».

  3. Нажмите Создать скрипт.

  4. В поле «Название» введите название скрипта, например test script. Название обязательно и должно содержать от 3 до 25 символов.

  5. Включите чекбокс «Закрыть вкладки», если после завершения сценария нужно автоматически закрывать вкладки.

  6. Включите чекбокс «Закрывать браузер», если после завершения сценария нужно автоматически закрывать браузер.

  7. В блоке режима запуска выберите «Обычный режим», если создаете первый тестовый скрипт.

  8. В поле «Теги» добавьте теги, если хотите сгруппировать скрипт для дальнейшей фильтрации.

  9. В поле «Дополнительные аргументы запуска» введите параметры только при необходимости. Это поле используется для Chromium-аргументов, поэтому не добавляйте туда случайные значения.

  10. Нажмите Создать.

На скриншоте ниже показана страница «Скрипты» с кнопкой создания и окно «Добавление скрипта» с базовыми полями.

Раздел Скрипты с кнопкой Создать скрипт и открытым окном Добавление скрипта

Режимы запуска

«Обычный режим» используйте тогда, когда нужно видеть браузер и визуально контролировать действия скрипта.

«Фоновый режим» подходит для сценариев, где браузер не должен занимать место на экране, но логика все равно выполняется через браузер. Это удобно для простых сценариев и часто дает меньшую нагрузку на систему, но попапы и кошельки в нем работают менее стабильно.

«Без браузера» используйте только для сценариев, где не требуется визуальное взаимодействие с браузером. Такой режим подходит для обработки данных, вычислений или отдельных on-chain действий без открытия окна браузера.

Фоновый режим удобен для простых сценариев, но попапы и кошельки в нем часто работают нестабильно. Режим Без браузера используйте только для сценариев, где не требуется визуальное взаимодействие с браузером.

Некорректные дополнительные аргументы запуска могут нарушить стабильность работы браузера. Заполняйте это поле только тогда, когда точно понимаете, какой Chromium-параметр нужен вашему сценарию.

Горячие клавиши и избранное#

  1. Найдите созданный скрипт в таблице.

  2. Нажмите иконку Привязка клавиш в строке скрипта, если хотите запускать его быстрой комбинацией.

На скриншоте ниже показано, где именно находится иконка привязки клавиш в списке скриптов.

Список скриптов с выделенной иконкой привязки клавиш в карточке скрипта
  1. В окне «Тест привязки клавиш» нажмите нужную комбинацию клавиш.

  2. Нажмите Сохранить.

На следующем скриншоте показано окно привязки клавиш с выбранной комбинацией и кнопкой сохранения.

Окно Тест привязки клавиш с выбранной комбинацией и кнопкой Сохранить

Горячая клавиша нужна для быстрого ручного запуска скрипта на уже открытом аккаунте без возврата в список скриптов.

Если горячая клавиша не назначается, скорее всего, эта комбинация уже занята. Выберите другую комбинацию и сохраните еще раз.

  1. Нажмите иконку Добавить в избранное в строке скрипта, если хотите быстро находить его через фильтры или запускать в других рабочих сценариях.

На этом скриншоте показана иконка добавления скрипта в избранное.

Список скриптов с выделенной иконкой добавления скрипта в избранное
  1. Нажмите Фильтры и включите чекбокс «Показать только избранные», если хотите быстро найти добавленные в избранное скрипты.

Открытие конструктора#

  1. Нажмите иконку Открыть визуальный конструктор скрипта в строке нужного скрипта.

На скриншоте ниже показана иконка открытия конструктора в списке скриптов.

Карточка скрипта с выделенной иконкой открытия визуального конструктора
  1. Убедитесь, что открылся визуальный конструктор с Панелью компонентов слева, Холстом по центру и нижней панелью запуска.

На следующем скриншоте показаны основные зоны конструктора, с которыми вы будете работать дальше.

Визуальный конструктор скрипта с панелью компонентов холстом и нижней панелью запуска

Новичку важно сначала понять именно эти четыре зоны, а уже потом переходить к сложной логике.

Основные кнопки конструктора#

  1. Найдите в верхней правой части конструктора кнопку Параметры скрипта, если нужно вернуться к базовым настройкам текущего скрипта.

  2. Найдите кнопку Быстрые команды, если нужно посмотреть доступные горячие клавиши конструктора.

  3. Найдите кнопку Настройки, если нужно добавить параметры Input, Select или Checkbox.

  4. Нажмите Сохранить скрипт после изменений на холсте.

  5. Нажимайте Обновить все данные только после сохранения, если нужно перезагрузить скрипт из базы.

На скриншоте ниже показана верхняя правая панель конструктора со служебными кнопками, сохранением и обновлением.

Верхняя правая панель конструктора со служебными кнопками сохранением и обновлением

Что еще есть в верхней правой части В этой зоне также доступны Переключить окно браузера для перехода между открытыми окнами скриптов, Защита от захвата экрана для скрытия конструктора во время записи и Выбрать цвет для визуальной маркировки блоков.

Если вы изменили холст, сначала нажимайте Сохранить скрипт, а уже потом используйте Обновить все данные. Иначе несохраненные изменения будут потеряны.

Быстрые команды конструктора#

Кнопка Быстрые команды показывает основные комбинации клавиш для работы с холстом. Они помогают быстрее редактировать схему без постоянного перехода в меню.

  • Ctrl (Command) + S - сохранить скрипт.
  • Ctrl (Command) + F - найти элемент.
  • Ctrl (Command) + A - выделить все компоненты в рабочей области.
  • Ctrl (Command) + Z - отменить действие.
  • Ctrl (Command) + Y - повторить действие.
  • Ctrl (Command) + C - копировать.
  • Ctrl (Command) + V - вставить.
  • Ctrl (Command) + B - выровнять выбранные компоненты вертикально.
  • Ctrl (Command) + H - выровнять выбранные компоненты горизонтально.
  • Ctrl (Command) + D - равномерно распределить выбранные компоненты по горизонтали и установить одинаковое расстояние между ними.
  • Ctrl (Command) + E - равномерно распределить выбранные компоненты по вертикали и установить одинаковый отступ между ними.

Несколько компонентов можно выделить рамкой мышью или добавлять их к выделению по одному, удерживая Shift и нажимая на нужные блоки.

Добавление блоков#

  1. На Панели компонентов найдите нужный блок.

  2. Перетащите блок на Холст.

  3. Перетащите еще один блок на Холст, если хотите создать простую цепочку действий.

  4. Соедините выход первого блока со следующим блоком.

  5. Нажмите клавишу Delete, если нужно удалить лишний блок.

На скриншоте ниже показана простая цепочка из нескольких соединенных блоков на холсте конструктора.

Холст конструктора с тремя соединенными блоками открытия вкладки перехода на сайт и закрытия вкладки

Для первого скрипта достаточно короткой последовательной цепочки, чтобы понять сам принцип построения схемы.

  1. Наведите курсор на компонент в Панели компонентов.

  2. Нажмите иконку сердца, если хотите добавить блок в избранное для быстрого повторного использования.

На этом скриншоте показано, как добавить блок в избранное на левой панели компонентов.

Панель компонентов с выделенной иконкой добавления блока в Избранное
  1. Включите переключатель «Автоматическое соединение» на нижней панели, если хотите быстрее строить простые последовательные схемы.

На следующем скриншоте показана нижняя панель конструктора с включением «Автоматическое соединение».

Нижняя панель конструктора с кнопкой Автоматическое соединение и сообщением об изменении состояния

Чтобы добавить заметку к блоку, нажмите правой кнопкой мыши на нужном блоке и выберите действие «Редактировать заметку».

Параметры запуска скрипта#

  1. Нажмите иконку Настройки в верхней части конструктора.

  2. Нажмите Input, если хотите добавить текстовый параметр для ручного ввода значения перед запуском.

  3. Нажмите Select, если хотите добавить список с заранее заданными вариантами.

  4. Нажмите Checkbox, если хотите добавить параметр со состояниями 1 или 0.

  5. В поле названия параметра введите название переменной.

  6. В поле значения по умолчанию введите стартовое значение, если оно нужно.

  7. Перетащите параметры мышью, если нужно изменить их порядок в форме запуска.

  8. Нажмите Сохранить.

На скриншоте ниже показано окно «Настройки» с добавлением параметров Input, Select и Checkbox.

Окно Настройки с кнопками добавления Input Select и Checkbox и примерами заполненных полей

Как работают Input, Select и Checkbox Input используйте, когда перед запуском нужно вручную передать произвольное значение в скрипт: ссылку, число, текст или другой параметр. Слева задается название переменной, справа можно указать значение по умолчанию.

Примеры для Input:

  • chatUrl -> https://afina.io/
  • messageText -> Hello
  • messagesCount -> 10

Select используйте, когда нужно заранее дать пользователю несколько вариантов на выбор. В таком параметре вы задаете название переменной, список возможных значений и одно значение по умолчанию.

В параметре Select слева сверху задается название переменной, справа выбирается значение по умолчанию, а внутри формируется список доступных опций.

Примеры для Select:

  • mode = fixed / random
  • network = Arbitrum / Base

Checkbox используйте для простого переключателя со состояниями включено или выключено. Если параметр активен, скрипт получит значение 1, если выключен - 0.

Примеры для Checkbox:

  • useRandom = 1/0
  • debugLogs = 1/0

Такие параметры нужны тогда, когда скрипт должен запускаться с разными значениями без редактирования самой схемы.

Чтобы использовать значение параметра внутри компонентов, обращайтесь к нему как к переменной в формате ${variableName}.

Тестирование скрипта#

  1. Включите переключатель «Пошаговый режим» на нижней панели, если хотите видеть поэтапное выполнение скрипта.

  2. Включите переключатель «Автопрокрутка», если хотите, чтобы холст автоматически переходил к активному блоку во время запуска.

  3. Включите переключатель «Фоновый режим (Headless Mode)» только тогда, когда сценарий не требует видимого окна браузера.

  4. Включите переключатель «Без браузера» только для сценариев, которые не взаимодействуют с браузером.

  5. Включите переключатель «Режим разработчика» только при необходимости, если нужно запускать скрипт без проверки подписи модулей и скриптов. Обычно он нужен во время активного редактирования собственного JS-модуля, когда вы еще не хотите переподписывать его после каждого изменения.

На скриншоте ниже показана нижняя панель конструктора с режимами тестирования, кнопкой запуска и выбором аккаунта.

Нижняя панель конструктора с режимами тестирования зеленой кнопкой запуска и выбранным аккаунтом

Полезные режимы тестирования На нижней панели также полезно учитывать, что «Автоматическое соединение» ускоряет сборку цепочек между блоками, «Фоновый режим (Headless Mode)» запускает сценарий без видимого окна браузера, а «Без браузера» подходит только для логики без браузерного взаимодействия.

Для первой проверки удобнее всего включить «Пошаговый режим» и «Автопрокрутка». Так проще понять, на каком именно блоке выполняется скрипт.

  1. Откройте список аккаунтов в нижнем правом углу конструктора.

  2. Выберите аккаунт, на котором нужно запустить скрипт.

  3. Нажмите Запустить скрипт для данного аккаунта.

На этом скриншоте показана нижняя правая часть конструктора с выбором аккаунта, кнопкой запуска и кнопкой Логи.

Нижняя правая часть конструктора с выбором аккаунта кнопкой запуска и кнопкой Логи

Перед запуском задайте начальный элемент. Для этого нажмите правой кнопкой мыши на нужном блоке и выберите действие «Начальный элемент».

В скрипте должен быть ровно один начальный элемент. Если стартовый блок не задан, сценарий не будет знать, откуда начинать выполнение.

Лимиты и типичные ошибки запуска#

  • Максимальное время выполнения скрипта в одном цикле - 1440 минут, то есть 24 часа. После превышения этого лимита процесс будет принудительно остановлен.
  • Если в блоках действий есть красные ветки ошибки, подключайте их к следующей логике обработки. Иначе при сбое, таймауте или отсутствии элемента скрипт может остановиться или пойти по неверному пути.
  • Если после ручного редактирования файлов модуля появляется ошибка подписи, переподпишите модуль или временно используйте Режим разработчика для тестирования.

Переменные и логи#

  1. Откройте панель «Переменные окружения», если нужно проверить, какие значения реально попали в запуск.

  2. Просмотрите список переменных на панели.

  3. Нажмите кнопку показа значения, если нужно временно открыть скрытые данные.

  4. Нажмите кнопку копирования, если нужно скопировать значение переменной.

На скриншоте ниже показана панель «Переменные окружения» со списком значений, которые используются во время выполнения скрипта.

Открытая панель Переменные окружения со списком переменных кнопками показа значения и копирования

Панель «Переменные окружения» полезна тогда, когда скрипт работает не так, как вы ожидали, и нужно проверить, какие значения реально попали в выполнение.

  1. Нажмите Логи после запуска скрипта.

  2. Нажмите Обновить, если нужно подтянуть новые записи.

  3. Нажмите Загрузить больше, если нужно посмотреть более старые записи.

  4. Нажмите Открыть файл логов, если нужно открыть полный лог отдельно.

На следующем скриншоте показано окно «Просмотр лога» со списком записей выполнения скрипта.

Окно Просмотр лога со списком записей выполнения и кнопкой Открыть файл логов

Для чего нужны логи Через логи удобно проверять, до какого именно блока дошел скрипт, и находить место, где произошла ошибка или остановка выполнения.

Если скрипт отработал не так, как вы ожидали, сначала проверяйте логи, а уже потом редактируйте схему.

Язык логов можно изменить в основных настройках Afina.

Организация схемы#

  1. Размещайте связанные блоки рядом, чтобы логику было проще читать.

  2. Используйте палитру цветов в конструкторе, если хотите визуально разделять части большой схемы.

  3. Не растягивайте холст без необходимости, если один сценарий можно собрать компактнее.

  4. Нажимайте Сохранить скрипт после каждой серии изменений.

  5. Добавляйте повторяющиеся блоки в избранное, если часто используете их в разных сценариях.

Для базового порядка в скриптах этого достаточно: держите связанные части рядом, визуально разделяйте логику цветами и не усложняйте схему раньше, чем это действительно нужно.

Если схема растет и занимает много места, лучше делить логику на понятные части и отдельно продумывать структуру перед дальнейшим расширением.

Удаление скрипта#

  1. Найдите нужный скрипт в таблице.

  2. Нажмите иконку Меню действий в строке скрипта.

  3. Выберите Удалить скрипт.

  4. Нажмите Подтвердить.

На скриншоте ниже показано меню действий скрипта с пунктом Удалить скрипт.

Список скриптов с открытым меню действий в карточке и выбранным пунктом Удалить скрипт

После этого скрипт будет перемещен в корзину скриптов.

  1. Нажмите Фильтры.

  2. Включите чекбокс «Показать только удаленные», если хотите открыть корзину скриптов.

На следующем скриншоте показана страница «Скрипты» с открытыми фильтрами и включенным показом удаленных элементов.

Список скриптов с открытыми Фильтрами и включенной опцией Показать только удаленные
  1. Найдите нужный скрипт в списке удаленных элементов.

  2. Нажмите иконку Меню действий возле этого скрипта.

  3. Выберите Удалить без восстановления.

  4. Нажмите Подтвердить.

После этого скрипт будет удален окончательно.

Если в корзине выполнить окончательное удаление без восстановления, вернуть скрипт уже не получится.

Если удалить папку со скриптами, сами скрипты не удаляются. Они остаются в системе и возвращаются в общий список без этой папки.

Обновление хэша скрипта#

Действие «Обновить хэш» создает новый идентификатор версии скрипта. Используйте его осторожно, особенно если этот скрипт уже подключен к другим сценариям.

Обновление хэша скрипта является необратимым действием. Если этот скрипт используется внутри других скриптов, после обновления хэша его нужно будет заново добавить во все зависимые сценарии.

Экспорт и импорт скриптов#

  1. Перейдите в раздел Автоматизация.

  2. Откройте вкладку «Скрипты».

  3. Отметьте чекбоксами один или несколько скриптов, которые нужно сохранить или передать.

  4. Нажмите Экспорт.

  5. Выберите нужный вариант экспорта.

Экспорт скриптов используйте для резервного копирования, переноса на другое устройство или передачи другому пользователю. Перед запуском экспорта обязательно проверяйте, что нужные скрипты отмечены чекбоксами в таблице.

  1. Нажмите Импорт, если хотите загрузить скрипт обратно в Afina.

  2. Выберите источник импорта.

  3. Выберите скрипт на вашем ПК или из списка, если это импорт из Google Drive.

  4. Нажмите Импортировать после выбора нужного скрипта или архива.

Импорт удобен тогда, когда нужно быстро вернуть ранее сохраненный скрипт в среду Afina или перенести его с другого рабочего места.

Перед экспортом обязательно выберите скрипты в таблице, иначе экспорт не запустится.

Результат#

После выполнения этих шагов у вас будет создан первый скрипт в Afina, настроен базовый запуск, собрана простая схема в конструкторе и понятный способ проверки выполнения через переменные окружения и логи. Вы поймете, что все настроено корректно, если новый скрипт появился в списке «Скрипты», открывается в визуальном конструкторе, запускается на выбранном аккаунте, а в логах отображаются записи выполнения.

Связанные термины глоссария