Ресурсы и форма модуля
Ресурсы {{name}} в Конструкторе модулей Multogram — поля формы настроек модуля: типы полей, обязательные поля, группы в менеджере макета, условия видимости, переводы, тестовые значения и поле выбора аккаунтов.
Ресурс — настройка, которую пользователь модуля задаёт перед запуском: чат, текст, задержка, файл
со списком целей. Из ресурсов автоматически строится форма модуля — её пользователь видит в окне
новой задачи, — а сценарий читает значения как {{name}}.
Ресурс или переменная?
Ресурс — то, что пользователь выбирает перед запуском. Переменная — то, что сценарий вычисляет сам. Не делайте ресурсом значение, которое пользователю менять не нужно.
Панель ресурсов
Панель справа показывает ресурсы модуля: имя, тип, текущее значение и описание.
| Элемент | Что делает |
|---|---|
| Поиск | Найти ресурс по имени |
| Добавить ресурс | Создать поле формы |
| Менеджер макета | Разложить поля по группам и колонкам |
| Задать значения | Значения для тестов |
У каждого ресурса — кнопки изменения и удаления. Кнопка Предпросмотр в верхней панели показывает форму так, как её увидит пользователь.
Поле выбора аккаунтов
Ресурс accounts создаётся в каждом новом модуле сам: это выбор аккаунтов из базы Multogram. Он защищён — его нельзя изменить или удалить, — и в форме модуля подписан Аккаунты.
Сценарий получает выбранные аккаунты списком. Каждый элемент — аккаунт с полями:
| Поле | Что в нём |
|---|---|
phone | Номер телефона аккаунта |
session_path | Путь к файлу сессии .session |
data_path | Путь к файлу данных .json |
proxy | Прокси аккаунта: type, host, port, username, password и url — строка вида socks5://user:pass@host:port. Если прокси нет — null |
Поля прокси подставляют в действия, где прокси задаётся по частям: [[account]].proxy.host,
[[account]].proxy.port. Так это делают Start Session в функции AuthSession и
Установить прокси модуля TLS Клиент. Как раздать аккаунты по потокам — в разделе
Потоки и аккаунты.
Создание ресурса
| Поле | Что указать |
|---|---|
| Название | Имя для сценария: латинские буквы и цифры, {{chat}} |
| Заголовок | Подпись поля в форме и её переводы |
| Описание | Пояснение под полем |
| Тип | Вид поля — см. таблицу ниже |
Остальные разделы окна зависят от типа: Внешний вид, Варианты, Ограничения (минимум, максимум, длина), Значение и поведение (значение по умолчанию, обязательное поле), Подсказка, Видимость и Обработка значения.
Типы полей
| Тип | Для чего | Варианты вида |
|---|---|---|
| Строка | Текст, ссылка, @username | Однострочное и многострочное поле, теги (список значений), генератор случайной строки по шаблону |
| Число | Задержка, лимит, количество | Поле, ползунок, диапазон «от — до» |
| Выбор пути | Файл или папка на диске | Путь к файлу, путь к папке, содержимое файла (текст файла попадает в значение) |
| Список флажков | Несколько вариантов — или переключатель «вкл/выкл» | Флажки, переключатель, карточки |
| Радио кнопки | Один вариант, все видны сразу | Кнопки, карточки |
| Список выбора | Один вариант из выпадающего списка | Список, карточки |
| Дата/Время | Дата, время, период | Дата, время, дата и время, диапазон дат |
| Цвет | Цвет | HEX или RGB, с прозрачностью |
| Эмодзи | Реакция, эмодзи для текста | Ограничение числа и набора |
Выбирайте тип по смыслу
«Удалять сообщение после отправки» — Список флажков в виде переключателя, а не строка «да/нет». Задержка «от и до» — Число в виде диапазона. Тогда форма понятна, а значение однозначно.
Значения в сценарии
{{name}} подставляет значение ресурса в любое поле действия, так же как [[name]] — переменную.
| Значение | Как читать |
|---|---|
| Простое: текст, число | {{message}}, {{delay}} |
| Диапазон | {{delay}}.min и {{delay}}.max |
| Список: флажки, теги, строки файла | Целиком — в цикл FOREACH ({{targets}}), по одному — действием Получить значение ресурса с параметром Взять элемент списка |
Чтобы разобрать сложное значение, сохраните его в переменную или используйте модуль JSON.
Группы и раскладка
Менеджер макета раскладывает поля по группам: колонка, строка или сетка, с заголовком или без, сворачиваемая группа для редких настроек. Справа — живой предпросмотр формы.
Группы стоит заводить, когда полей больше пяти-шести и они делятся на темы: «Цели», «Тексты», «Задержки».
Видимость по условию
В разделе Видимость полю задают условие: показывать его, только когда другое поле имеет нужное значение. Например, поле «Текст ответа» видно, только если включён переключатель «Отвечать на сообщения». Условий может быть несколько: Все условия (И) или Любое из условий (ИЛИ).
Переводы
Заголовок — подпись поля в форме. Кнопка Управление переводами рядом с ним задаёт текст для языков Multogram: английского, русского, украинского, китайского и хинди. Так же переводятся описания, подсказки и варианты выбора. Если перевода нет, показывается английский.
Значения для тестов
Задать значения открывает все ресурсы с текущими значениями — задайте здесь данные для тестов. Для accounts укажите тестовые строки: пути к файлам тестового аккаунта.
Значения не сохраняются в проекте
В проект попадает описание ресурса и его значение по умолчанию, но не текущее значение. После повторного открытия проекта тестовые значения задайте заново.
Ресурсы во время работы
Модуль Ресурсы читает и меняет ресурсы прямо во время работы: Получить значение ресурса (целиком или по одному элементу списка), Установить значение ресурса (заменить или добавить элемент в список), Создать ресурс, Удалить ресурс, Получить все ресурсы.
Обновлено
Функции
Функции в Конструкторе модулей Multogram: главная функция Main, свои функции с параметрами и возвращаемым значением, вызов через «Вызвать функцию», папки и менеджер функций.
Потоки и аккаунты
Как модуль Multogram работает в несколько потоков: что такое поток, как раздать аккаунты потокам без повторов, когда задача модуля заканчивается, общие и локальные данные, журнал и статистика задачи, параллельный запуск функций.