Первый модуль
Пошаговый пример в Конструкторе модулей Multogram: модуль, который с каждого выбранного аккаунта отправляет сообщение в чат. Шаблон нового модуля (Main, ProcessAccount, AuthSession), поля настроек, тест и сборка .agm.
Соберём модуль «Сообщение в чат»: пользователь выбирает аккаунты, указывает чат и текст, а модуль с каждого аккаунта отправляет это сообщение. Большую часть работы уже делает шаблон нового модуля — останется добавить поля и одно действие.
Шаблон нового модуля
Нажмите Создать модуль на вкладке Конструктор модулей. Конструктор откроется не с пустого листа, а с готовым каркасом модуля, который работает с аккаунтами:
| Элемент | Что делает |
|---|---|
| Ресурс accounts | Поле Аккаунты в форме модуля: выбор аккаунтов из базы Multogram. Его нельзя изменить или удалить |
| Функция Main | Раздаёт аккаунты потокам: каждый поток забирает из списка следующий аккаунт и передаёт его в ProcessAccount, пока аккаунты не кончатся. Ошибка на одном аккаунте попадает в журнал, а поток переходит к следующему |
| Функция ProcessAccount | Работа с одним аккаунтом: вход через AuthSession, затем ваши действия в ветке THEN, в конце — Destroy Session. Если войти не удалось — строка в журнале в ветке ELSE |
| Функция AuthSession | Входит в аккаунт по его файлам .session и .json, через прокси аккаунта, если он есть. Возвращает true или false |
Каждый аккаунт приходит в сценарий как объект [[account]] с полями phone, session_path,
data_path и proxy — см. Поле выбора аккаунтов.
1. Добавьте поля настроек
В панели Ресурсы нажмите Добавить ресурс и создайте два ресурса:
| Название | Заголовок | Тип | Что ввести |
|---|---|---|---|
chat | Чат | Строка | Куда писать: @username, ссылка t.me/… или ID |
message | Текст сообщения | Строка, многострочное поле | Что отправить |
Название — имя для сценария, Заголовок — подпись поля в форме модуля. Отметьте оба поля обязательными: без них модуль не запустится. Подробнее — в разделе Ресурсы и форма модуля.
2. Добавьте действие
Откройте функцию ProcessAccount и перетащите в ветку THEN, перед Destroy Session, действие Send Message из модуля Telegram:
- Target —
{{chat}}; - Message —
{{message}}.
Готовая функция:
Вызвать функцию AuthSession ([[account]].session_path, [[account]].data_path, [[account]].proxy) → [[authorized]]
IF [[authorized]] == true
THEN Добавить лог «[[account]].phone: вход выполнен»
Send Message Target: {{chat}} · Message: {{message}}
Destroy Session
ELSE Добавить лог «[[account]].phone: не удалось войти»Раздачей аккаунтов, ошибками и завершением работы занимается Main — его менять не нужно.
Если действие серое
Действия Telegram относятся к режимам Multogram: Send Message — к режиму «Рассылка». Если у вашего аккаунта нет нужного режима, действие показано серым, а подсказка называет режим. Готовый модуль потребует эти режимы и у каждого, кто его запустит, — см. Требования.
3. Проверьте
Задайте тестовые значения. На панели Ресурсы нажмите Задать значения и заполните chat,
message и тестовые строки для accounts — пути к файлам тестового аккаунта.
Запустите тест. Откройте Main и нажмите Полный тест внизу полотна (F6). Выполненные действия подсветятся, журнал — в Инспекторе на вкладке Логи.
Тест работает по-настоящему
Сообщения действительно отправляются. Проверяйте на тестовом аккаунте и своём тестовом чате.
4. Сохраните и соберите
- Сохраните проект — Ctrl+S. Проект
.agmpпоявится в Недавних модулях на вкладке Конструктор модулей. - Нажмите Собрать модуль (молоток в верхней панели), впишите Название, Версию и Описание и нажмите Собрать модуль.
- Выберите, куда сохранить файл
.agm, и установите его на вкладке Модули.
При запуске пользователь увидит форму из трёх полей — Аккаунты, Чат, Текст сообщения — и выберет число потоков. Задача закончится сама, когда потоки обработают все выбранные аккаунты. Подробнее о сборке — в разделе Сохранение и сборка.
Обновлено
Конструктор модулей
Руководство по Конструктору модулей Multogram: как собрать собственный модуль автоматизации Telegram — сценарий из готовых действий, форма настроек из ресурсов, тест и сборка в файл .agm. Устройство модуля, ключевые понятия и порядок работы.
Окно конструктора
Окно Конструктора модулей Multogram: панель действий, полотно сценария, верхняя панель инструментов, ресурсы, тесты, инспектор, ИИ-ассистент, горячие клавиши и настройки.