# Подключение бота к каналу/группе

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

{% hint style="success" %}
**Полезное**

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

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

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

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

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

<figure><img src="/files/cGJ7MrvupOFPr2PltdIe" alt="" width="358"><figcaption><p>Кликаем на Bot Settings</p></figcaption></figure>

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

<figure><img src="/files/X35GCB9nnQCrbUGt3dhm" alt="" width="328"><figcaption><p>Allow Groups?</p></figcaption></figure>

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

<figure><img src="/files/QGnEbYWQni2UrabISMzt" alt="" width="375"><figcaption></figcaption></figure>

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

{% embed url="<https://www.youtube.com/watch?v=yDVp-rCCHtA>" %}
Как включить возможность добавлять бота в группы и каналы
{% endembed %}

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

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

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

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

<figure><img src="/files/UPOIq5E92XwBeF2YqKtH" alt="" width="375"><figcaption></figcaption></figure>

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

<figure><img src="/files/CRalMwDLIDmcPaQnyi9P" alt="" width="563"><figcaption></figcaption></figure>

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

<figure><img src="/files/j0FK98RKJ9eNf8VXHZNZ" alt="" width="563"><figcaption></figcaption></figure>

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

<figure><img src="/files/Zv8ay4rtpSwHpqfjvnQw" alt="" width="347"><figcaption></figcaption></figure>

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

{% hint style="warning" %}
Важно знать!&#x20;

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

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

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

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

**message\_from** - идентификатор автора сообщения \
**message\_from\_name** - имя автора сообщения \
**message\_from\_username** - ник автора сообщения в Телеграм

<figure><img src="/files/fKnEdL7fzQiVb2sCyIJr" alt="" width="375"><figcaption></figcaption></figure>

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

**reply\_message\_id** - номер сообщения, которое пересылают \
**reply\_from** - кто автор пересылаемого сообщения \
**reply\_from\_name** - имя того, чье сообщение пересылается \
**reply\_from\_username** - ник того, чье сообщение пересылается \
**reply\_from\_chat\_id** - номер диалога, из которого сообщение переслали

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

В этом случае срабатывают колбеки **new\_chat\_member** и **left\_chat\_member (переменные в карточке клиента не сохраняются)**:

**chat\_member\_name** - имя пользователя \
**chat\_member\_username** - ник пользователя\
**chat\_member\_id** - номер пользователя

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

**client\_unsubscribed** - клиент отписался, заблокировал бот\
**client\_returned** - клиент разблокировал бота

<figure><img src="/files/BakZIXeBBrDOWDeA3sLC" alt="" width="375"><figcaption></figcaption></figure>

**write\_access\_allowed mytestapp** - где "mytestapp" название веб аппа.&#x20;

<figure><img src="/files/3OJW0k9rCPbz5txCVR7O" alt="" width="563"><figcaption></figcaption></figure>

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

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

**new\_chat\_member** - добавлен новый пользователь \
**left\_chat\_member** - пользователь покинул канал \
**kicked\_chat\_member** - пользователь удален администратором \
**chat\_join\_request** - получена заявка на добавление в канал\
**edited\_channel\_post** - пост на канале был отредактирован (edited\_channel\_post + дата и время редактирования)

<figure><img src="/files/dyAw4fYSyoseQ694totY" alt="" width="375"><figcaption><p>Колбеки отображаются в разделе клиенты</p></figcaption></figure>

bot\_added\_to\_group - в чат добавлен бот (неважно какой, отреагирует на любого, даже если подключенный бот сам был добавлен в группу);\
bot\_left\_group - аналогичный коллбэк - удаление бота из канала;\
new\_like - поставил лайк на пост\
like\_deleted - удалил лайк с поста

<figure><img src="/files/oqUc2oUSr2O3YRsfFTJB" alt="" width="354"><figcaption></figcaption></figure>

Число в коллбэке (new\_like; like\_deleted) - это id сообщения, на которое поставили или с которого убрали реакцию.&#x20;

{% hint style="warning" %}
Важно знать!&#x20;

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

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

