(function() {
var c='null',n='チャット',clr='#40A9BF',g='',origin='',o=0,m=[],l=0;
if(g)m.push({r:'assistant',c:g});
var d=document.createElement('div');
d.style.cssText='position:fixed;bottom:20px;right:20px;z-index:9999';
d.id='cb-widget';
document.body.appendChild(d);
function r(){
if(o===0){
d.innerHTML=' ';
}else{
var h='
'+n+' ✕
';
m.forEach(function(msg){
h+='
';
});
if(l)h+='
';
if(m.length===0)h+='
';
h+='
';
d.innerHTML=h;
setTimeout(function(){var e=document.getElementById('cb-msg');if(e)e.scrollTop=e.scrollHeight},0);
}
}
var s=document.createElement('style');
s.innerHTML='@keyframes cb-bounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-10px)}}';
document.head.appendChild(s);
window.cbOpen=function(){o=1;r()};
window.cbClose=function(){o=0;r()};
window.cbSend=async function(){
var i=document.getElementById('cb-inp'),t=i.value.trim();
if(!t||l)return;
m.push({r:'user',c:t});
i.value='';
l=1;
r();
try{
var res=await fetch(origin+'/api/functions/sendChatMessage',{
method:'POST',
headers:{'Content-Type':'application/json'},
body:JSON.stringify({chatbot_id:c,message:t})
});
var data=await res.json();
console.log('Response:',data);
if(data.answer){
m.push({r:'assistant',c:data.answer});
}else if(data.error){
m.push({r:'assistant',c:data.error});
}else{
m.push({r:'assistant',c:'エラーが発生しました'});
}
}catch(e){
console.error('Error:',e);
m.push({r:'assistant',c:'接続エラーが発生しました'});
}
l=0;
r();
};
r();
})();