import logging
from telegram import Update
from telegram.ext import (
    Application, 
    CommandHandler, 
    MessageHandler, 
    CallbackQueryHandler,
    filters,
    ContextTypes
)
from telegram.request import HTTPXRequest
from config import Config
from handlers import (
    start_command, 
    handle_text, 
    handle_video,
    handle_contact,  # اضافه شده
    cancel
)
from admin import admin_panel, admin_callback_handler, view_user

logging.basicConfig(
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
    level=logging.INFO
)
logger = logging.getLogger(__name__)

def main():
    logger.info("🚀 ربات در حال راه‌اندازی...")
    
    # بدون پروکسی (اگر در خارج از ایران هستید)
    application = Application.builder().token(Config.BOT_TOKEN).build()
    
    # هندلرهای دستورات
    application.add_handler(CommandHandler("start", start_command))
    application.add_handler(CommandHandler("admin", admin_panel))
    application.add_handler(CommandHandler("view_user", view_user))
    application.add_handler(CommandHandler("cancel", cancel))
    
    # هندلرهای پیام
    application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_text))
    application.add_handler(MessageHandler(filters.CONTACT, handle_contact))  # جدید
    application.add_handler(MessageHandler(filters.VIDEO, handle_video))
    
    # هندلر دکمه‌های شیشه‌ای
    application.add_handler(CallbackQueryHandler(admin_callback_handler, pattern='^admin_|^user_detail_|^view_video_|^confirm_delete_'))
    
    logger.info("✅ ربات راه‌اندازی شد!")
    application.run_polling(allowed_updates=Update.ALL_TYPES)

if __name__ == '__main__':
    main()