МОДУЛЬ «TELEGRAM»

Модуль «Telegram» позволяет использовать мессенджер Telegram в роботах – с помощью него можно считывать и отправлять сообщения, вложения с помощью telegram-бота.

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

Основные моменты модуля

Интерфейс модуля состоит из блока настроек, области добавления команды, таблицы со списком команд и кнопок «Сохранить»/«Отмена».

Рис. 1. Окно модуля «Telegram»

Настройка модуля

Блок настроек состоит из одного поля – «Токен бота». В данное поле должен быть введен токен telegram-бота, который выдается при его регистрации.

Функциональность модуля

Создание команды

Команда создается следующим образом – выбирается необходимое действие, заполняются остальные поля – нажимается кнопка «Добавить», по которой команда добавляется в «Список команд».

Редактирование команды

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

Удаление команды

Для удаления команды необходимо выбрать её в списке команд и нажать на кнопку «Удалить».

Отключение/включение команды

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

Рис. 2. Контекстное меню команды

Выбор файла/папки

Кнопка в поле «Вложения» открывает стандартный диалог выбора файла.

Изменение порядка действий

Для изменения порядка действий предусмотрены кнопки «Поднять» и «Опустить». Кнопки расположены справа сверху от списка команд.

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

Сохранение и выход

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

Рис. 3. Кнопка «Сохранить»

Описание действий

Отправить сообщение

Данное действие позволяет отправить сообщение пользователю или в чат.

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

Чтобы отправить несколько вложений, необходимо разделить путь до каждого вложения символом «;». Каждое вложение будет отправлено отдельным сообщением. Если при этом текст сообщения так же заполнен, то каждое вложение будет отправлено с этим текстом сообщения. Если нужно отправить и текст, и несколько вложений, лучше разделить это на две отдельные команды – отправку вложений и отправку текста.

Рис. 4. Пример заполнения действия «Отправить сообщение»

Получить список всех диалогов

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

Переменная будет являться массивом объектов с полями: Message, Date, From, ChatId и ChatName. Поле From – объект с полями id, first_name, username и language_code, в которых хранится информация о пользователе, который отправил сообщение. Id из From равно ChatId, второе было добавлено для использования меньшей вложенности.

Если сообщение взято из диалога с пользователем, то заполняется поле ChatId, которое в последствии может использоваться для отправки ему сообщения. Если сообщение взято из чата/группы, то заполняется поле ChatName, по которому необходимо обращаться, чтобы отправить туда сообщение.

Рис. 5. Пример заполнения действия «Получить список всех диалогов»

Результат заполнения переменной представлен на следующем рисунке.

Рис. 6. Пример заполнения переменной в результате выполнения действия «Получить список всех диалогов»