Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Бот для Telegram канала ФОРум || Формула успешных риэлторов

Функционал чат-бота:

Бот выполняет следующие ключевые задачи:

  1. Запись клиента на сделку (кнопка «Записаться на сделку»): позволяет пользователю бота выбрать необходимую услугу / услуги банка.
  2. Ответ на интересующий клиента вопрос (кнопка «Задать вопрос»): предполагает выход на консультанта и обсуждение вопроса со специалистом.
  3. Ознакомление пользователя с услугами банка (кнопка «Посмотреть услуги банка»): выводит банковские услуги в виде древовидного меню, по которому клиент может перемещаться для выбора интересующей услуги.
  4. Сохранение контактных данных пользователя для связи сотрудника банка с клиентом.

Архитектура бота

Логика работы бота

  1. Пользователь отправляет команду /start, которая запускает диалоговое окно. Приветствие бота сопровождается демонстрацией основного меню, где клиент может выбрать тип взаимодействия с банковским сервисом: «Записаться на сделку», «Задать вопрос», «Посмотреть услуги банка».
  2. При нажатии кнопки главного меню автоматически подтягивается субменю по выбранной функции меню. При выборе пункта субменю осуществляется переход по древовидной структуре системы меню и уточняется характер сделки. После выбора требуемой услуги бот предлагает пользователю оставить свой номер телефона для обратного звонка из банка.

Структура проекта

  • requirements.txt Содержит все необходимые зависимости для запуска проекта.

  • main.py Основной файл запуска приложения.

Модуль API

API для получения информации о записи клиента на консультацию со специалистом.

Методы 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.

Модуль DataBase и файл data_base.db

База данных для хранения информации о записи клиента на сделку.

База данных содержит две таблицы:

  • 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

Модуль handlers

Обработчики кнопок меню и субменю.

Модуль keyboards

Кнопки для перехода по древовидной структуре меню и субменю.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages