sendContent
sendContent — отправляет предварительно созданный контент (публикацию) в указанный чат.
📝 Назначение
Используется для публикации заранее созданного контента (шаблона сообщения) в группах или каналах. Позволяет отделить логику формирования сообщения от момента его отправки.
Когда это нужно:
- Публикация по расписанию (через планировщик)
- Массовая рассылка одного контента в несколько чатов
- Отложенная публикация (через отложенное действие)
- Публикация по триггеру (например, при нажатии кнопки)
💡 Совет: Контент должен быть предварительно создан в разделе
/adm → Публикации.
⚙️ Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| Контент | Выбор из списка | ✅ Да | Имя предварительно созданного контента |
| Чат | Выбор | ✅ Да | Чат для публикации (группа или канал) |
📍 Результат
После успешной отправки в истории контента (раздел «Связи») появляется запись об опубликованном сообщении.
При неудаче (бот не администратор, нет прав и т.д.) ошибка записывается в технический чат.
🔐 Требуемые права бота
| Тип чата | Требуемые права |
|---|---|
| Группа/супергруппа | Бот должен быть участником и иметь право отправлять сообщения |
| Канал | Бот должен быть администратором канала |
⚠️ Важно: Для публикации в канал бот должен быть добавлен как администратор.
🧪 Примеры использования
Пример 1: Публикация по команде
Задача: Отправить контент «Новости» в группу по команде /postnews.
Обработчик: Команда /postnews
Реакция sendContent:
Контент:НовостиЧат: текущий чат (${chat.id})
Пример 2: Публикация по расписанию
Задача: Каждый понедельник публиковать контент «Еженедельный отчёт» в канал @channel_news.
Расписание: Еженедельно, по понедельникам в 09:00
Реакция sendContent:
Контент:Еженедельный отчётЧат:@channel_news
Пример 3: Отложенная публикация
Задача: Через 1 час после нажатия кнопки опубликовать контент «Напоминание» в личный чат пользователя.
Обработчик: Нажатие кнопки
Реакция StartTask:
Отложенное действие:delayed_postДанные:{"content": "Напоминание", "chat": "${user.id}"}
В отложенном действии:
sendContent→ Контент:${task.data.content}, Чат:${task.data.chat}
Пример 4: Массовая публикация в несколько чатов
Задача: Отправить один и тот же контент «Анонс» в несколько чатов.
Реакции в триггере:
sendContent→ Контент:Анонс, Чат:-100123456789sendContent→ Контент:Анонс, Чат:-100987654321sendContent→ Контент:Анонс, Чат:@channel_announce
Пример 5: Публикация с выбором контента через меню
Задача: Администратор выбирает контент из меню и публикует в текущий чат.
Меню: Кнопки с названиями контентов, в значениях — ID контентов
Обработчик кнопки:
LoadContent→ загрузка контента по ID (если нужно получить его параметры)sendContent→ Контент:${menu.args1.1}, Чат:${chat.id}
🔄 Особенности поведения
| Ситуация | Поведение |
|---|---|
| Контент не существует | Реакция вызовет ошибку |
| Бот не участник чата | Публикация не произойдёт, ошибка в технический чат |
| У бота нет прав на отправку | Публикация не произойдёт, ошибка в технический чат |
| Включён режим «Не запоминать» | Сообщение опубликуется, но не добавится в историю контента |
| Включён режим «Автообновление» | При последующем изменении контента это сообщение будет обновляться автоматически |
🔗 Связанные реакции
| Реакция | Назначение |
|---|---|
| LoadContent | Загрузить контент в контекст |
| UpdateContent | Обновить опубликованные копии контента |
| LoadRandomContent | Выбрать случайный контент |
🔗 Связанные разделы
| Раздел | Описание |
|---|---|
| Публикации (Content) | Создание и управление контентом |
| Планировщик | Настройка расписаний |
| Отложенные действия | Отложенная публикация |
| Меню | Выбор контента через кнопки |
🔗 Быстрая навигация
- Вверх
- Параметры
- Требуемые права
- Примеры
- Особенности
🔗 Ссылка на официальную документацию
(Функция реализована на стороне платформы EnotPro, не является методом Telegram Bot API)