from telegram import (
    Update,
    ReplyKeyboardMarkup,
    KeyboardButton
)
from telegram.ext import (
    Application,
    CommandHandler,
    MessageHandler,
    ContextTypes,
    filters
)

TOKEN = "8979243743:AAHtMYmmPyCa-_IaxvmukCv5UMJEIhuJFUo"


# -------------------- Keyboard --------------------
def main_menu():
    keyboard = [
        [KeyboardButton("🎬 دانلود فیلم از اینستاگرام")],
        [
            KeyboardButton("ℹ️ درباره ربات"),
            KeyboardButton("🌟 چرا دانلودر فرا؟")
        ]
    ]
    return ReplyKeyboardMarkup(
        keyboard,
        resize_keyboard=True,
        one_time_keyboard=False
    )


# -------------------- Texts --------------------
WELCOME_TEXT = """
✨ سلام به دانلودر اینستاگرام فرا خوش اومدی! ✨

اینجا می‌تونی خیلی راحت لینک پست، ریلز و استوری اینستاگرام رو بفرستی و فایلش رو تحویل بگیری 📥🔥

یکی از گزینه‌های زیر رو انتخاب کن 👇
"""

DOWNLOAD_TEXT = """
🎬 سلام دوست عزیز!

برای دانلود پست، ریلز یا استوری اینستاگرام فقط کافیه لینک اون رو از اینستاگرام کپی کنی و همینجا برام بفرستی 📎

من خیلی سریع برات آماده‌اش می‌کنم 🚀
"""

ABOUT_TEXT = """
🤖 درباره دانلودر اینستاگرام فرا

من دانلودر اینستاگرام فرا هستم ✨
خوشحالیم که ربات ما رو انتخاب کردی 💙

هدف ما اینه که دانلود از اینستاگرام رو برات سریع، راحت و بدون دردسر کنیم.
"""

WHY_TEXT = """
🌟 چرا دانلودر فرا؟

چون این ربات کاملاً رایگان و نامحدوده 🎁
و برای استفاده از اون نیازی به پرداخت هیچ هزینه‌ای نداری 💯

📢 کانال‌های اسپانسر ما:

🧠 کانال هوش مصنوعی و پرامپت:
https://t.me/Ai_Proompt_IR

🎵 کانال فرا دیجی | FARA DJ:
https://t.me/Fara_DJ
"""


# -------------------- Handlers --------------------
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await update.message.reply_text(
        WELCOME_TEXT,
        reply_markup=main_menu()
    )


async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
    text = update.message.text

    if text == "🎬 دانلود فیلم از اینستاگرام":
        await update.message.reply_text(DOWNLOAD_TEXT, reply_markup=main_menu())

    elif text == "ℹ️ درباره ربات":
        await update.message.reply_text(ABOUT_TEXT, reply_markup=main_menu())

    elif text == "🌟 چرا دانلودر فرا؟":
        await update.message.reply_text(WHY_TEXT, reply_markup=main_menu())

    elif "instagram.com" in text or "instagr.am" in text:
        await update.message.reply_text(
            "🔗 لینک اینستاگرام دریافت شد.\n\n"
            "فعلاً بخش دانلود به نسخه نمایشی وصله و در مرحله بعدی می‌تونم دانلود واقعی پست/ریلز/استوری رو هم برات اضافه کنم 🎯",
            reply_markup=main_menu()
        )

    else:
        await update.message.reply_text(
            "⚠️ لطفاً یکی از گزینه‌های منو را انتخاب کن یا لینک اینستاگرام بفرست.",
            reply_markup=main_menu()
        )


# -------------------- Main --------------------
def main():
    app = Application.builder().token(TOKEN).build()

    app.add_handler(CommandHandler("start", start))
    app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))

    print("Bot is running...")
    app.run_polling()


if __name__ == "__main__":
    main()
