Skip to content

HollyLight28/Smakota_bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Smakota Bot 🍕

Професійний Telegram-бот для доставки їжі з інтеграцією Google Sheets, SQLite та зручною адмін-панеллю.

✨ Основні можливості

  • Динамічне меню: Оновлення меню безпосередньо з Google Таблиці без зупинки бота.
  • Розумний кошик: Інтерактивне управління кількістю товарів (+, -, Видалити) прямо в повідомленні.
  • Оформлення замовлення (FSM): Покроковий майстер оформлення з можливістю повернутися назад або скасувати.
  • Адмін-панель: Сповіщення про нові замовлення, призначення кур'єрів, статистика.
  • Кур'єрський додаток: Окремий інтерфейс для кур'єрів (отримання замовлення, карта, статус "Доставлено").
  • Надійність: Збереження історії замовлень, захист від втрати кошика при оновленні меню.

🛠️ Встановлення

  1. Клонуйте репозиторій:

    git clone https://github.com/your-repo/smakota-bot.git
    cd smakota-bot
  2. Створіть віртуальне середовище (рекомендовано):

    python3 -m venv venv
    source venv/bin/activate  # Linux/macOS
    # venv\Scripts\activate   # Windows
  3. Встановіть залежності:

    pip install -r requirements.txt
  4. Налаштуйте змінні оточення: Створіть файл .env і додайте:

    BOT_TOKEN=ващ_токен_бота
    ADMIN_ID=ваш_telegram_id

🚀 Запуск

  1. Запустіть бота:

    python3 bot.py
  2. Оновлення меню: Відправте боту команду /updatemenu (тільки для адміна). Бот завантажить дані з Google Таблиці, оновить ціни та наявність, не чіпаючи активні кошики користувачів.

  3. Додавання кур'єра:

    /add_courier <ID_Кур'єра> <Ім'я>
    

📊 Структура бази даних (SQLite)

  • items: Товари (з підтримкою is_active для м'якого видалення).
  • categories: Категорії страв.
  • cart_items: Кошики користувачів.
  • orders: Історія замовлень.
  • couriers: Список авторизованих кур'єрів.

📱 Google Sheets Інтеграція

Бот зчитує меню з Google Таблиці за посиланням у update_menu_gs.py. Формат таблиці (колонки): Category | Item Name | Price | Description | Weight

👨‍💻 Розробка

  • bot.py: Основна логіка бота та обробники повідомлень.
  • database.py: Робота з SQLite (ORM-like функції).
  • keyboards.py: Всі клавіатури (Inline та Reply).
  • update_menu_gs.py: Скрипт синхронізації з Google Sheets.

Розроблено з ❤️ для Smakota

About

Бот для самокоти. Доставка їжі. Портфоліо. Проект номер один.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors