Подсказка | ||
---|---|---|
| ||
Этот кейс поддерживается телеграм ботом LiveDemo - ID этого кейса: 137789465. |
Примечание |
---|
Получить номер телефона в Telegram можно только с согласия клиента - у Telegram ботов нет доступа к персональным данным, и номер не сохраняется в переменную {системные.телефон}. |
Для того Для того, чтобы получить номер клиента с помощью функции Поделиться номером, выполните следующие действия в редакторе сценария:
- Разместите блок вопроса.
- Добавьте действие Поделиться номером.
В поле ниже укажите текст, который будет отображаться на кнопке.
Примечание title Важно Блок вопроса не должен быть пустым, иначе кнопка не будет отображаться клиенту.
- Далее протяните стрелку из блока вопроса в интересующий вас блок и выберите ее. После этого выполните следующие действия:
4.1. Установите Тип выходных данных как Ветка по умолчанию. Это необходимо для корректной работы этого кейса.
4.2. Поставьте галку Сохранить ответ.
4.3.В появившемся поле объвите объявите название новой переменной, куда будет сохранен полученный номер.
4.4. Заполните поле Вариант ответа. Текст, содержащийся в этом поле, обязательно должен совпадать с текстом, который вы указали в пункте 3.
Примечание | ||
---|---|---|
| ||
Полученный : полученный от клиента номер в мобильном приложении Telegram и декстопной его версии будет отличаться. В мобильной версии номер телефона будет начинаться с 7, а с в декстопной с +7. Для того , чтобы избавиться от символа «+» вы можете использовать обработчик этого события, описанный ниже. |
Для того , чтобы получить корретную корректную форму ответа без символа «+», выполните следующие действия:
- Разместите блок арифметики.
- Установите Убедитесь, что Тип установлен как Арифметическая операция.
- Введите в основное поле блока метод функцию math.round({X}, 0), где Х - – название вашей переменной, в которой содержится полученный номер клиентакоторую вы задали на шаге 4.3, с номером клиента внутри.
- Заполните поле Сохранить результат в переменную по шаблону {X}, где X - – название вашей переменной, в которую вы хотите сохранить получившийся номер.
Примечание | ||
---|---|---|
| ||
Просим обратить внимание на аргументы функции math.round(num number, precision int). Функция округляет число (в нашем кейсе номер |
...
телефона является числом). Если передать в функцию текст (строку), то Бот может зависнуть. Он не пойдет далее по сценарию и не переведет диалог на оператора. В будущих релизах мы исправим это поведение. А пока просим Вас быть внимательнее. Подробнее о BPL функциях Вы можете прочитать в статье "Функции стандартной библиотеки BPL v2" |
На скриншоте ниже можно наблюдатьвидно, как бот вывел 2 варианта ответа: до обработки и после.