Skip to content

Incomplite/Telegram-bot-with-webhooks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Маникюрный Бот

Данный проект представляет собой бота для мастера маникюра с использованием FastAPI для поднятия веб-сервера и обработки запросов, а также с реализацией Telegram MiniApp для приема заявок. Бот работает через вебхуки и взаимодействует с базой данных SQLite с использованием SQLAlchemy. Веб-приложение поддерживает статические страницы и функционал для работы администратора и клиентов. Также использовался APScheduler для фоновых и временных задач.

Static Badge GitHub top language

Стек:

  • Backend: FastAPI
  • Telegram API: Aiogram + Webhooks
  • ORM: SQLAlchemy
  • База данных: SQLite
  • Миграции: Alembic

Основные компоненты:

  1. Telegram MiniApp: Мини-приложение для приема и обработки записей на маникюр.
  2. Веб-интерфейс:
    • Главная страница.
    • Страница с формой для записи.
    • Страница просмотра своих записей для пользователей.
    • Страница просмотра и управления всех записей для администратора.
    • Страница создания расписания для администратора.
    • Страница просмотра услуг для пользователей.
    • Страница просмотра, редактирования и удаления услуг для администратора.
    • Страница просмотра всех заявок для администратора.
  3. Телеграм-бот:
    • Возможность добавления ссылки на MiniApp в командное меню, инлайн-клавиатуру и текстовую клавиатуру.
  4. База данных: Хранение данных о записях пользователей и их статусе.

Функционал:

  1. Прием записей через Telegram MiniApp: Пользователи могут создать запись на маникюр через MiniApp.
  2. Просмотр записей:
    • Клиенты могут видеть свои записи на отдельной странице.
    • Администраторы могут управлять записями через интерфейс администратора.
  3. Подтверждение записи:
    • За день до назначенной записи, клиенту придет сообщение с вопросом придет ли он точно.
    • Если клиент подтвердил запись, администратору придет об этом сообщение, в противном случае, придет сообщение об отмене записи и запись удалится из БД.
  4. Просмотр услуг:
    • Клиенты могут видеть все доступные услуги для записи на отдельной странице.
    • Администраторы могут управлять услугами через интерфейс администратора.
  5. Составление расписания:
    • При выборе какой-либо даты, клиенту сразу подтягиваются только доступные времена для записи. Если времени нет, то запись будет недоступны.
    • Администраторы могут составлять расписание через интерфейс администратора.
  6. Интеграция MiniApp в Telegram:
    • Установка ссылки на MiniApp в командное меню, инлайн-кнопки и текстовые клавиатуры бота.
  7. Фоновые задачи:
    • После того, как дата и время записи прошли, запись автоматические отправляется в архив.
    • Когда администраторы составляют расписание, старые записи автоматически будут удаляться.
  8. Миграции с Alembic: Для обновления схемы базы данных используется Alembic.

Установка

  1. Клонирование репозитория
git clone https://github.com/Incomplite/Telegram-bot-with-webhooks.git
  1. Переход в директорию бота
cd Telegram-bot-with-webhooks
  1. Создание виртуального окружения
python3 -m venv venv
  1. Активация виртуального окружения
venv/Scripts/activate
  1. Установка зависимостей
pip3 install -r requirements.txt
  1. Выполнение миграций Alembic
alembic upgrade head
  1. Запуск бота
uvicorn src.main:app

Поддержка

Если у вас возникли сложности или вопросы по использованию, создайте обсуждение в данном репозитории или напишите на электронную почту blocktapok@gmail.com.

About

Telegram-бот на Python с вебхуками для бронирования услуг

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors