Работа с группами/каналами в Telegram

Полезное

Группа в Telegram представляет собой канал коммуникации между участниками: в ней могут писать все участники.

Telegram-канал является односторонним средством общения. Только владелец или администраторы могут отправлять сообщения, в то время как остальные участники могут только просматривать их и оставлять комментарии.

Как добавить бота в группу/канал Telegram

Эта возможность для бота включается в BotFather:

Шаг 1. Переходим в настройки бота:

Шаг 2. Кликните по "Allow Groups?'

Шаг 3. Должен быть статус enabled

Видео-инструкция добавления бота в канал

https://www.youtube.com/watch?v=yDVp-rCCHtA

Как включить возможность добавлять бота в группы и каналы

Добавить бота как администратора в группе/канале

Для того, чтобы автоматизировать работу в чатах и каналах необходимо добавить своего бота Администратором.

Как это сделать?

Шаг 1. Перейдите в Управление группой/каналом и выберите вкладку “Администраторы”

Шаг 2. Нажмите кнопку “Добавить Администратора”

Шаг 3. В поисковой строке введите логин Вашего бота.

Шаг 4. Для успешной работы бота предоставьте права на работу/удаление сообщений:

Переменные для работы в чатах

Важно знать!

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

Переменные будут доступны только внутри блока, который отработал. Можно в блоке вывести эти переменные для отслеживания работы

Это НИКАК не повлияет на работу чат-ботов, в разделе клиентов нельзя будет отследить, кто зашел/вышел.

  1. Переменные с информацией об авторе сообщения

message_from - идентификатор автора сообщения
message_from_name - имя автора сообщения
message_from_username - ник автора сообщения в Телеграм

  1. Переменные с информацией о пересылаемом сообщении

reply_message_id - номер сообщения, которое пересылают
reply_from - кто автор пересылаемого сообщения
reply_from_name - имя того, чье сообщение пересылается
reply_from_username - ник того, чье сообщение пересылается
reply_from_chat_id - номер диалога, из которого сообщение переслали

  1. Добавление и удаление из группы

В этом случае срабатывают колбеки new_chat_member и left_chat_member (переменные в карточке клиента не сохраняются):

chat_member_name - имя пользователя
chat_member_username - ник пользователя
chat_member_id - номер пользователя

Callback / колбеки в Телеграм

client_unsubscribed - клиент отписался, заблокировал бот
client_returned - клиент разблокировал бота

write_access_allowed mytestapp - где "mytestapp" название веб аппа.

коллбэк означает, что клиент открыл веб-апп и выдал боту разрешение на получение сообщений. Выдать такое разрешение можно только единожды.

Колбеки в группах/каналах

new_chat_member - добавлен новый пользователь
left_chat_member - пользователь покинул канал
kicked_chat_member - пользователь удален администратором
chat_join_request - получена заявка на добавление в канал
edited_channel_post - пост на канале был отредактирован (edited_channel_post + дата и время редактирования)

bot_added_to_group - в чат добавлен бот (неважно какой, отреагирует на любого, даже если подключенный бот сам был добавлен в группу);
bot_left_group - аналогичный коллбэк - удаление бота из канала;
new_like - поставил лайк на пост
like_deleted - удалил лайк с поста

Число в коллбэке (new_like; like_deleted) - это id сообщения, на которое поставили или с которого убрали реакцию.

Важно знать!

  1. В Телеграм-каналах коллбеки на реакции не отображаются! Коллбеки на реакции приходят только в группах.
  2. Если один человек поставил несколько лайков, а потом удалил 1 из них, то не отображается, какой именно лайк был удален.

При появлении коллбеков с реакциями в группах доступны переменные в блоке:

reaction_on_message_id - содержит id сообщения на которое была реакция
reaction_from - id от кого была реакция
message_from_username - юзернейм от кого была реакция (если есть)
reaction_from_name - имя от кого была реакция

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

Если человек цитировал, то также будет переменная tg_quote, содержащая цитату:

Коллбеки с Boost

  1. chat_boost_from user #{id_user} - подарили буст чату (или каналу):

При получении данного коллбека генерируются переменные:

  1. remove_boost_from user #{id_user} - забрали буст у чата (или канала):

При получении данного коллбека генерируются переменные:

  1. chat_boost from giveaway - выдается при проведении розыгрыша звезд в канале
  2. remove_chat_boost from giveaway - закончился срок буста за розыгрыш звезд в канале

Как автоматизировать удаление системных уведомлений в группах

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

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

Удаляются следующие виды системных уведомлений:

- Изменено название группы

- Изменена фотография группы

- Удалена фотография группы

- Закреплено сообщение

- Пользователь вступил в группу

- Пользователь вышел из группы

Если вы хотите удалять лишь избранные типы системных уведомлений, то вместо переменной del_tg_system_messages создайте переменную del_tg_chosen_messages и поместите в нее массив с типами уведомлений, которые нужно удалить, через запятую.

Обращаем внимание!
Данные переменные сработают только для групп в Телеграме, а в каналах - нет.

Варианты системных уведомлений:

  • 'new_chat_member' – пользователь вступил в группу,
  • 'left_chat_member' – пользователь покинул группу,
  • 'pinned_message' – закреплено сообщение,
  • 'delete_chat_photo' – удалена фотография группы,
  • 'new_chat_photo' – изменена фотография группы,
  • 'new_chat_title' – изменено название группы

Например, вам нужно удалить все виды системных сообщений, кроме вступления в группу; тогда вам необходимо добавить все виды колбеков в переменную (константу) проекта, кроме "new_chat_member".

Важно!

Удаление системных уведомлений не затронет колбеки. Удалено будет только системное сообщение из диалога в Telegram

Форум в Telegram

Форум — это группа, в которой можно создавать отдельные темы для обсуждения. В форуме можно использовать стандартные функции: прикреплять медиафайлы, публиковать опросы, настраивать уведомления. Ещё можно закреплять сообщения и добавлять ботов — отдельных в каждый чат.

Если возникает вопрос, зачем нужен форум, то ответ кроется в организации процесса общения между участниками. Если в группе много участников, следить за общением и находить нужные сообщения в общем потоке сложно. Поэтому организация разных тематических обсуждений или, привычное нам наименование, форумов значительно упрощает процесс объединения участников по интересам.

Создать тему может только владелец группы, если в группе свыше 100 участников. Если группа привязана к каналу, то Тему создать не получится. Подключаются Темы в Настройках группы:

Как администратор, создать тему можно в настройках группы-форума:

После подключения Тем аватарка с круглой изменится на квадратную, что позволяет выделить форум среди иных чатов Telegram:

Как настроить связку клиента-телеграм с сайтом?

Подробнее о том, как после успешной оплаты привязать клиента телеграм и клиента с сайта, читайте здесь

Проверка подписок

https://youtu.be/vo-enuVhD0M