#!/usr/bin/env python3
"""
Уведомление о исправлении timezone и topic_id
"""
import asyncio
import sys
from pathlib import Path

BASE_DIR = Path(__file__).resolve().parent
sys.path.insert(0, str(BASE_DIR))

from aiogram import Bot
from aiogram.client.default import DefaultBotProperties
from aiogram.enums import ParseMode
from aiogram.client.session.aiohttp import AiohttpSession

from config import BOT_TOKEN, ADMIN_USER_ID, get_proxy_url

async def send_timezone_fix_notification():
    """Уведомление об исправлении timezone"""
    proxy_url = get_proxy_url()
    
    if proxy_url:
        session = AiohttpSession(proxy=proxy_url)
        bot = Bot(token=BOT_TOKEN, session=session, default=DefaultBotProperties(parse_mode=ParseMode.HTML))
    else:
        bot = Bot(token=BOT_TOKEN, default=DefaultBotProperties(parse_mode=ParseMode.HTML))
    
    message = """
✅ <b>КРИТИЧЕСКИЕ ИСПРАВЛЕНИЯ!</b>

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🐛 <b>Найдено и исправлено 2 ошибки:</b>

<b>1️⃣ Timezone конвертация</b>

❌ <b>Было:</b>
Ты выбрал 20:30 (UTC+4)
→ Сохранилось как 20:30 UTC
→ Пост должен был быть в 00:30 ночи!

✅ <b>Стало:</b>
Ты выбираешь 20:30 (UTC+4)
→ Конвертируется в 16:30 UTC
→ Пост публикуется в 20:30 по твоему времени!

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

<b>2️⃣ Общий чат (topic_id=1)</b>

❌ <b>Было:</b>
message_thread_id=1
→ Telegram API ошибка: "message thread not found"

✅ <b>Стало:</b>
Для общего чата НЕ добавляется message_thread_id
→ Пост публикуется в общий чат успешно!

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🧪 <b>ТЕСТ ПРОЙДЕН:</b>

✅ Пост 3 опубликован успешно в общий чат!
✅ Timezone работает правильно
✅ Общий чат работает

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

📋 <b>Коммиты сегодня:</b>

| Хеш | Описание |
|-----|----------|
| `e991be0` | import Path fix |
| `3bd7fe0` | очистка кэша + тест |
| `63d059d` | timezone + general topic |

<i>Теперь всё работает правильно! Можешь планировать посты!</i>
    """
    
    try:
        await bot.send_message(ADMIN_USER_ID, message)
        print("✅ Уведомление отправлено!")
    except Exception as e:
        print(f"❌ Ошибка: {e}")
    finally:
        await bot.session.close()

if __name__ == '__main__':
    asyncio.run(send_timezone_fix_notification())
