<?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);
}
}
?>