Priority File Manager

📁 public_html
Base Directory:
/home/ecedu/public_html/telegrambot
NameTypeSizeActions
📁 .. Folder -
📄 bot.php File 2620
Edit Download
📄 db.php File 958
Edit Download
📁 logs Folder -
📄 new_telegram_bot.zip File 6891
Edit Download
📁 uploads Folder -
📄 utils.php File 6530
Edit Download

View File: bot.php

<?php
require_once "db.php";     // اتصال قاعدة البيانات
require_once "utils.php";  // الدوال المساعدة

// استقبال الرسائل من Telegram
$content = file_get_contents("php://input");
$update = json_decode($content, true);

if (!$update) exit;

$chat_id = $update['message']['chat']['id'] ?? null;
$text = $update['message']['text'] ?? null;

if ($text == "/start") {
    // عند البداية
    saveUserState($chat_id, []);
    sendMessage($chat_id, "مرحبا بكم مع المساعد الذكي ( حمادة AI ) من الكلية التربوية المفتوحة للاجابة عن جميع الاسئلة والاستفسارات المعدة مسبقاً : اختر احد الخيارات", mainMenu());

} elseif ($text == "🔙 الرجوع") {
    // الرجوع خطوة للخلف
    $history = getUserState($chat_id);
    
    if (count($history) > 0) {
        array_pop($history);
        saveUserState($chat_id, $history);
    }

    $parent_id = end($history) ?: null;

    $buttons = $parent_id ? getSubMenu($parent_id) : mainMenu();
    sendMessage($chat_id, "اختر من القائمة:", $buttons);

} else {
    // 1. البحث عن عنصر مطابق تماماً (لأزرار القائمة)
    $faq = searchFAQ($text);

    if ($faq) {
        // --- 2. تم العثور على زر مطابق (منطق الأزرار) ---
        
        // تحديث سجل المستخدم
        $history = getUserState($chat_id);
        $history[] = $faq['id'];
        saveUserState($chat_id, $history);

        // التحقق من وجود قائمة فرعية
        if (checkSubMenu($faq['id'])) {
            sendMessage($chat_id, "اختر من القائمة:", getSubMenu($faq['id']));
        } else {
            // لا يوجد قائمة فرعية، نعرض الإجابة
            sendMessage($chat_id, $faq['answer'], [["🔙 الرجوع"]]);
        }
    } else {
        // --- 3. لم يتم العثور على زر مطابق (رسالة خطأ ثابتة) ---
        
        $response_message = "عذراً، لا يمكنني فهم طلبك. يرجى اختيار أحد الأزرار المعروضة في القائمة.";
        
        // إرسال رسالة الخطأ مع خيار الرجوع إذا كان هناك سجل سابق
        $history = getUserState($chat_id);
        $buttons = (count($history) > 0) ? [["🔙 الرجوع"]] : mainMenu();

        sendMessage($chat_id, $response_message, $buttons);
    }
}
?>