> For the complete documentation index, see [llms.txt](https://docs.suvvy.ai/ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.suvvy.ai/ru/kanaly/messendzhery/telegram.md).

# Telegram

Telegram – бесплатный онлайн-мессенджер, одно из самых популярных мобильных приложений в мире.

## Что позволяет?

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

## Подключение

### Подключение Савви к агенту в Telegram

{% stepper %}
{% step %}
Чтобы подключить Telegram к Вашему агенту в Савви, зайдите в раздел "Каналы" и выберите Telegram

<figure><img src="/files/BCJFJjR60BlNbtXm5DwM" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Видим поле, в котором требуется указать токен. Токен — это уникальный идентификатор пользователя в Telegram. Он позволяет серверам определять запросы и защищает доступ к каналу.

<figure><img src="/files/ZedbkvofDDnu6tmEz1YL" alt="Скриншот настроек канала &#x22;Telegram&#x22; с выделенным полем &#x22;Токен&#x22;"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Чтобы получить токен, нужно в поисковой строке Telegram вбить [@BotFather](https://t.me/BotFather)

<figure><img src="/files/esni6ReZogzALTgmyKJe" alt="Скриншот приложения Telegram с открытым ботом BotFather. Начало диалога с ботом"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Нажав на кнопку Start, мы получаем список команд. Если нужно получить токен уже существующего агента, выберите команду /token

<figure><img src="/files/ciRmwy17YxWR6B2J7X9w" alt="Скриншот диалога с ботом BotFather, указание на пункт /token"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
После того, как Вы получили токен в BotFather, пропишите его в поле Telergram и нажмите кнопку "Сохранить"

<figure><img src="/files/mguhAE8zZ2UvcWlcIZRJ" alt="Скриншот меню настроек канала Telegram, введённый токен, указание на кнопку &#x22;Сохранить&#x22;"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Далее перед нами появятся следующие настройки

<figure><img src="/files/sYUrNdto1mIs0SqrWvqI" alt="Скриншот настроек канала Telegram после подключения"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Если в поле Сообщение при команде **/start** задать приветствие, агент будет отправлять его при обращении клиента в канале **Telegram**, который уже подключен к Савви:

<figure><img src="/files/eFKKTBrIZaqI0Yx2OTMi" alt="Скриншот настроек канала Telegram после подключения, выделено поле &#x22;Сообщение при команде /start&#x22;"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Нажимаем **Сохранить**.
{% endstep %}
{% endstepper %}

### Подключение Савви к индивидуальной учётной записи

Вы можете подключить Савви к индивидуальной учётной записи в Telegram.&#x20;

{% stepper %}
{% step %}
Внесите свой UserID в соответствующее поле. Более подробно о том, где получить UserID, можете посмотреть в [соответствующим разделе](#kak-uznat-user-id-bot-id-group-id-channel-id).

<figure><img src="/files/fNzae7ecgEY2NbIL8nr1" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Перейдите в @BotFather, нажмите /mybots и выберите нужного агента

<figure><img src="/files/UXNWXK54gAYorqvCtZnU" alt="Скриншот из бота BotFather после отправки команды /mybots, выделен один из ботов" width="563"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Затем нужно выбрать Bot Settings

<figure><img src="/files/XF9EhTvJk8WiEumqQjrS" alt="Скриншот из бота BotFather после отправки команды /mybots и выбора бота, выделена кнопка &#x22;Bot Settings&#x22;" width="563"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Далее нажать Secretary Mode

<figure><img src="/files/dkgURPmlVdpmCOfbHNwp" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Затем выбрать `Turn On`

<figure><img src="/files/AK1isyifMju0Fzem5jZO" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Далее нужно скопировать username бота

<figure><img src="/files/qr7kntbXDt8f3V5E2ENz" alt="Скриншот из бота BotFather после отправки команды /mybots, выбора бота и перехода в его настройки, настройки Business Mode и включения этого режима, выделен юзернейм бота" width="563"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Переходим к настройке автоматизации чатов на стороне Telegram. Рассмотрим на примере десктопной версии Telegram.

{% hint style="warning" %}
Убедитесь, что у вас установлено приложение Telegram самой последней версии.
{% endhint %}

Нужно перейти далее в настройки.

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

Затем переходим в "Мой аккаунт".

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

Далее надо перейти в раздел "Автоматизация чатов"

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

В поле «@имя бота» указываем username нашего бота.

<figure><img src="/files/LiYF6qgTT44azytpKalC" alt="Скриншот настроек Telergam на iOS, настроки для бизнеса, выделено поле с вводом юзернейма бота" width="554"><figcaption></figcaption></figure>

Нажимаем «Добавить»

<figure><img src="/files/LmTIZahxJB7WWfYnDxHv" alt="Скриншот настроек Telergam на iOS, настроки для бизнеса, в поле для юзернейма бота введен бот, выделена кнопка добавления бота" width="557"><figcaption></figcaption></figure>

Нажимаем «Готово»

<figure><img src="/files/ssiaTKv35Fnd1inzkroM" alt="Скриншот настроек Telergam на iOS, настроки для бизнеса, введен бот, выделена кнопка &#x22;Готово&#x22;" width="558"><figcaption></figcaption></figure>

Настройте чаты, в которых бот будет отвечать.

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

Затем отметьте минимально необходимый для работы набор прав.

<figure><img src="/files/hIvvNeMoBl8PUPNYRGIK" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

### Как узнать User ID, Bot ID, Group ID, Channel ID

**ID** — это уникальный номер, который используется для идентификации в Telegram. Он отличается от **@username,** которое можно изменять.

Чтобы узнать свой **User ID**, Bot ID, Group ID или Channel ID средствами платформы Савви выполните следующие шаги:

1. В настройках канала Telegram, необходимо активировать флаг "Обрабатывать команду /get\_id".

<figure><img src="/files/6Cy9NBRUdB9m4E5FBcUd" alt=""><figcaption></figcaption></figure>

2. В чате с агентом отправьте команду /get\_id. После выполнения команды появятся кнопки для получения ID.

<figure><img src="/files/7akFA5Ue9p2Hk3w86gn8" alt=""><figcaption></figcaption></figure>

MY ID - позволяет получить свой ID\
USER ID - позволяет получить ID другого пользователя\
BOT ID - позволяет получить ID бота\
GROUP ID - позволяет получить ID группы\
CHANNEL ID - позволяет получить ID канала

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

### Настройка **чёрного** и **белого** списка пользователей по их **ID**

<figure><img src="/files/4VGP5dLv20uSYDZd0coz" alt="Скриншот настроек канала Telegram после подключения, выделены поля &#x22;Чёрный список&#x22; и &#x22;Белый список&#x22;"><figcaption></figcaption></figure>

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

### Режим ответов агента в группах

<figure><img src="/files/FhZoNCCwKo7W4u7SjAnY" alt="Скриншот настроек канала Telegram после подключения, выделен переключатель &#x22;Отвечать в группах только при упоминании&#x22;"><figcaption></figcaption></figure>

* Если флаг **Отвечать в группах только при упоминании** `❌выключен`, то агент будет отвечать на все сообщения в группе, где он подключен
* Если флаг **Отвечать в группах только при упоминании** `✅включен`, то агент будет отвечать только в том случае, если к нему обратятся через упоминание: "**@my\_bot** *Привет*".

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

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

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

Активация флага **Проверять подписку на группу** позволяет агенту отвечать только подписанным пользователям. Пользователям, которые не подписаны, будет выводиться заданное сообщение.

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

### Режим ответов агента в группах с темами

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

Дополнительно имеется возможность указать ID тем, в которых агент должен отвечать, и тем, в которых не должен. Как получить ID темы, смотрите ниже в соответствующем пункте.

#### Как узнать ID темы

Чтобы получить ID темы необходимо выполнить следующие шаги:

1. Кликните правой кнопкой мыши на одном из сообщений в теме, ID которой необходимо получить.

<figure><img src="/files/qiAIvpMrV9RdKH8s6wzn" alt="" width="312"><figcaption></figcaption></figure>

2. Вы получите ссылку в следующем формате:

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

3. Необходимо взять обведенную часть и прибавить к ней -100.

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

В данном примере ID будет -1002460154739/12

#### Настройки при работе в группах с темами

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

* Сохранять ли все сообщения - это означает, что если в диалоге было сообщение, на которое бот не должен отвечать, то при этой включенной настройке сообщение все равно будет добавлено в чат - это сделано для того, что бы бот имел целостную картину мира
* Добавлять ли префикс - у нас все сохраняется, как "клиент" даже если это писали разные люди. Данная настройка позволяет добавлять префикс изменяя родительское сообщение, что бы указывать, кто это писал. Как это будет выглядеть для бота, все сообщения от Покупателя, но перед каждым сообщением username пользователя Телеграм:

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

### Режим ответов агента в каналах

Настройка ответов агента при упоминании, при использовании ключевых слов и проверка подписки аналогична пункту 9.

Очистка контекста на команду **/start**.

<figure><img src="/files/jbifrgCkPHVRpU5Aix0i" alt="Скриншот настроек канала Telegram после подключения, выделен переключатель &#x22;Очищать контекст по команде /start&#x22;"><figcaption></figcaption></figure>

Данная настройка особенно полезна при тестовых диалогах. При вводе в Telegram команды **/start** контекст диалога полностью очищается и можно начинать новый диалог.

Пометка о прочтении у бизнес-агентов

<figure><img src="/files/05i0nIwvxgcherne49jc" alt="Скриншот настроек канала Telegram после подключения, выделен переключатель &#x22;Пометка о прочтении у бизнес-ботов&#x22;"><figcaption></figcaption></figure>

Если Вы хотите, чтобы сообщения в бизнес-агенте отмечались как **прочитанные**, то в настройках бизнес-агента выдайте разрешение - "**Чтение сообщений**"

В настройках **Савви** включите "**Пометка о прочтении у бизнес-агентов**"

## Кнопки в Telegram

{% hint style="warning" %}
Кнопки Савви для Telegram являются **программируемыми (динамическими)**, а не статическими. Они не отображаются в чате Telegram сразу после создания действия в Савви. Кнопки появляются в ходе диалога при вызове соответствующей функции в месте, предусмотренном промптом или инструкцией.

**Пример инструкции:**

**#РАБОТА С ФУНКЦИЯМИ**

* В начале диалога вызвать функцию **send\_telegram\_message()**.
  {% endhint %}

Настроить кнопки можно через создание действия. Добавление кнопок позволит расширить взаимодействие клиента с агентом.

Настройка:

1. Перейдите на вкладку **"Действия"** и нажмите кнопку **"Добавить"**.

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

2. Выберите действие **"Кнопки в Telegram"**. Процедура добавления данного действия аналогична добавлению других действий.

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

3. Переходим к настройке шага.

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

Доступно **3 варианта** шага:\
**1.** **Добавить кнопки внизу экрана** - внизу экрана в интерфейсе мессенджера будет добавлено заданное количество кнопок с выбранными функциями.\
**2**. **Добавить кнопки под сообщением** - кнопки добавляются после определенного сообщения агента.\
**3.** **Убрать кнопки внизу экрана** - функция позволяет убрать кнопки, которые были добавлены при выборе **Варианта 1**.

#### **Добавить кнопки внизу экрана**

**Параметры клавиатуры**.

Задают поведение клавиатуры при взаимодействии с ней.

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

**Принудительно показывать** - запускает принудительный показ кнопок.\
**Подгонять высоту** - адаптирует размер кнопок.\
**Скрывать после использования** - после использования одной из кнопок, панель с кнопками убирается.\
**Показывать подсказку, когда кнопки на экране** - при активации появится поле, в которое Вы можете внести текст подсказки, когда кнопки показаны на экране.

**Добавление кнопки**

1. Для добавления кнопки нажмите на "+"

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

2. Настройка кнопки

<figure><img src="/files/7nnlPbyThKhgIAIBYZhr" alt="" width="303"><figcaption></figcaption></figure>

Вы можете выбрать **1 из 4 типов кнопки**:\
**Отправить сообщение** - отправляет в чат заданный текст. Это может быть информационный текст, ссылка либо ключевая фраза, по которой агент выполнит другое действие. В таком случае не нужно ждать это слово от пользователя.\
**Запрос контакта** - позволяет отправить в чат имя, фамилию, указанные в профиле, и номер телефона пользователя. Это удобно при сборе информации о пользователе и заполнении базы данных либо бронировании услуги.\
**Запрос местоположения** - в чат отправляются координаты и адрес пользователя. Вариантом использования могут быть контекстные действия агента в зависимости от геолокации пользователя, например выбор ближайшего филиала или примерный расчёт доставки.\
**Открыть мини-приложение** - позволяет открыть любую подходящую под требованию ссылку в формате мини-приложения и быстро просмотреть, таким образом клиент может ознакомиться с Вашим сайтом, либо информации об услугах и акциях без необходимости переходить в браузер.

{% hint style="warning" %}
Обратите внимание, что при создании кнопки с функцией открытия ссылок в формате мини-приложения, можно добавить только ссылки с протоколом https.
{% endhint %}

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

Для каждой кнопки можно задать уникальное название.

#### **Добавить кнопки под сообщением**

Добавление кнопок выполняется аналогично тому, как это было в предыдущем пункте.

<figure><img src="/files/oOtr2xpYiI2YXw0CDQl4" alt="" width="307"><figcaption></figcaption></figure>

Для этого типа кнопок доступно **2 варианта**:\
**1**. **Скопировать текст** - позволяет добавить текст, который будет скопирован при клике, можно задать, например, личный промо-код, либо ссылку на сайт.\
**2**. **Открыть ссылку** - позволяет привязать к кнопке ссылку, которая будет открыта при клике по кнопке.

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

#### **Убрать кнопки внизу экрана**

Данный вариант шага не имеет специфических настроек. Запуск действия с таким шагом удаляет ранее созданные кнопки внизу экрана.

#### Задание функции удаления:

На вкладке **"Условия срабатывания"** необходимо задать имя функции, по которой будет запускаться действие.

{% hint style="warning" %}
Всегда следует задавать название функции таким образом, чтобы выбранное слово или фраза описывали само действие. Описание должно быть максимально точным. Соблюдение этих правил позволит добиться стабильной работы действия.
{% endhint %}

В инструкции необходимо прописать условие срабатывания и название функции, для примера представим, что функция называется **delete\_button**:

```
Когда клиент прислал свои данные, вызови функцию delete_button.
```

#### Задание аргументов и констант

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

{% hint style="warning" %}
После того, как аргумент или константа созданы, их необходимо добавлять через кнопку в виде шестеренки.
{% endhint %}

#### Дополнительные настройки

Блок настроек аналогичен другим действиям.

Кнопки в Telegram — мощный инструмент, который улучшает пользовательский опыт взаимодействия с агентом.

## Стартовый параметр

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

Стартовый параметр сохраняется в поле *start\_parameter*. Он может быть передан либо в ссылке на агента, например:

```
https://t.me/example_bot?start=link123
```

Либо он может быть введен непосредственно после команды /start:

```
/star link123
```

Если стартовый параметр получен, он отобразится в шапке экспорта в соответствующем поле.

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

Удобно взаимодействовать со стартовым параметром, либо другими параметрами из плейсхолдера, используя запуск по [триггеру](/ru/deistviya/vyzov-deistvii-po-triggeru.md).

Рассмотрим на примере получения аналитических данных в кабинете Савви. Для этого необходимо настроить действие **"Базовый шаг"**.

1. Добавьте действие **"Базовый шаг"**. Выберите запуск по триггеру. Установите параметры, указанные на скриншоте.

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

2. Установите в действии нужный Вам тег.

<figure><img src="/files/54iuG184ZA12zpFOwbDC" alt=""><figcaption></figcaption></figure>

При выполнении условий действие в диалоге будет выполнено, и тег будет проставлен. Агент при этом продолжит вести диалог как обычно — выполнение этого действия не влияет на ход общения.

В разделе **"Аналитика"**, Вы сможете посмотреть статистику по тегам.

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

## Выключение ответов агента

Если Вам по каким-то причинам требуется на время отключить ответы агента в Telegram, то необходимо выключить флаг **"Ответы агента"**.

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


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.suvvy.ai/ru/kanaly/messendzhery/telegram.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
