<script>
    // ── AI 聊天机器人 ──────────────────────────────────
    let chatBotSending = false;

    /**
     * 发送消息给 AI 机器人
     * 先在包厢窗口显示用户消息，再调用 API 获取回复
     */
    async function sendToChatBot(content, isSecret = false) {
        if (chatBotSending) {
            window.chatDialog.alert('AI 正在思考中，请稍候...', '提示', '#336699');
            return;
        }
        chatBotSending = true;

        /**
         * 将 AI 错误提示追加到包厢窗口，样式与正常 AI 回复保持一致。
         *
         * @param {string} text  错误提示文本
         */
        function appendBotError(text) {
            const msgBox = document.getElementById('chat-messages-container2');
            if (!msgBox) return;
            const errDiv = document.createElement('div');
            errDiv.className = 'msg-line';
            errDiv.innerHTML = `<span style="color: #dc2626;">🤖【AI小班长】${text}</span>`;
            msgBox.appendChild(errDiv);
            if (typeof autoScroll !== 'undefined' && autoScroll) {
                msgBox.scrollTop = msgBox.scrollHeight;
            }
        }

        try {
            const res = await fetch(window.chatContext.chatBotUrl, {
                method: 'POST',
                headers: {
                    'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute(
                        'content'),
                    'Content-Type': 'application/json',
                    'Accept': 'application/json'
                },
                body: JSON.stringify({
                    message: content,
                    room_id: window.chatContext.roomId,
                    is_secret: isSecret ? 1 : 0,
                })
            });

            const data = await res.json();

            if (!res.ok || data.status !== 'success') {
                // 接口返回的错误信息：仅显示在包厢窗口，不走公屏
                appendBotError(data.message || '回复失败，请稍后重试');
            }
        } catch (e) {
            // 网络层异常：同样只显示在包厢窗口
            appendBotError('网络连接错误，请稍后重试');
        }

        chatBotSending = false;
    }

    /**
     * 清除与 AI 小助手的对话上下文
     */
    async function clearChatBotContext() {
        try {
            const res = await fetch(window.chatContext.chatBotClearUrl, {
                method: 'POST',
                headers: {
                    'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute(
                        'content'),
                    'Accept': 'application/json'
                }
            });
            const data = await res.json();

            const sysDiv = document.createElement('div');
            sysDiv.className = 'msg-line';
            sysDiv.innerHTML = '<span style="color: #16a34a;">🤖【系统】' + (data.message || '对话已重置') + '</span>';
            container2.appendChild(sysDiv);
            if (autoScroll) container2.scrollTop = container2.scrollHeight;
        } catch (e) {
            window.chatDialog.alert('清除失败：' + e.message, '操作失败', '#cc4444');
        }
    }
</script>
