МОДУЛЬ «TELEGRAM»

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

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

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

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

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

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

Блок настроек состоит из двух полей и кнопки. Данный модуль отвечает за авторизацию в мессенджере.

В поле «Номер телефона» должен быть введен номер телефона, на котором зарегистрирован аккаунт. Номер должен начинаться с кода страны, неважно, в каком формате (например, «8», «+7» или просто «7»). Если необходимо войти под учетной записью telegram-бота, то в это поле вписывается его токен, который выдается telegram’ом при его регистрации.

После заполнения номера телефона (если это не бот), требуется нажать кнопку «Запросить код». В этот момент по этому номеру телефона в telegram придет код подтверждения авторизации, как если бы вы входили с другого устройства. Этот код необходимо ввести в поле «Код авторизации».

Обратите внимание, что после того, как вы ввели код авторизации в поле, вы еще не авторизовались в telegram. Авторизация произойдет в момент запуска робота. В этот момент в telegram поступит сообщение, что был совершен вход в аккаунт. Если вы ввели код, а затем сохранили проект и вышли, при следующем входе и запуске робота велика вероятность того, что код авторизации уже не действителен, так как у него есть свой срок действия (несколько минут). То есть, если вы решили подключить telegram, то перед сохранением проекта, запустите его хотя бы на одном тестовом действии (считать сообщение или отправить его своему знакомому).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Переменная будет являться массивом объектов с полями: Username, FirstName, LastName и Phone, которые будут заполняться соответствующими полями из профиля Telegram текущего диалога.

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

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

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

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

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

Переменная будет являться массивом объектов с полями: Id и Title. По любому из этих параметров затем можно отправлять сообщения в чат или канал (если авторизованный пользователь имеет соответствующие права).

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

Получить список чатов с непрочитанными сообщениями

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

Переменная будет являться массивом объектов с полями: Name и UnreadCount, Name будет содержать название чата, UnreadCount – количество непрочитанных сообщений в чате.

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

Получить непрочитанные сообщения от пользователя

С помощью этого действия можно получить список всех непрочитанных сообщений от определенного пользователя. Для настройки действия необходимо заполнить поле «Пользователь» (username/телефон пользователя), из диалога с которым нужно получить непрочитанные сообщения, и поле «Переменная», в которую запишется результат действия.

Переменная будет являться массивом объектов с полями: Massge и Date, где в поле Message лежит текст сообщения, в Date дата и время в формате дд.мм.гггг ч.мм.сс.

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