- Created chatwoot-agent-bot/ with Node.js webhook server - Bot detects intent (greeting, billing, technical, features, account) - Auto-responds from FAQ knowledge base or escalates to human - FAQ-KB.md: Living knowledge base that grows with customer questions - CHATWOOT-SETUP.md: Complete deployment and configuration guide - Supports Telegram notifications on escalation - Bot runs on port 3001, ready for Chatwoot webhook integration
49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
import utils from '../utils.js';
|
|
import platform from '../platform/index.js';
|
|
|
|
export default platform.hasStandardBrowserEnv
|
|
? // Standard browser envs support document.cookie
|
|
{
|
|
write(name, value, expires, path, domain, secure, sameSite) {
|
|
if (typeof document === 'undefined') return;
|
|
|
|
const cookie = [`${name}=${encodeURIComponent(value)}`];
|
|
|
|
if (utils.isNumber(expires)) {
|
|
cookie.push(`expires=${new Date(expires).toUTCString()}`);
|
|
}
|
|
if (utils.isString(path)) {
|
|
cookie.push(`path=${path}`);
|
|
}
|
|
if (utils.isString(domain)) {
|
|
cookie.push(`domain=${domain}`);
|
|
}
|
|
if (secure === true) {
|
|
cookie.push('secure');
|
|
}
|
|
if (utils.isString(sameSite)) {
|
|
cookie.push(`SameSite=${sameSite}`);
|
|
}
|
|
|
|
document.cookie = cookie.join('; ');
|
|
},
|
|
|
|
read(name) {
|
|
if (typeof document === 'undefined') return null;
|
|
const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));
|
|
return match ? decodeURIComponent(match[1]) : null;
|
|
},
|
|
|
|
remove(name) {
|
|
this.write(name, '', Date.now() - 86400000, '/');
|
|
},
|
|
}
|
|
: // Non-standard browser env (web workers, react-native) lack needed support.
|
|
{
|
|
write() {},
|
|
read() {
|
|
return null;
|
|
},
|
|
remove() {},
|
|
};
|