Telegram-бот, помогающий клиентам записываться на услуги в барбершоп, не покидая само приложение Telegram.
Возможности пользователя:
- Авторизация в системе Yclients
- Запись на услугу с выбором мастера, даты и времени
- Просмотр предстоящих записей
- Отмена записи
- Перенос записи
- Просмотр всех услуг барбершопа
- Просмотр контактов барбершопа
- Возможность оставить отзыв мастеру или барбершопу
Возможности бота:
- Уведомление о записи за 1 день и 2 часа.
- Напоминание о необходимости повторного визита через 1 месяц, 4 месяца или по выбору.
- Просьба оставить отзыв через определенное время.
- Сохраняем проект в выбранную директорию:
git clone [email protected]:daniil-orlovv/barber_bot.git
- Устанавливаем виртуальное окружение, находясь в корне проекта:
python -m venv venv
- Активируем виртуальное окружение:
source venv/scripts/activate
- Устанавливаем зависимости из файла requirements.txt:
pip install -r requirements.txt
- Создаем аккаунт разработчика в Yclients
- Находясь в своем филиале, переходим в раздел Интеграции.
- Листаем вниз и нажимаем Аккаунт разработчика.
- Будет предложено его создать - создаем.
- Далее создаем приложение. Временно указываем: Приложение непубличное. Указываем название, описание, категорию. Монетизацию не ставим.
- В разделе Доступ к API - Права доступа ставим галочки на всех пунктах.
- Устанавливаем приложение в филиал:
- Переходим в Личный кабинет разработчика - Общая информация - Ссылка на приложение.
- Переходим по ссылке и заменяем 6-значный id компании после
appstore
на id вашей компании:https://yclients.com/appstore/1053113/applications/6652/info?utm_source=short_link
- Перекинет на страницу приложения - Нажимаем установить. В процессе установки, подстверждаем все права.
- Находим User Token: выбираем приложение - Управление - Доступ к API - копируем и сохраняем User Token.
- Находим Partner Token: переходим в раздел Настройки аккаунта - Токен партнера - копируем и сохраняем Partner Token.
- Создаем файл .env и заполняем его по подобию .env.exapmle, указав:
- BOT_TOKEN(можно получить в телеграм-боте
Bot Father
, создав своего бота) - USER_TOKEN
- PARTNER_TOKEN
- COMPANY_ID(можно взять, перейдя на страницу Журнал Записи в Yclients и найти его в адресной строке:
https://yclients.com/timetable/1153330
- Создаем и выполняем миграции с помощью
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
- Запускаем бота с помощью
python main.py
...
...
...
...
...