Как проверить длительность голосового сообщения от пользователя
Длительность голосовых сообщений можно узнавать и проверять для того, чтобы не пропускать слишком долгие, слишком короткие сообщения или для других подобных случаев.
1. Добавьте Сообщение.
2. Добавьте Ввод от пользователя с типом Голосовое сообщение.
3. Добавьте Запись переменной.
4. Имя переменной может быть любым, в Значении выведите длину отправляемого сообщения в секундах:
{{lastUpdate.update.voice.duration}}
5. При необходимости выведите длительность голосового сообщения в текст:
Длина сообщения в секундах: {{user_voice}}
6. Добавьте Перемотку, создайте новый экран и направьте на него переход Перемотки.
7. Добавьте на экран Запись переменной и придумайте любое имя переменной. В нашем примере переменная называется user_voice1
8. Тип переменной поменяйте на Число.
9. В Значение впишите максимальное число секунд каким может быть голосовое сообщение от пользователя. В нашем случае это будет 10, но вы можете написать свое число.
10. Добавьте еще одну Запись переменной и придумайте имя для этой переменной. В нашем примере переменная называется user_voice.
11. Добавьте в Значение проверяющий условия хелпер:
{{#gte (toInt user_voice)(toInt user_voice1)}}1{{else}}0{{/gte}}
Этот хелпер поможет развести по разным экранам пользователей отправивших голосовое сообщение короче 10 секунд и длиннее 10 секунд.
Более подробно про Условия можно узнать тут →
В этом примере user_voice — это длина сообщения от пользователя в секундах, user_voice1 — максимальное количество секунд для сообщения пользователя. Если ваши переменные названы по-другому, поменяйте названия в строке с хелперами на ваши названия переменных.
12. Добавьте Развилку с двумя целями. В Имя переменной откуда развилка возьмет значение должна быть вписана такая же переменная как в Записи переменной идущей прямо перед Развилкой. Более подробно про проверку значения переменной через Развилку можно узнать тут →
13. Создайте два экрана — один для тех кто отправил боту голосовое длительностью менее 10 секунд, другой для голосовых более 10 секунд.
14. В Значении первой цели Развилки напишите 0, переход установите на экран для пользователей с сообщением меньше указанной длительности.
15. В Значении второй цели Развилки напишите 1, переход установите не экран для пользователей с сообщением больше указанной длительности.
Сохраните изменения.
Готово.