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