TakeChat
TakeChat — загружает данные о чате в целевую переменную для последующей обработки.
📝 Назначение
В отличие от GetChat (обращается к API) и LoadChat (загружает в ${load}), TakeChat помещает информацию о чате в целевую переменную ${target.chat}, что удобно для массовых операций и работы с другими реакциями, ожидающими target.
Когда это нужно:
- Получить информацию о чате для дальнейшей обработки
- Использовать данные чата в реакциях, работающих с
target - Передать информацию о чате в другие триггеры
💡 Совет: Используйте
TakeChatкогда нужно передать информацию о чате в другие реакции, работающие сtarget(например,SendMessageсtarget.chat). Для простого получения данных используйтеGetChatилиLoadChat.
⚙️ Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| chat.id | Integer/String | ✅ Да | ID чата/канала или @username |
📍 Результат
После выполнения реакции данные о чате становятся доступны в переменной:
${target.chat}
Структура ${target.chat}:
| Поле | Тип | Описание |
|---|---|---|
id |
Integer | ID чата/канала |
title |
String | Название чата/канала |
type |
String | Тип: private, group, supergroup, channel |
username |
String | @username (если есть) |
first_name |
String | Имя (для личных чатов) |
last_name |
String | Фамилия (для личных чатов) |
Пример результата (для группы):
{
"id": -100123456789,
"title": "Моя группа",
"type": "supergroup",
"username": "my_group"
}
Пример результата (для личного чата):
{
"id": 123456789,
"first_name": "Иван",
"last_name": "Петров",
"type": "private"
}
🔄 Сравнение с GetChat и LoadChat
| Характеристика | TakeChat | GetChat | LoadChat |
|---|---|---|---|
| Переменная результата | ${target.chat} |
${response.result} |
${load} |
| Источник данных | База данных бота (кэш) | Telegram API | База данных бота (кэш) |
| Скорость | Быстро | Медленнее | Быстро |
| Актуальность | Может отставать | Абсолютная | Может отставать |
Совместимость с target |
✅ | ❌ | ❌ |
💡 Совет: Используйте
TakeChatкогда нужно передать данные чата в другие реакции черезtarget. Для получения актуальных данных используйтеGetChat.
🧪 Примеры использования
Пример 1: Получение данных о чате
Задача: Загрузить информацию о текущем чате в target.chat.
Реакции:
TakeChat→chat.id:${chat.id}
Пример 2: Отправка информации о чате
Задача: Отправить сообщение с информацией о чате.
Реакции:
TakeChat→chat.id:${chat.id}SendMessage→
chat_id:${chat.id}- Текст:
Название чата: ${target.chat.title}, тип: ${target.chat.type}
Пример 3: Использование с целевыми переменными
Задача: Загрузить данные о другом чате и отправить оттуда сообщение.
Реакции:
TakeChat→chat.id:-100123456789SendMessage→
chat_id:${target.chat.id}- Текст:
Сообщение отправлено из бота в этот чат
Пример 4: Проверка типа чата
Задача: Определить, является ли чат супергруппой.
Реакции:
TakeChat→chat.id:${chat.id}TriggerFolderс условием:String→${target.chat.type}=supergroup
- Внутри:
SendMessage→Это супергруппа
🔄 Особенности поведения
| Ситуация | Поведение |
|---|---|
| Чата нет в кэше | target.chat может быть пустым или содержать только id |
| Чат приватный | Информация ограничена тем, что известно боту |
| Бот не участник чата | Реакция может вернуть ограниченные данные |
🔗 Связанные реакции
| Реакция | Назначение |
|---|---|
| GetChat | Получить актуальные данные из API |
| LoadChat | Загрузить данные чата в ${load} |
| TakeUser | Загрузить данные пользователя |
| SendMessage | Отправить сообщение в чат из target.chat |
🔗 Связанные разделы
| Раздел | Описание |
|---|---|
| Целевые переменные | Работа с target.from и target.chat |
| Чаты/Каналы в админке | Управление чатами через интерфейс |
🔗 Быстрая навигация
- Вверх
- Параметры
- Результат
- Сравнение с GetChat и LoadChat
- Примеры
- Особенности