---
title: "Блок «Отправка сообщения» в цепочке | tuk-tuk.online"
nav_title: "Отправка сообщения"
url: https://docs.tuk-tuk.online/chains/blocks/send-message
markdown: https://docs.tuk-tuk.online/chains/blocks/send-message.md
section: "Блоки"
description: "Блок SEND_MESSAGE: текст с переменными, одно медиа-вложение, каскадные каналы, стратегии отправки и выбор получателя: клиент связки, любой клиент базы или внешний ID оператора."
keywords: ["блок отправки сообщения", "SEND_MESSAGE", "каскадные каналы", "медиа вложение бот", "шаблон сообщения", "автоматическая рассылка", "round robin каналы", "уведомить оператора", "написать конкретному клиенту", "ссылка на диалог"]
lang: ru
product: tuk-tuk.online
app: https://lk.tuk-tuk.online
api_base: https://back.tuk-tuk.online
---

> [!AI] Кратко
> Блок SEND_MESSAGE отправляет текст или один медиа-файл через выбранный канал; получателем может быть клиент связки, любой клиент базы или внешний ID (например, Telegram оператора); поддерживает переменные, каскад резервных каналов и три стратегии выбора канала.
>
> - Добавляется в визуальном редакторе цепочки через «+» на холсте
> - Переменные в тексте: {{name}}, {{phone}}, {{email}}, {{lastMessage}}, {{aiResult}}, {{aiResult_N}}, {{python_N}}, {{webhook_N}}, {{var_N}}, {{custom_field_ИМЯ}}, {{dialog}}, {{dialog_N}}
> - Одно вложение: картинка (JPG, PNG, GIF, WebP), голосовое (OGG, MP3, WAV), кружок (MP4), видео (MP4, MOV) или документ
> - Источник медиа: URL или переменная, например {{imageResult_N}}
> - Стратегии отправки: каскад (по умолчанию), случайный, по очереди
> - После отправки текст доступен как {{message_N}}
> - Получатель: клиент связки (по умолчанию), клиент из базы (выбор поиском) или внешний ID: Telegram chat ID, телефон, почта; во внешнем ID работают переменные
> - Переменные клиента всегда относятся к клиенту связки, а не к получателю; имя самого получателя даёт {{recipientName}}
> - Галочка «Пригласить в диалог с клиентом» добавляет к тексту ссылку {{dialogLink}} на переписку в кабинете
> - Telegram-бот пишет только тем, кто сам ему написал хотя бы раз
>
> Связанные страницы: https://docs.tuk-tuk.online/chains/blocks, https://docs.tuk-tuk.online/chains/blocks/wait-response, https://docs.tuk-tuk.online/chains/blocks/set-variable, https://docs.tuk-tuk.online/chains/blocks/generate-image, https://docs.tuk-tuk.online/channels

# Отправка сообщения

Блок отправляет текст или файл через выбранный канал и передаёт управление следующему блоку. Это единственный блок, через который цепочка пишет людям.

По умолчанию сообщение уходит клиенту, из-за которого цепочка запустилась. Получателя можно сменить: написать другому клиенту из базы или на внешний ID. Так один запуск и здоровается с клиентом, и зовёт оператора в диалог.

В тексте работают переменные контекста: имя клиента, последнее сообщение, результат AI. Если основной канал недоступен, сообщение уходит через резервный.

## Настройки

| Поле | Описание |
|---|---|
| Получатель | Кому уйдёт сообщение: клиент связки, клиент из базы или внешний ID |
| Пригласить в диалог с клиентом | Добавляет к тексту ссылку на переписку, оператор открывает её в один клик |
| Текст сообщения | Что написать клиенту. Поддерживает переменные в двойных фигурных скобках |
| Канал | Через какой канал отправить (Telegram, SMS, Email и другие подключённые) |
| Каскадные каналы | Резервные каналы на случай, если основной недоступен |
| Стратегия отправки | Как выбирать канал, если их несколько: каскад, случайный, по очереди |
| Медиа-файл | Одно вложение: картинка, голосовое, кружок, видео или документ |

## Переменные в тексте

