from telegram import Update, KeyboardButton, ReplyKeyboardMarkup, InlineKeyboardButton, InlineKeyboardMarkup
from telegram.ext import Application, CommandHandler, CallbackQueryHandler, ContextTypes, MessageHandler, filters

TOKEN = "8920426277:AAGMNUYSFk4cCQCMdQZw2gnU-4ZPIAAf4RU"

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
    # ========== دکمه‌های رنگی پایین صفحه (Keyboard) ==========
    keyboard_buttons = [
        [
            KeyboardButton(text="✅ تأیید و ادامه", style="success"),      # سبز
            KeyboardButton(text="❌ لغو عملیات", style="danger")           # قرمز
        ],
        [
            KeyboardButton(text="ℹ️ اطلاعات بیشتر", style="primary")       # آبی
        ]
    ]
    
    reply_markup = ReplyKeyboardMarkup(keyboard_buttons, resize_keyboard=True)
    
    # ========== دکمه‌های رنگی شیشه‌ای (Inline) ==========
    inline_buttons = [
        [
            InlineKeyboardButton(text="⭐ خرید اشتراک", style="primary", callback_data="buy"),
            InlineKeyboardButton(text="💎 وضعیت اکانت", style="success", callback_data="status")
        ],
        [
            InlineKeyboardButton(text="🗑️ حذف اطلاعات", style="danger", callback_data="delete")
        ]
    ]
    
    inline_markup = InlineKeyboardMarkup(inline_buttons)
    
    await update.message.reply_text(
        "🎨 **ربات تست دکمه‌های رنگی**\n\n"
        "🔽 **کیبورد پایین صفحه (دکمه‌های رنگی):**",
        reply_markup=reply_markup,
        parse_mode="Markdown"
    )
    
    await update.message.reply_text(
        "✨ **دکمه‌های شیشه‌ای رنگی:**",
        reply_markup=inline_markup,
        parse_mode="Markdown"
    )

async def button_callback(update: Update, context: ContextTypes.DEFAULT_TYPE):
    query = update.callback_query
    await query.answer()
    
    if query.data == "buy":
        await query.edit_message_text("🛒 شما روی **خرید اشتراک** کلیک کردید!")
    elif query.data == "status":
        await query.edit_message_text("📊 وضعیت اکانت شما: **فعال** ✅")
    elif query.data == "delete":
        await query.edit_message_text("⚠️ اطلاعات شما **پاک شد**!")

async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
    text = update.message.text
    
    if "تأیید" in text:
        await update.message.reply_text("✅ عملیات با موفقیت تأیید شد!")
    elif "لغو" in text:
        await update.message.reply_text("❌ عملیات لغو شد!")
    elif "اطلاعات" in text:
        await update.message.reply_text("ℹ️ این یک ربات تست با دکمه‌های رنگی است.\nبرای تست مجدد، /start را بزنید.")
    else:
        await update.message.reply_text(f"شما نوشتید: {text}\n\nبرای دیدن دکمه‌ها، /start را بزنید.")

def main():
    app = Application.builder().token(TOKEN).build()
    
    app.add_handler(CommandHandler("start", start))
    app.add_handler(CallbackQueryHandler(button_callback))
    app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))
    
    print("✅ ربات روشن شد!")
    print("🤖 به ربات خود بروید و /start را بزنید")
    print("⚠️ مطمئن شوید VPN شما روشن است")
    print("⏹️ برای توقف، Ctrl+C را بزنید")
    
    app.run_polling()

if __name__ == "__main__":
    main()