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()