EnotPRO Logo EnotPRO

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.

Реакции:

  1. TakeChatchat.id: ${chat.id}

Пример 2: Отправка информации о чате

Задача: Отправить сообщение с информацией о чате.

Реакции:

  1. TakeChatchat.id: ${chat.id}
  2. SendMessage
  • chat_id: ${chat.id}
  • Текст: Название чата: ${target.chat.title}, тип: ${target.chat.type}

Пример 3: Использование с целевыми переменными

Задача: Загрузить данные о другом чате и отправить оттуда сообщение.

Реакции:

  1. TakeChatchat.id: -100123456789
  2. SendMessage
  • chat_id: ${target.chat.id}
  • Текст: Сообщение отправлено из бота в этот чат

Пример 4: Проверка типа чата

Задача: Определить, является ли чат супергруппой.

Реакции:

  1. TakeChatchat.id: ${chat.id}
  2. TriggerFolder с условием: String${target.chat.type} = supergroup
  • Внутри: SendMessageЭто супергруппа

🔄 Особенности поведения

Ситуация Поведение
Чата нет в кэше target.chat может быть пустым или содержать только id
Чат приватный Информация ограничена тем, что известно боту
Бот не участник чата Реакция может вернуть ограниченные данные

🔗 Связанные реакции

Реакция Назначение
GetChat Получить актуальные данные из API
LoadChat Загрузить данные чата в ${load}
TakeUser Загрузить данные пользователя
SendMessage Отправить сообщение в чат из target.chat

🔗 Связанные разделы

Раздел Описание
Целевые переменные Работа с target.from и target.chat
Чаты/Каналы в админке Управление чатами через интерфейс

🔗 Быстрая навигация

  • Вверх
  • Параметры
  • Результат
  • Сравнение с GetChat и LoadChat
  • Примеры
  • Особенности

🔗 Связанные разделы

  • GetChat — получение актуальных данных из Telegram API
  • LoadChat — загрузка данных чата в ${load}
  • TakeUser — загрузка данных пользователя
© 2025 EnotPRO. Все права защищены.