Цей проект є телеграм-ботом для управління інтернет-магазином, який дозволяє користувачам переглядати каталог товарів, додавати товари до кошика, оформляти замовлення, а також підписуватися на додаткові послуги, такі як прогноз погоди. Крім того, проект надає адміністраторам можливість управляти каталогом товарів та замовленнями.
-
Ініціалізація та налаштування:
- Підключення до Telegram API: Бот використовує токен для взаємодії з Telegram API, що дозволяє йому отримувати та обробляти повідомлення від користувачів.
- Платіжна інтеграція: Налаштована інтеграція з платіжною системою LiqPay для обробки платежів від користувачів.
-
Робота з базою даних:
- Зберігання даних користувачів: База даних
shop_db.sqliteмістить таблицю користувачів, яка зберігає ID користувача, місто та статус підписки на погодні повідомлення. - Збереження замовлень: Таблиця
ordersзберігає інформацію про замовлення, включаючи ID замовлення, користувача, товар, адресу доставки та статус (наприклад, "обробляється", "відправлено"). - Кошик покупок: Таблиця
cartмістить інформацію про товари, які користувач додав у свій кошик перед оформленням замовлення. - Каталог товарів: Таблиця
catalogзберігає товари, доступні для покупки, включаючи категорію, опис, ціну та URL-адресу зображення товару.
- Зберігання даних користувачів: База даних
-
Основні функції для користувачів:
- Перегляд каталогу: Користувачі можуть переглядати каталог товарів, обираючи різні категорії, як-от смартфони, ноутбуки, навушники тощо.
- Управління кошиком: Користувач може додавати товари в кошик, збільшувати або зменшувати їх кількість та видаляти непотрібні товари перед оформленням замовлення.
- Оформлення замовлення: Після завершення вибору товарів користувач може оформити замовлення, вказавши адресу доставки.
- Перегляд замовлень: Користувачі можуть переглядати статус своїх замовлень, а також підтверджувати отримання замовлення за допомогою спеціальних кнопок.
- Прогноз погоди: Бот дозволяє користувачам отримувати прогноз погоди для їхнього міста та підписатися на щоденну розсилку цього прогнозу.
- Залишення відгуку: Користувач може залишити відгук або пропозицію через бот.
-
Функції для адміністратора:
- Додавання товарів у каталог: Адміністратор може додавати нові товари в каталог, вказуючи їхню категорію, назву, опис, ціну та URL зображення.
- Видалення товарів з каталогу: Можливість видаляти товари з каталогу.
- Перегляд усіх замовлень: Адміністратор може переглядати список усіх замовлень, що дозволяє контролювати процес обробки.
- Оновлення статусу замовлень: Адміністратор може змінювати статус замовлення, наприклад, позначати його як "відправлено".
-
Логування подій:
- Всі дії, такі як команди від користувачів, зміни статусів замовлень, та адміністративні функції, записуються у файл
bot.log, що дозволяє легко відстежувати активність та діагностувати можливі проблеми.
- Всі дії, такі як команди від користувачів, зміни статусів замовлень, та адміністративні функції, записуються у файл
Цей проект є навчальним прикладом телеграм-бота для інтернет-магазину з базовим функціоналом для обробки замовлень та взаємодії з користувачами.