В некоторых кейсах может потребоваться настроить динамическое склонение слова «день» в зависимости от текущей или заданной даты, чтобы бот корректно писал или озвучивал фразы по типу «11 дней», «4 дня», «21 день» и т.д.
- Перейдите в раздел Сценарии ботов личного кабинета.
- Откройте нужный сценарий в редакторе. Если у вас нет сценария, создайте новый.
- Установите блок Результат с типом действия Без действия.
- Для того чтобы получить номер текущего дня месяца создайте в блоке Результат переменную число и присвойте ей значение
{company.now|формат:j}. Также можно задать произвольный номер дня — для этого достаточно записать нужное значение в переменную число.
- Добавьте блок Выражение, и проведите в него стрелку из блока Результат.
- В блоке Выражение нажмите на кнопку Открыть редактор, и скопируйте в окно редактора следующее выражение:
$день = str.rreplace(str.rreplace(str.rreplace($число, "/\b(?!11$)([0-2]?1|31)\b/", "день"), "/\b(?!(1[2-4]$))([0-2]?[2-4])\b/", "дня"), "/\b(?:[5-9]|1[0-9]|2[5-9]|30|20|11|12|13|14)\b/", "дней")
- Нажмите на кнопку Сохранить в редакторе выражения.
- Добавьте блок Информация и проведите в него стрелку из блока Выражение.
- В тексте блока выведите переменные:
{число} {день}
- Сохраните сценарий и проверьте его работу в тестовом окне редактора.