**reaction\_on\_message\_id** - содержит id сообщения на которое была реакция\
**reaction\_from** - id от кого была реакция\
**message\_from\_username** - юзернейм от кого была реакция (если есть)\
**reaction\_from\_name** - имя от кого была реакция

<figure><img src="/files/ZPW6O3LdbN9her41DbBf" alt="" width="265"><figcaption></figcaption></figure>

Также если в Telegram отвечают на сообщение, то переменная **reply\_text** в карточке будет содержать полный текст сообщения, на которое ответили.&#x20;

<figure><img src="/files/AjdgicteIxopih2DT4oG" alt="" width="375"><figcaption></figcaption></figure>

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

<div><figure><img src="/files/d1abaMGW7r4Nt0MX2CKp" alt=""><figcaption></figcaption></figure> <figure><img src="/files/6l37deiuiAE4NOJ4MJd8" alt=""><figcaption></figcaption></figure></div>

### Коллбеки с Boost

1. chat\_boost\_from user #{id\_user} - подарили буст чату (или каналу):

<figure><img src="/files/GjeAjh40kwAFKo4md9qy" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/F1I81okGV1yDWwhZslwq" alt=""><figcaption></figcaption></figure>

2. remove\_boost\_from user #{id\_user} - забрали буст у чата (или канала):

<figure><img src="/files/bdPS4ti1hFPngKC4z8dM" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/yoPgvWVfmrjT0y8dLJYf" alt=""><figcaption></figcaption></figure>

3. chat\_boost from giveaway - выдается при проведении розыгрыша звезд в канале
4. remove\_chat\_boost from giveaway - закончился срок буста за розыгрыш звезд в канале

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

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

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

<figure><img src="/files/EwF41qoRFMgHh0JqRG5z" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/aSI89FyKVBRGUA20Gqci" alt="" width="340"><figcaption><p>Права администратора в настройках группы Телеграм</p></figcaption></figure>

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

\- Изменено название группы&#x20;

\- Изменена фотография группы&#x20;

\- Удалена фотография группы&#x20;

\- Закреплено сообщение&#x20;

\- Пользователь вступил в группу&#x20;

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

Если вы хотите удалять лишь избранные типы системных уведомлений, то вместо переменной **del\_tg\_system\_messages** создайте переменную **del\_tg\_chosen\_messages** и поместите в нее массив с типами уведомлений, которые нужно удалить, через запятую.

{% hint style="danger" %}
Обращаем внимание!\
Данные переменные сработают только для групп в Телеграме, а в каналах - нет.&#x20;
{% endhint %}

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

* 'new\_chat\_member' – пользователь вступил в группу,&#x20;
* 'left\_chat\_member' – пользователь покинул группу,&#x20;
* 'pinned\_message' – закреплено сообщение,&#x20;
* 'delete\_chat\_photo' – удалена фотография группы,&#x20;
* 'new\_chat\_photo' – изменена фотография группы,&#x20;
* 'new\_chat\_title' – изменено название группы&#x20;

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

<figure><img src="/files/eb0Z5QTseBPYfntA9Bui" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Важно!&#x20;

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

## Форум в Telegram

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

<figure><img src="/files/DX4waVGMnpv6Y8CB3AWI" alt="" width="375"><figcaption></figcaption></figure>

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

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

<figure><img src="/files/XowEPQTUyPyuy4jQ2Sr0" alt="" width="563"><figcaption></figcaption></figure>

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

<figure><img src="/files/41OnJZz4e9BhBMF27Ocn" alt="" width="563"><figcaption></figcaption></figure>

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

<figure><img src="/files/tregHZ2LM7SaBaFaFaUV" alt="" width="563"><figcaption></figcaption></figure>

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

{% hint style="info" %}
Подробнее о том, как после успешной оплаты привязать клиента телеграм и клиента с сайта, [читайте здесь](broken://pages/YOzidl4HYJaWmkPXnuYY#kak-nastroit-svyazku-klienta-iz-telegram-s-klientom-saita-telefonii)
{% endhint %}

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

{% embed url="<https://youtu.be/vo-enuVhD0M>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.salebot.pro/chatbots/channels/telegram/group_chatbot.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
