Как проверить длительность голосового сообщения от пользователя

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

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, переход установите не экран для пользователей с сообщением больше указанной длительности.

Сохраните изменения.

Готово.

В начало ↑