AppMaster.io Blog Ru

Модуль Telegram: создание чат-бота и канала, минимальные настройки компонентов

Модуль Telegram позволяет вам управлять телеграм-ботом. Сейчас он добавляет блок бизнес-процесса Send Message, добавляющий функцию отправки сообщений в телеграм-каналы.
Для работы модуля вам не нужно специально программировать бота. Достаточно просто создать его, добавить в телеграм-канал и правильно настроить компоненты Appmaster Studio.


Создать бота


Используем, простите за тавтологию, бота для управления ботами — BotFather от Telegram. 

Введите в поле поиска юзернейм «botfather» — скорее всего, он будет первым в списке (1). Обратите внимание, что у официального бота есть голубой подтверждающий значок с галочкой возле имени (2). Ниже в поиске выйдет множество других, с такими же названиями и похожими юзернеймами — просто игнорируйте их, они вам не нужны.


Кликните на бота, чтобы открыть чат с ним (1), и нажмите Start (2).


После этого бот запустится и выведет в сообщении список команд. Чтобы создать нового бота, последовательно введите: 
  • команду /newbot (1);
  • название вашего бота, оно может быть любым (2);
  • уникальный юзернейм, по которому его можно легко найти (3).
Бот создан. BotFather сообщит вам об этом, в сообщении укажет юзернейм (4) и токен авторизации (5). 


Токен нужен для подключения к различным сервисам и программам — именно по нему Telegram будет идентифицировать вашего бота и определять, какие у него есть разрешения. 


Не сообщайте токен авторизации бота посторонним и не выкладывайте в публичный доступ. Если токен был рассекречен, вы можете отозвать его (команда /revoke) и сгенерировать новый (команда /token).


Для интеграции с Appmaster.io вам осталось только добавить бота в телеграм-канал. Но вы можете настроить его, чтобы добавить дополнительные функции. Больше информации о том, что такое бот, что он умеет делать и как его настроить — на официальном сайте Telegram. Там есть как общая информация, так и инструкции для разработчиков.


Создать телеграм-канал


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


Введите название канала, если хотите — добавьте описание (1). Нажмите Create (2). 


Выберите, будет ваш канал публичным — public или закрытым — private (1). Введите уникальную ссылку, по которой его можно будет найти (2). Сохраните изменения (3).



Добавить бота в канал


Сразу после создания канала Telegram предложит добавить в него новых пользователей. Начните вводить юзернейм вашего бота — он отобразится в поиске (1). Кликните по нему (2).


Ваш бот отобразится в списке пользователей на добавление (1). Нажмите Add, чтобы закончить настройку (2).


Всплывет сообщение, что боты могут быть добавлены в каналы только как администраторы. Согласитесь сделать бота администратором, нажав Make Admin.


Теперь выберите разрешения на управление каналом, которые хотите дать вашему боту. Выберите на свое усмотрение, но обязательно разрешите боту отправлять сообщения, включив селектор Post messages (1). Нажмите Save (2).


Вы можете добавить бота и после создания канала. Чтобы добавить бота в уже созданный канал, откройте настройки (1) и нажмите Add Users (2). Дальше — те же действия, что и в предыдущем пункте.



Найти данные для настройки


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

Узнать токен бота можно у BotFather: введите команду /mybots, чтобы получить список всех ваших ботов(1) и выберите нужного. Появится меню, выберите в нем пункт API token (2). BotFather отправит вам сообщение с токеном.



Адрес канала есть в общей информации о нем — Channel Info. Чтобы открыть окно с информацией, зайдите в настройки или просто кликните по названию канала.


Отлично, теперь вы готовы подключать бота в ваше приложение. Переходите в Appmaster Studio.


Настроить Appmaster Studio

Установите модуль Telegram. Подробнее о том, что такое модули и как их подключить — тут.


В настройках модуля укажите токен вашего бота (1) и сохраните изменения (2).


Перейдите в дизайнер Busines Logic (1) создайте новый бизнес-процесс (2). Подробнее о бизнес-логике читайте в этом разделе Документов.


Включите в бизнес-процесс блок Send Message, который добавляет модуль Telegram (1). Обратите внимание, в блок Start нужно создать две переменные типа string (первая — адрес канала, вторая — текст вашего сообщения) и подключить их к переменным блока Send Message (2,3). Это нужно, чтобы сделать форму отправки сообщения. Не забудьте сохранить схему (4).


На вкладке Endpoints (1) добавьте новый эндпоинт (2). Введите имя и группу, в которой он будет отображаться (3). Установите тип запроса POST (4). В поле Business Process выберите только что созданный вами бизнес-процесс (5).

Читать подобнее об эндпоинтах.


На вкладке Middleware разрешите доступ к эндпоинту только администраторам — чтобы обычные пользователи не могли отправлять сообщения через бота.


В дизайнере Web Apps (1), откройте ваше приложение и перейдите на страницу, с которой администраторы будут отправлять сообщения в Telegram (2). Создайте на ней форму для отправки сообщения, перетащив элемент Form на выбранную область страницы (3).

Больше информации о дизайнере Web Apps можно найти здесь.


При создании формы выберите тип записи Create Record (1) и созданный вами эндпоинт (2).


Добавьте кнопку для отправки сообщений в поле под формой.


Введите название, которое будет отображаться на кнопке (1) и уникальное имя, по которому вы будете искать ее в настройках (2). По желанию — измените ее дизайн.


На вкладке Triggers (1) добавьте action — действие для триггера onClick — по клику (2).


Откроется окно настроек. Укажите в поле Target component созданную вами форму (1) и выберите для нее действие Submit form (2). 


Теперь сохраните все изменения (1) и опубликуйте проект (2). Нажмите на кнопку перехода к опубликованному веб-приложению (3). 


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



Откройте страницу отправки через бота, введите текст сообщения и название своего канала.


Убедитесь, что все работает — ваше сообщение должно появиться в Telegram.


Пишите в чат нашего RU комьюнити, если у вас возникли вопросы — мы будем рады на них ответить!

Подписывайтесь на нас в мессенджерах и соцсетях, чтобы не пропускать важное и интересное! RU версии наших ресурсов: