Skip to content

Бот, помогающий клиентам быстро записываться на услуги барбершопа, находясь в Телеграме

Notifications You must be signed in to change notification settings

daniil-orlovv/barber_bot

Repository files navigation

BarberBot

Описание проекта

Telegram-бот, помогающий клиентам записываться на услуги в барбершоп, не покидая само приложение Telegram.

Возможности пользователя:

  • Авторизация в системе Yclients
  • Запись на услугу с выбором мастера, даты и времени
  • Просмотр предстоящих записей
  • Отмена записи
  • Перенос записи
  • Просмотр всех услуг барбершопа
  • Просмотр контактов барбершопа
  • Возможность оставить отзыв мастеру или барбершопу

Возможности бота:

  • Уведомление о записи за 1 день и 2 часа.
  • Напоминание о необходимости повторного визита через 1 месяц, 4 месяца или по выбору.
  • Просьба оставить отзыв через определенное время.

Установка, настройка и запуск проекта

Запуск на компьютере для локального тестирования бота

  1. Сохраняем проект в выбранную директорию: git clone [email protected]:daniil-orlovv/barber_bot.git
  2. Устанавливаем виртуальное окружение, находясь в корне проекта: python -m venv venv
  3. Активируем виртуальное окружение: source venv/scripts/activate
  4. Устанавливаем зависимости из файла requirements.txt: pip install -r requirements.txt
  5. Создаем аккаунт разработчика в Yclients
    1. Находясь в своем филиале, переходим в раздел Интеграции.
    2. Листаем вниз и нажимаем Аккаунт разработчика.
    3. Будет предложено его создать - создаем.
  6. Далее создаем приложение. Временно указываем: Приложение непубличное. Указываем название, описание, категорию. Монетизацию не ставим.
  7. В разделе Доступ к API - Права доступа ставим галочки на всех пунктах.
  8. Устанавливаем приложение в филиал:
    1. Переходим в Личный кабинет разработчика - Общая информация - Ссылка на приложение.
    2. Переходим по ссылке и заменяем 6-значный id компании после appstore на id вашей компании: https://yclients.com/appstore/1053113/applications/6652/info?utm_source=short_link
    3. Перекинет на страницу приложения - Нажимаем установить. В процессе установки, подстверждаем все права.
  9. Находим User Token: выбираем приложение - Управление - Доступ к API - копируем и сохраняем User Token.
  10. Находим Partner Token: переходим в раздел Настройки аккаунта - Токен партнера - копируем и сохраняем Partner Token.
  11. Создаем файл .env и заполняем его по подобию .env.exapmle, указав:
  • BOT_TOKEN(можно получить в телеграм-боте Bot Father, создав своего бота)
  • USER_TOKEN
  • PARTNER_TOKEN
  • COMPANY_ID(можно взять, перейдя на страницу Журнал Записи в Yclients и найти его в адресной строке: https://yclients.com/timetable/1153330
  1. Создаем и выполняем миграции с помощью alembic:
  • Переходим в корень и инициализируем alembic: alembic init alembic
  • В файле alembic.ini указываем путь до файла базы данных sqlite3: sqlalchemy.url = sqlite:///sqlite3.db
  • По пути alembic/ находим env.pyи меняем строку target_metadata = None на:
    # Импорт вышестоящего каталога
    import os
    import sys
    sys.path.insert(0, '/'.join(os.path.dirname(os.path.abspath(__file__)).split('/')[:-1]))
    
    from myapp.mymodel import Base
    target_metadata = Base.metadata
    
    где myapp.mymodel путь до моделей БД -> models.models
  • Создаем миграции: alembic revision --message="Initial" --autogenerate
  • Применяем миграции: alembic upgrade head
  1. Запускаем бота с помощью python main.py

Запуск на компьютере c помощью Docker

...

Запуск на компьютере c помощью docker-compose

...

Запуск на сервере

...

Описание структуры проекта

...

Стек технологий

...

About

Бот, помогающий клиентам быстро записываться на услуги барбершопа, находясь в Телеграме

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages