Работа бота в группах Telegram
- Добавление бота в группу →
- Управление правами бота в группе →
- Поддержка групп в Ботмаме →
- Работа с группами через конструктор →
- Запросы API для групп →
Тестировать бота в группе без ограничений можно только на платных тарифах, так как группу невозможно назначить тестировщиком
Добавление бота в группу
Чтобы бот работал в группе, просто добавьте его в эту группу. Это можно сделать так:
- Откройте настройки группы или бота.
- Нажмите кнопку «Добавить».
- В поиске найдите нужного бота или группу.
- Сделайте бота администратором с необходимыми правами.
- Включите поддержку групп в настройках Ботмамы.
Управление правами бота в группе
Управлять возможностями бота можно через BotFather.
- Отправьте боту BotFather команду /mybots.
- Выберите нужного бота и нажмите Bot Setting.
В разделе Bot Setting есть следующие настройки для группы:
Аllow Groups? — разрешить добавлять бота в группы.
Если выключить группу, нажав Turn group off после перехода в Allow Groups, то добавить бота в группы не получится. Если бот уже добавлен в какие-то группы, то он останется в них и не смотря на запрет и сможет обрабатывать запросы.
Group Privacy отвечает за доступ бота ко всем сообщениям группы.
Если перейти по кнопке Group Privacy затем выключить Privacy mode (режим конфиденциальности) то бот сможет получать все сообщения из группы.
В Group Admin Rights и Channel Admin Rights можно управлять правами бота в группах и каналах.
Помечая галочками кнопки с правами, можно дать возможность боту менять название и аватар группы/канала, блокировать и разблокировать участников, закреплять, удалять сообщения, приглашать новых пользователей, назначать администраторов и т.д.
Поддержка групп в Ботмаме
Чтобы бот, созданный в Ботмаме, мог работать с группами, включите поддержку групп в разделе Настройки.
После добавления бота в группу через BotFather и добавления настройки для работы с группами в конструкторе, боту можно написать из группы. Для этого любой пользователь группы может написать /start в группе. После этого запустится цепочка сообщений от бота и в разделе Пользователи появится ID и название группы.
Группа отображается как один пользователь, ID группы всегда начинается со знака минус.
Сообщения от бота будут видны всем участникам группы.
Если в боте настроено Событие Шаблон то оно сработает и в группе, если бот добавлен в группу.
В группу можно отправлять обычные и триггерные рассылки.
Бот не разделяет участников группы между собой, воспринимая группу как одного пользователя, это значит, что в разделе Диалоги не будет видно разделения по пользователям внутри группы (то есть группа будет единым пользователем).
Работа с группами через конструктор
В Ботмаме доступны следующие функции для работы с группами:
1. Событие Сообщение в группе (Telegram) присылает одно конкретное сообщение или экран в ответ на все, что напишут пользователи боту. Событие можно настроить на сообщения от всех или от определенных пользователей.
2. Запрет на работу со всеми группами кроме одной конкретной.
Иногда нужно дать разрешение на работу бота с одной конкретной группой заранее, одновременно запрещая боту работать в остальных группах.
Если делать запрет на работу с группами через Bofather, то он запретит работу со всеми группами, а Ботмама таких запретов делать не может в принципе. Но бот может проверять, из какой группы пришел пользователь и переводить на сценарий бота только тех пользователей, которые перешли из разрешенной группы.
Для реализации создайте событие Сообщение в группе (Телеграм).
Событие Сообщение в группе (Телеграм) нужно для того, чтобы проверка проводилась только в группах. Если делать проверку без этого события, то пользователи, которые пишут не из группы, а лично боту, не смогут общаться с ботом — они не пройдут проверку, так как их ID не соответствует ID группы.
На экран, который придет, когда сработает событие, первым компонентом добавьте Развилку.
Имя переменной, откуда развилка будет брать значение должно быть lastUpdate.update.chat.id
В этой переменной лежит ID группы.
В Развилку добавьте одну цель, в значении которой должен быть ID разрешенной группы.
Переход по Цели 1 будет вести на основной сценарий.
Переход по умолчанию будет вести на пустой экран или на экран с предупреждением, что с бот с этой группой работать не будет.
Несмотря на то, что бот будет добавляться во все группы, сообщение с экрана для перехода по умолчанию будет единственным сообщением бота в запрещенных группах, а для разрешенной группы будет выводится обычный сценарий бота.
Когда пользователь отправит заявку на вступление в закрытую группу, бот сможет автоматически принять или отклонить эту заявку.
4. В группу можно пересылать сообщения от пользователей бота с помощью Запроса или Нативного запроса.
5. Алерт и Сообщение по ID получателя помогут отправить сообщение определенному пользователю в Телеграм. Этим пользователем может быть и группа.
Запросы API для групп
Запросы используются в кейсах Пересылка сообщений из группы/канала в бот и Проверка подписки на канал/группу в Telegram.
В документации API Telegram есть множество других методов работы бота с группами.
Их можно реализовывать с помощью Нативного запроса или Запроса.