- Ссылка на бот
Бот выполняет следующие ключевые задачи:
- Запись клиента на сделку (кнопка «Записаться на сделку»): позволяет пользователю бота выбрать необходимую услугу / услуги банка.
- Ответ на интересующий клиента вопрос (кнопка «Задать вопрос»): предполагает выход на консультанта и обсуждение вопроса со специалистом.
- Ознакомление пользователя с услугами банка (кнопка «Посмотреть услуги банка»): выводит банковские услуги в виде древовидного меню, по которому клиент может перемещаться для выбора интересующей услуги.
- Сохранение контактных данных пользователя для связи сотрудника банка с клиентом.
- Пользователь отправляет команду /start, которая запускает диалоговое окно. Приветствие бота сопровождается демонстрацией основного меню, где клиент может выбрать тип взаимодействия с банковским сервисом: «Записаться на сделку», «Задать вопрос», «Посмотреть услуги банка».
- При нажатии кнопки главного меню автоматически подтягивается субменю по выбранной функции меню. При выборе пункта субменю осуществляется переход по древовидной структуре системы меню и уточняется характер сделки. После выбора требуемой услуги бот предлагает пользователю оставить свой номер телефона для обратного звонка из банка.
-
requirements.txtСодержит все необходимые зависимости для запуска проекта. -
main.pyОсновной файл запуска приложения.
API для получения информации о записи клиента на консультацию со специалистом.
Метод GET /deal-info/all – метод получения информации о записи на консультацию со специалистом
-
Входные параметры:
status(query параметр) – значенияTrue,Falseили отсутствует совсем -
Выходные данные (массив JSON объектов):
{
"id": "integer",
"user_id": "string",
"deal_type": "string",
"status": "boolean",
"creation_time": "string",
"tg_username": "string",
}- Пример выходных данных:
[
{
"id": 1,
"user_id": "14",
"deal_type": "onlinereg-1seller-1buyer-object-extra-seller-or-buyer",
"status": true,
"creation_time": "2025-04-26 00:12:49",
"tg_username": "artoe_pere"
},
{
"id": 2,
"user_id": "13",
"deal_type": "akkreditiv-under-1mill",
"status": false,
"creation_time": "2025-04-26 00:34:38",
"tg_username": "artoe_p"
}
]- Данный метод предоставляет информацию о записях клиентов на консультацию со специалистом, полученную из таблицы
deals. - У метода есть query параметр
status. Status – показывает, подтвердил ли клиент консультацию со специалистом или нет. - Если запрос отправляется без параметра, то будут получены все данные со статусом
TrueиFalse. - Если запрос отправляется со
status = True, то будут получены все данные со статусомTrue. - Если запрос отправляется со
status = False, то будут получены все данные со статусомFalse.
База данных для хранения информации о записи клиента на сделку.
deals
| id | user_id | phone_number | deal_type | status | creation_time | tg_username |
|---|---|---|---|---|---|---|
| INTEGER | TEXT | TEXT | BOOLEAN | TEXT | TEXT | TEXT |
deal_types
| deal_type_id | deal_type | deal_description |
|---|---|---|
| INTEGER | TEXT | TEXT |
Обработчики кнопок меню и субменю.
Кнопки для перехода по древовидной структуре меню и субменю.