import telebot import os import random from dotenv import load_dotenv from db import get_db_connection, release_db_connection load_dotenv() TOKEN = os.getenv('TELEGRAM_BOT_TOKEN') if not TOKEN: print("TELEGRAM_BOT_TOKEN not found. Bot will not start.") exit() bot = telebot.TeleBot(TOKEN) @bot.message_handler(commands=['start', 'help']) def send_welcome(message): help_text = """ 🚀 AutoMarket: Директор магазина Я ваш мобильный помощник по управлению маркетплейсами. Команды: 📊 /stats — Сводка продаж за сегодня 📉 /oos — Товары, которые скоро закончатся 🔔 /cases — Активные жалобы на нарушения 💬 /reviews — Последние отзывы Настройте TELEGRAM_CHAT_ID в .env, чтобы получать уведомления! """ bot.reply_to(message, help_text, parse_mode='HTML') @bot.message_handler(commands=['stats']) def get_stats(message): # В реальном приложении мы бы искали пользователя по chat_id # Для демо берем агрегированные данные total_sales = random.randint(150000, 450000) orders = random.randint(20, 100) report = f""" 📊 Статистика за сегодня: ━━━━━━━━━━━━━━━━━━ 💰 Выручка: {total_sales:,} ₽ 📦 Заказов: {orders} шт. 🚀 Рост к вчера: +12% Данные агрегированы по всем вашим магазинам. """ bot.reply_to(message, report, parse_mode='HTML') @bot.message_handler(commands=['oos']) def get_oos(message): items = [ {"name": "Беспроводная кофемолка", "left": 3}, {"name": "Набор ножей GT-5", "left": 5}, {"name": "Пылесос автомобильный", "left": 1} ] text = "📉 Критический запас (Out of Stock):\n\n" for item in items: text += f"⚠️ {item['name']} — осталось {item['left']} шт.\n" text += "\nРекомендуем сделать поставку в ближайшие 24 часа." bot.reply_to(message, text, parse_mode='HTML') @bot.message_handler(commands=['cases']) def get_cases(message): bot.reply_to(message, "🔔 У вас 3 активных нарушения.\nПо всем случаям ИИ уже подготовил претензии. Проверьте в веб-интерфейсе.") @bot.message_handler(commands=['reviews']) def get_reviews(message): review = "⭐⭐⭐⭐\n'Товар хороший, но коробка помята...'\n\n💡 ИИ советует: Извиниться за логистику и предложить скидку на след. покупку." bot.reply_to(message, f"💬 Новый отзыв Ozon:\n\n{review}", parse_mode='HTML') if __name__ == "__main__": print("Bot is running...") bot.infinity_polling()