| Переменная | Что подставится |
|---|---|
| `{{name}}` | Имя клиента |
| `{{phone}}` | Телефон |
| `{{email}}` | Email |
| `{{lastMessage}}` | Последнее сообщение клиента |
| `{{aiResult}}` | Результат последнего AI-блока |
| `{{aiResult_N}}` | Результат AI-блока номер N |
| `{{python_N}}` | Результат Python-блока номер N |
| `{{webhook_N}}` | Ответ вебхука номер N |
| `{{var_N}}` | Пользовательская переменная номер N |
| `{{custom_field_ИМЯ}}` | Кастомное поле диалога |
| `{{dialog}}` | Вся история переписки |
| `{{dialog_N}}` | Последние N сообщений |
| `{{dialogLink}}` | Ссылка на диалог с клиентом в кабинете |
| `{{recipientName}}` | Имя получателя (в режиме по умолчанию это имя клиента связки) |

Полный список переменных: [Переменные](https://docs.tuk-tuk.online/chains/blocks/set-variable).

## Получатель

| Режим | Кому уходит | Какой канал берётся, если канал не выбран |
|---|---|---|
| Клиент связки (по умолчанию) | Тому, чьё сообщение запустило цепочку | Канал, откуда пришло сообщение |
| Клиент из базы | Любой карточке клиента; выбирается поиском по имени, телефону, почте и ID | Канал, в котором этот клиент с вами переписывается |
| Внешний ID | Произвольный адрес: Telegram chat ID оператора, телефон, почта. Работают переменные | Канал, откуда пришло сообщение |

Переменные клиента (`{{name}}`, `{{lastMessage}}`, `{{custom_field_ИМЯ}}`) всегда описывают клиента связки, а не получателя. Поэтому текст «Клиент {{name}} написал: {{lastMessage}}» в уведомлении оператору читается правильно.

Копия сообщения сохраняется в переписке получателя. Если внешнего ID нет в базе, сообщение всё равно уйдёт, но диалога для него не появится.

### Позвать оператора в диалог

Галочка «Пригласить в диалог с клиентом» добавляет к тексту ссылку на переписку. Оператор открывает её и продолжает разговор с того места, где остановился бот. Готовый сценарий из двух блоков лежит в шаблоне «Встретить клиента и позвать оператора».

Telegram-бот пишет только тем, кто хотя бы раз ему написал: оператор должен нажать в боте «Старт», иначе уведомление не дойдёт. Свой chat ID он узнаёт у @userinfobot.

## Медиа-вложения

К сообщению прикрепляется один файл.

| Тип | Форматы | Как выглядит у клиента |
|---|---|---|
| Картинка | JPG, PNG, GIF, WebP | Фото в чате |
| Голосовое | OGG, MP3, WAV | Аудиосообщение |
| Кружок | MP4 (круглое видео) | Видеосообщение |
| Видео | MP4, MOV | Видеофайл |
| Документ | Любой формат | Файл-вложение |

Файл загружается перетаскиванием на блок или кнопкой выбора. Источник медиа задаётся одним из двух способов:

- URL: ссылка на файл в интернете.
- Переменная: медиа из результата другого блока, например `{{imageResult_3}}` после блока «Генерация изображений».

## Каскадные каналы и стратегии

Если основной канал недоступен (клиент заблокировал бота, канал отключён), сообщение уходит через следующий канал в списке. Порядок и число резервных каналов задаёте вы. Пример каскада: Telegram, затем SMS, затем Email.

Когда каналов несколько, порядок выбора определяет стратегия:

| Стратегия | Как работает |
|---|---|
| Каскад (по умолчанию) | Пробует каналы по порядку, пока отправка не удастся |
| Случайный | Отправляет через случайный канал из списка |
| По очереди | Чередует каналы по кругу: 1, 2, 3, снова 1 |

## Пример

```text
Отправка сообщения: «Привет, {{name}}! Мы получили ваш запрос: «{{lastMessage}}»»
  Получатель: клиент связки
  Канал: Telegram
  Каскад: SMS, Email
  Медиа: картинка (URL)
```

Клиенту в Telegram приходит текст с подставленным именем и картинкой. Если бот в Telegram заблокирован, тот же текст уходит по SMS.

Второй блок в той же цепочке зовёт человека:

```text
Отправка сообщения: «Новое обращение от {{name}}: «{{lastMessage}}». Нужен ответ оператора.»
  Получатель: внешний ID → 123456789 (Telegram chat ID оператора)
  Пригласить в диалог с клиентом: да
  Канал: Telegram
```

## Что сохраняется в контексте

| Переменная | Значение |
|---|---|
| `{{message_N}}` | Текст отправленного сообщения, N: номер блока |

## Ограничения

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