<?php
/**
 * chatbot_reply.php (AI-Powered Version)
 *
 * ✅ প্রথমে Keyword-Match Try করে (Free, দ্রুত)।
 * না মিললে, Claude AI-কে জিজ্ঞেস করে (সামান্য খরচ হয়)।
 */
include __DIR__ . "/deepanshu/conn.php";
header('Content-Type: application/json; charset=utf-8');
// ✅ নতুন যোগ — Bengali/Taka-Symbol সঠিকভাবে আসার জন্য
if (isset($conn)) { $conn->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'
    ]);
}
