import mysql.connector
import os
import telebot
from datetime import datetime, timedelta
from dotenv import load_dotenv

load_dotenv()

# Konfigurācija
bot = telebot.TeleBot(os.getenv("TELEGRAM_BOT_TOKEN"))

def get_db():
    return mysql.connector.connect(
        host=os.getenv("DB_HOST"),
        user=os.getenv("DB_USER"),
        password=os.getenv("DB_PASS"),
        database=os.getenv("DB_NAME")
    )

def send_reminders():
    print("🔍 Meklēju neaktīvos studentus...")
    db = get_db()
    cursor = db.cursor(dictionary=True)
    
    # Meklējam lietotājus, kuri nav bijuši aktīvi vairāk par 24h, 
    # bet mazāk par 7 dienām, un kuriem šodien vēl nav sūtīts atgādinājums.
    yesterday = (datetime.now() - timedelta(days=1)).date()
    today = datetime.now().date()
    
    query = """
    SELECT user_id, first_name, streak_days FROM users 
    WHERE last_activity <= %s 
    AND (last_reminder_date IS NULL OR last_reminder_date < %s)
    AND status = 'active'
    """
    cursor.execute(query, (yesterday, today))
    inactive_users = cursor.fetchall()
    
    count = 0
    for user in inactive_users:
        user_id = user['user_id']
        name = user['first_name'] or "Student"
        streak = user['streak_days'] or 0
        
        msg = f"👋 **Sveiks, {name}!**\n\n"
        if streak > 0:
            msg += f"Tev ir **{streak} dienu sērija**! 🔥 Nepazaudē to! Ienāc šodien un pabeidz vismaz vienu lekciju.\n\n"
        else:
            msg += "Tavs MI ceļojums tevi gaida! 🚀 Atvēli 5 minūtes šodien, lai kļūtu par soli tuvāk MI ekspertam.\n\n"
        
        msg += "Spied /start, lai turpinātu!"
        
        try:
            bot.send_message(user_id, msg, parse_mode='Markdown')
            cursor.execute("UPDATE users SET last_reminder_date = %s WHERE user_id = %s", (today, user_id))
            count += 1
            print(f"✅ Atgādinājums nosūtīts: {user_id}")
        except Exception as e:
            print(f"❌ Neizdevās nosūtīt {user_id}: {e}")
            
    db.commit()
    db.close()
    print(f"🎉 Pabeigts! Nosūtīti {count} atgādinājumi.")

if __name__ == "__main__":
    send_reminders()
