September 8, 2023

Урок 9.10 Добавляем полезные функции в бота записывающего на услуги

Отправка заявок в телеграм администратора и специалиста

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

Для этого есть функция tg_send_message(platform_id, text). Ее нужно вставить просто в калькулятор.

platform_id - это id человека в телеграме. Его можно посмотреть в разделе "Клиенты". Либо написать любое сообщение в бот https://t.me/FIND_MY_ID_BOT

text тут пишем любой текст

Можно сделать переменную 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.

Для удобства найденное случайно значение присвоим переменной, то есть

vibor = random(1, 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