Skip to main content

Функция bool_symb() в выражениях

bool_symb() -  строковая функция позволяет вам создавать сообщения с динамически изменяющимся содержимым. Выбор содержимого зависит от Условия.

Способ подачи информации в данном пособии предполагает что вы уже ознакомились с указанными по ссылкам документами и в целом понимаете принципы работы описываемого функционала.


❖ Необходимый функционал


Дополнительные переменные.
Для подключения перейдите в вашем боте:
☞ 🔐Админ | 🧩Расширения | 📂Переменные

Макросы и выражения кнопок.
Для подключения перейдите в вашем боте:
☞ 🔐Админ | 🧩Расширения | 📂Кнопки

Условия.
Для подключения перейдите в вашем боте:
☞ 🔐Админ | 🧩Расширения | 📂Кнопки

Пакет дополнительных "Токенов Функций".
Для подключения перейдите в вашем боте:
☞ 🔐Админ | 🧩Расширения | 📂Action-ы

ВАЖНО: Приобретение функционала для бота доступно только Создателю (хозяину) бота. Админы покупать функционал - НЕ МОГУТ!


Как показать разные emoji в зависимости от временники суток.

Ваша служба поддержки не может работать круглосуточно и вы хотите показать юзерам что сейчас у вас ночь и им нужно подождать ответа дольше чем обычно - до наступления утра и рабочего дня.

ЗАДАЧА: Показать в сообщении значок 🌞 днем и значок 🌒 ночью. Допустим, день начинается в 8 часов утра, а ночь в 23:59 ночи.

Воспользуемся одной из функций работы с Датой и Временем dt_left() и макросом Даты %date%:
dt_left("%date% 08:00:00") == 0  ➨ 8 утра уже наступило (до него не осталось времени)
dt_left("%date% 23:59:00") > 0 ➨ 12 ночи еще НЕ наступило (до него осталось время)

Окончательное Выражение будет выглядеть вот так:

{bool_symb(((dt_left("%date% 08:00:00") == 0) and (dt_left("%date% 23:59:00") > 0)),"🌞 Сейчас День" ,"🌒 Сейчас Ночь")}


Как показать разные emoji - Утром, Днём и Вечером.

ЗАДАЧА: Назвать в сообщении текущий период суток с учётом часового пояса бота.

Утро - с 00:00 до 12:00
{bool_symb(dt_diff("%date% 12:00:00", dt_now_tz()) > 0, "Доброе утро", "")}

День - с 12:00 до 20:00
{bool_symb((dt_diff("%date% 12:00:00", dt_now_tz()) <= 0) and (dt_diff("%date% 20:00:00", dt_now_tz()) > 0), "Добрый день", "")}

Вечер - с 20:00 до 00:00
{bool_symb(dt_diff("%date% 20:00:00", dt_now_tz()) <= 0, "Добрый вечер", "")}

Если поместить эти три выражения в одно сообщение, то в единицу времени показано будет только одно из них.


Как показать количество чего-либо при помощи emoji.

В вашей игре юзер может получать награды и вы бы хотели графически показать количество наград персонажа при помощи emoji 🎖.

ЗАДАЧА: Показать в сообщении значки 🎖 в количестве равном числу в переменной %reward%, а в случае отсутствия наград показать соответствующее сообщение. Допустим количество наград и значение в переменной %reward% равно 3, максимальное количество наград 5.

Воспользуемся функцией int_symb() из руководства по выражениям.

Окончательное выражение будет выглядеть вот так:

{bool_symb(%reward%, int_symb(%reward%, "🎖", 5), "У вас нет наград...")}

Результат: 🎖🎖🎖


Как показать текущее и оставшееся до максимума количество чего-либо при помощи emoji.

В вашей игре персонаж имеет очки здоровья и вы бы хотели графически показать количество здоровья персонажа при помощи emoji, а также текущее количество повреждений персонажа.

ЗАДАЧА: Показать в сообщении значки 💚 в количестве равном числу в переменной %hp%, а так же значки 💔 в количестве не достающем до максимума в случае наличия повреждений и соответствующее сообщение если очков здоровья не осталось совсем. Допустим текущее количество очков здоровья и значение в переменной %hp% равно 7, максимальное количество очков здоровья 10.

Окончательное выражение будет выглядеть вот так:

{bool_symb(%hp%, int_symb(%hp%, "💚", 10), "Персонаж без сознания...\n")}{bool_symb((%hp% <= 10), int_symb((10 - %hp%), "💔", 10), "")}

Значок: \n - это символ перевода строки.

Результат (если здоровье равно 7):
💚💚💚💚💚💚💚💔💔💔
Результат (если здоровье равно 0 (ноль)):
Персонаж без сознания...
💔💔💔💔💔💔💔💔💔💔