Files
nabeh/backend/app/Core/Flows/TestFlow.php

39 lines
1.5 KiB
PHP

<?php
namespace App\Core\Flows;
/**
* TestFlow
* A basic interactive flow for testing the multi-stage system.
*/
class TestFlow extends BaseFlow
{
public function handleStep(string $step, array $messageData, array &$context): FlowResult
{
$text = isset($messageData['body']) ? trim($messageData['body']) : '';
switch ($step) {
case 'start':
// Initiate step
return new FlowResult("أهلاً بك في اختبار المسار التفاعلي! ما هو اسمك الكريم؟", "ask_name");
case 'ask_name':
if (empty($text)) {
return new FlowResult("يرجى إدخال اسمك للاستمرار:", "ask_name");
}
$context['name'] = $text;
return new FlowResult("تشرفنا بك يا {$text}! من فضلك قم بتقييم خدمتنا من 1 إلى 5:", "ask_feedback");
case 'ask_feedback':
if (!preg_match('/^[1-5]$/', $text)) {
return new FlowResult("الرجاء إدخال رقم من 1 إلى 5 فقط للتقييم:", "ask_feedback");
}
$context['rating'] = (int)$text;
return new FlowResult("شكراً لك يا {$context['name']}! لقد تم تسجيل تقييمك ({$text}/5) بنجاح. يومك سعيد!", "finished", true);
default:
return new FlowResult("خطأ في تحديد خطوة المسار.", "finished", true);
}
}
}