Условия
Условия - Исполняемый модуль, который проверяет TRUE или FALSE. Действие выполняется, только если условие вернуло true.
Доступные виды условий на платформе:
| Условие | Что проверяет |
|---|---|
| Has | существует ли переменная |
| Bool | равно ли значение true / false (или 1 / 0) |
| Number | сравнение чисел (=, <, >, <=, >=, NOT) |
| String | сравнение строк (равно, начинается с, заканчивается на) |
| InUserList | входит ли пользователь в заданный список |
| IsAdmin | является ли пользователь админом бота |
| IsForwardMessage | переслано ли сообщение |
| IsOwner | является ли пользователь владельцем бота |
| IsReplyMessage | является ли сообщение ответом на другое |
| IsViaBot | отправлено ли сообщение через другого бота |
| UserStatus | какой статус у пользователя в боте (не запускал/запускал/заблокирован и т.д.) |
| isChatMember | состоит ли пользователь в конкретном чате/группе |
Важно
Все условия по умолчанию работают в режиме проверки на истинность (true). Если вам нужно проверить ложь — используйте режим NOT. Все условия строятся по принципу:
- Если выражение внутри условия возвращает true → условие выполнено.
- Если возвращает false → условие не выполнено.
- Чтобы проверить обратное (false), используйте режим NOT.
Has
Проверяет существование переменной
Настройка:
- Путь — путь до переменной, например
user.nameилиdata.items[0].id
Когда использовать: нужно убедиться, что пользователь заполнил поле, или что переменная была установлена на предыдущем шаге.
Примеры:
| Пример | Когда сработает |
|---|---|
| Has — ${user.name} | если переменная существует |
| NOT — ${user.name} | если переменной НЕТ |
Bool
Проверяет булево значение.
Настройка:
- Значение — переменная или выражение, которое должно быть
true/false(или1/0)
Когда использовать: нужно проверить флаг или переключатель, например «подписан ли пользователь».
Примеры:
| Пример | Когда сработает |
|---|---|
| Bool — значение ${user.is_bot} | если значение равно true |
| NOT — значение ${user.is_bot} | если значение равно false |
Number
Числовое сравнение.
Поддерживает следующие виды проверок:
| Пример | Когда сработает |
|---|---|
| NOT | инверсия заданного режима |
| = | значение равно заданному числу |
| < | значение меньше заданного числа |
| > | значение больше заданного числа |
| \≤ | значение меньше или равно заданному числу |
| \≥ | значение больше или равно заданному числу |
Примеры
| Пример | Когда сработает |
|---|---|
| Number — ${var.person.age} → = → 18 | возраст равен 18 |
| NOT — ${var.person.age} → = → 18 | возраст НЕ равен 18 |
| Number — ${var.person.balance} → >= → 100 | баланс 100 или больше |
| NOT — $${var.person.balance} → >= → 100 | баланс меньше 100 |
String
Сравнение строк.
Строкой считается параметр находящийся в двойных скобках: ""
Поддерживает следующие виды проверок:
| Пример | Когда сработает |
|---|---|
| NOT | инверсия заданного режима |
| Равно | строка совпадает с указанным текстом |
| Не равно | строка не совпадает с указанным текстом |
| Начинается с | строка начинается с указанного текста |
| Заканчивается на | строка заканчивается на указанном тексте |
Примеры
| Пример | Когда сработает |
|---|---|
| String → ${update.message.text} → равно → /start | текст точно равен /start |
| NOT → ${update.message.text} → равно → /start | текст НЕ равен /start |
| String → ${update.message.text} → начинается с → /admin | текст начинается с /admin |
| NOT → ${update.message.text} → начинается с → /admin | текст НЕ начинается с /admin |
inUserList
Проверяет, состоит ли пользователь в указанном списке пользователей.
| Пример | Когда сработает |
|---|---|
| InUserList → режим ✅ | пользователь в списке |
| NOT → режим ✅ | пользователь НЕ в списке |
IsAdmin
Проверяет, является ли пользователь администратором бота (назначен через настройки бота).
| Пример | Когда сработает |
|---|---|
| IsAdmin | пользователь админ |
| NOT → IsAdmin | пользователь НЕ админ |
IsForwardMessage
Условие проверяет факт наличия пересланного сообщения
Проверяет наличие параметра ${update.message.forward_from}
| Режим | Когда сработает |
|---|---|
| IsForwardMessage | сообщение переслано |
| NOT → IsForwardMessage | сообщение НЕ переслано |
IsOwner
Проверяет, является ли пользователь владельцем бота (создателем).
| Пример | Когда сработает |
|---|---|
| IsOwner | пользователь владелец |
| NOT → IsOwner | пользователь НЕ владелец |
IsReplyMessage
Условие проверяет, была ли запущена реакция ответом на сообщение
Проверяет наличие параметра ${update.message.reply_to_message}
| Пример | Когда сработает |
|---|---|
| IsReplyMessage | сообщение ответ |
| NOT → IsReplyMessage | сообщение НЕ ответ |
IsViaBot
Проверяет, было ли сообщение отправлено с помощью другого бота (поле via_bot).
Проверяет наличие параметра ${update.message.reply_to_message}
| Пример | Когда сработает |
|---|---|
| IsViaBot | сообщение через бота |
| NOT → IsViaBot | сообщение НЕ через бота |
UserStatus
Проверяет статус пользователя в боте.
Статусы (связаны со статусами в разделе Пользователи):
| Статус | Когда сработает |
|---|---|
| 🖤 | Пользователь НЕ запускал бота |
| 💚 | Пользователь запустил бота |
| 📛 | Пользователь заблокировал бота |
| 📵 | Пользователь забанен в боте |
| ✝️ | Аккаунт пользователя удален |
Пример:
| Проверка | Когда сработает |
|---|---|
| UserStatus → статус 💚 | пользователь запустил бота |
| NOT → UserStatus → статус 💚 | пользователь НЕ запустил бота (любой другой статус) |
isChatMember
Проверяет, является ли пользователь участником конкретного чата/группы (через Telegram BOT API).
Важно
Требует прав бота на получение участников чата.
| Пример | Когда сработает |
|---|---|
| isChatMember → чат -100123456 | пользователь в чате |
| NOT → isChatMember → чат -100123456 | пользователь НЕ в чате |
VarCloudValue
Проверяет значение, сохранённое в переменной, позволяя управлять логикой бота на основе его данных (например, возраст, подписка, город).
Итоговая формула (для всех условий)
| Если нужно | То в интерфейсе выбираем |
|---|---|
| Проверить, что true | сам тип условия (IsAdmin, Has, Number...) |
| Проверить, что false | NOT + тот же тип условия |
⚠️ Внимание:
В интерфейсе нет отдельной настройки true/false. Только выбор условия или NOT + условие.