set_charset("utf8mb4"); } // ⚠️ এখানে নিজের Anthropic API Key বসাও // (console.anthropic.com থেকে বানাতে হবে) define('ANTHROPIC_API_KEY', 'তোমার_আসল_API_KEY_এখানে_বসাও'); $userMessage = trim($_POST['message'] ?? ''); if ($userMessage === '') { echo json_encode(['reply' => 'কিছু লেখো, আমি সাহায্য করার চেষ্টা করবো।']); exit; } $userMessageLower = mb_strtolower($userMessage, 'UTF-8'); // ✅ ধাপ ১ — আগে Keyword-Match Try করা (Free) $bestMatch = null; $bestScore = 0; $result = $conn->query("SELECT keywords, answer FROM chatbot_faq"); while ($row = $result->fetch_assoc()) { $keywords = explode(',', $row['keywords']); $score = 0; foreach ($keywords as $kw) { $kw = trim(mb_strtolower($kw, 'UTF-8')); if ($kw !== '' && mb_strpos($userMessageLower, $kw) !== false) { $score++; } } if ($score > $bestScore) { $bestScore = $score; $bestMatch = $row['answer']; } } if ($bestMatch !== null) { echo json_encode(['reply' => $bestMatch, 'source' => 'keyword']); exit; } // ✅ ধাপ ২ — কিছু না মিললে, Claude AI-কে জিজ্ঞেস করা function askClaude($question) { $systemPrompt = "তুমি একটা Gaming/Betting Website-এর Customer Support Assistant। " . "শুধু Deposit, Withdraw, Game, Account সংক্রান্ত প্রশ্নে সাহায্য করো। " . "সংক্ষিপ্ত, বন্ধুত্বপূর্ণ ভাষায় বাংলায় উত্তর দাও (২-৩ বাক্যের বেশি না)। " . "নিশ্চিত না হলে, Telegram Support-এ যোগাযোগ করতে বলো।"; $payload = [ "model" => "claude-sonnet-4-5", "max_tokens" => 300, "system" => $systemPrompt, "messages" => [ ["role" => "user", "content" => $question] ] ]; $ch = curl_init("https://api.anthropic.com/v1/messages"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload)); curl_setopt($ch, CURLOPT_HTTPHEADER, [ "x-api-key: " . ANTHROPIC_API_KEY, "anthropic-version: 2023-06-01", "content-type: application/json" ]); curl_setopt($ch, CURLOPT_TIMEOUT, 20); $response = curl_exec($ch); $curlError = curl_error($ch); curl_close($ch); if ($curlError) return null; $data = json_decode($response, true); if (isset($data['content'][0]['text'])) { return $data['content'][0]['text']; } return null; } $aiReply = askClaude($userMessage); if ($aiReply !== null) { echo json_encode(['reply' => $aiReply, 'source' => 'ai']); } else { // ✅ AI-ও ব্যর্থ হলে (API Key ভুল/সমস্যা), Telegram-এ পাঠানো $telegramLink = '#'; $tgResult = $conn->query("SELECT setting_value FROM site_settings WHERE setting_key = 'social_telegram' LIMIT 1"); if ($tgResult && $tgRow = $tgResult->fetch_assoc()) { if (!empty($tgRow['setting_value'])) $telegramLink = $tgRow['setting_value']; } echo json_encode([ 'reply' => "দুঃখিত, এই মুহূর্তে উত্তর দিতে পারছি না। সরাসরি যোগাযোগ করো: $telegramLink", 'source' => 'fallback' ]); }