Урок 9.10 Добавляем полезные функции в бота записывающего на услуги
Отправка заявок в телеграм администратора и специалиста
До этого мы делали бота, который оформляет заявки. В ботхелпе через Альбато мы делали так, чтобы заявки уходили менеджерам. В сейлботе можно сделать без сторонних сервисов.
Для этого есть функция tg_send_message(platform_id, text). Ее нужно вставить просто в калькулятор.
platform_id - это id человека в телеграме. Его можно посмотреть в разделе "Клиенты". Либо написать любое сообщение в бот https://t.me/FIND_MY_ID_BOT
Можно сделать переменную text и в ней сохранить нужный текст. Так может быть удобнее, чтобы не городить все в одной функции.
text = "Новая заявка #{имя} #{phone}"
Если мы хотим сделать перенос строки, то нужно добавить + "\n" +
text = "Новая заявка" + "\n" + "#{имя}" + "\n" + "#{phone}"
Обратите внимание на синтаксис. Все, что пишется в одной строке, берется в кавычки. Затем + "\n" + и снова текст без переносов в кавычках. В кавычках может быть любой текст, в том числе и знаки препинания.
Если вы хотите сделать отправку заявок нескольким людям, то нужно будет повторить функцию, заменив в ней id. Например:
tg_send_message(56565565, text)
tg_send_message(78787878, text)
Таким образом, уведомление получат два человека
Случайное распределение заявок по разным менеджерам
Используем функцию random(1, 3). В данном случае функция будет случайно определять число от 1 до 3. Диапазон может быть любым, не только до 3.
Для удобства найденное случайно значение присвоим переменной, то есть
С помощью полученного значения мы сможем выбирать менеджера из массива. Но для начала надо сделать массив с id телеграмма менеджеров. Что такое массив и как с ним работать подробно описано в инструкции сейлбота https://docs.salebot.pro/peremennye-1/rabota-s-massivami-i-slovaryami
id_manager = {"1" : "id первого менеджера", "2" : "id второго менеджера", "3" : "id третьего менеджера"}
Как видите, данные записаны в паре. И по первому значению (1-3) мы можем получать нужный id менеджера. Для этого есть функция get
get(id_manager, 1) - тут мы говорим программе: найди в массиве id_manager переменную под индексом 1
Чтобы мы могли использовать полученное значение, присвоим его переменной.
И сразу вместо индекса подставим переменную vibor, в которую подставляется случайное число.
random_id = get(id_manager, #{vibor })
Добавляем напоминания за день и за час
Человек выбирает дату и время. Чтобы напомнить за день, нужно сделать блок с напоминанием и задержку с условием "выбранная дата" - "1 день".
Аналогично со временем. Из быранного времени нужно вычесть 1 час или 60 минут.
Добавляем обращение по имени и кнопку "назад"
Добавим обращение по имени, чтобы бот узнавал постоянных клиентов и не спрашивал постоянно у них имя и телефон. Это делается по условию client_phone != None, то есть переменная, в которую записывается номер телефона клиента, имеет какое-то значение.
Восстановите его как в уроке 9 по резервному копированию и восстановлению проекта.
Не забудьте поменять адрес таблицы в константах проекта.
https://drive.google.com/file/d/1u1u4qum5mXqeJ2RFp6Bb3CQVfGQpMNQ0/view?usp=share_link