1/* 2 * Project: wpwBot jQuery Plugin 3 * Description: wpwBot AI based Chatting functionality are handled . 4 * Author: QuantumCloud 5 * Version: 1.0 6 */ 7var globalwpw; 8var wpwTree; 9var wpwAction; 10var wpwKits; 11var wpwWelcome; 12var wpwMsg; 13var botaudiolist = []; 14var botaudioisplay = false; 15var response_type = 0; 16 17function qcldPushAiContext(role, content) { 18 if (typeof globalwpw === 'undefined') return; 19 if (typeof globalwpw.aiContext === 'undefined') { 20 globalwpw.aiContext = []; 21 } 22 if (!content) return; 23 24 var cleanContent = content; 25 if (role === 'assistant') { 26 cleanContent = cleanContent.replace(/<[^>]*>?/gm, '').trim(); 27 } else if (role === 'user') { 28 var lower = content.toLowerCase().trim(); 29 var titles = (typeof wp_chatbot_obj !== 'undefined' && wp_chatbot_obj.ai_form_titles) ? wp_chatbot_obj.ai_form_titles : ((typeof qcld_chatbot_obj !== 'undefined' && qcld_chatbot_obj.ai_form_titles) ? qcld_chatbot_obj.ai_form_titles : []); 30 if (titles && titles.length) { 31 for (var t = 0; t < titles.length; t++) { 32 var title = titles[t]; 33 if (lower === title || lower.indexOf(title) !== -1 || title.indexOf(lower) !== -1) { 34 globalwpw.active_ai_action = title; 35 globalwpw.qcld_ai_form_persisted_state = true; 36 break; 37 } 38 } 39 } 40 } 41 42 globalwpw.aiContext.push({role: role, content: cleanContent}); 43 if (globalwpw.aiContext.length > 30) { 44 globalwpw.aiContext.shift(); 45 } 46} 47 48function qcldIsAiFormInProgress() { 49 if (typeof globalwpw !== 'undefined' && globalwpw.active_ai_action) { 50 return true; 51 } 52 var titles = (typeof wp_chatbot_obj !== 'undefined' && wp_chatbot_obj.ai_form_titles) ? wp_chatbot_obj.ai_form_titles : ((typeof qcld_chatbot_obj !== 'undefined' && qcld_chatbot_obj.ai_form_titles) ? qcld_chatbot_obj.ai_form_titles : []); 53 if (!titles || !titles.length || typeof globalwpw === 'undefined' || !globalwpw.aiContext) { 54 return false; 55 } 56 57 var hasFormTrigger = false; 58 for (var i = 0; i < globalwpw.aiContext.length; i++) { 59 var msg = globalwpw.aiContext[i]; 60 if (msg.role === 'user') { 61 var content = (msg.content || '').toLowerCase().trim(); 62 for (var t = 0; t < titles.length; t++) { 63 var title = titles[t]; 64 if (content === title || content.indexOf(title) !== -1 || title.indexOf(content) !== -1) { 65 hasFormTrigger = true; 66 globalwpw.active_ai_action = title; 67 } 68 } 69 } 70 if (msg.role === 'assistant') { 71 if (msg.content && (msg.content.indexOf('__AI_FORM_DATA__') !== -1 || msg.content.indexOf('ai-form-summary-card') !== -1 || msg.content.indexOf('Thank you! Your information has been successfully submitted.') !== -1)) { 72 hasFormTrigger = false; 73 globalwpw.active_ai_action = ''; 74 } 75 } 76 } 77 78 return hasFormTrigger || !!(globalwpw.active_ai_action); 79} 80 81function qcldWpbotGetAiConfig() { 82 if (typeof wp_chatbot_obj !== 'undefined') { 83 return wp_chatbot_obj; 84 } 85 if (typeof globalwpw !== 'undefined' && globalwpw.settings && globalwpw.settings.obj) { 86 return globalwpw.settings.obj; 87 } 88 return null; 89} 90 91function qcldWpbotIsAnyAiEnabled() { 92 var cfg = qcldWpbotGetAiConfig(); 93 if (!cfg) { 94 return false; 95 } 96 return cfg.ai_any_enabled == "1" || 97 cfg.open_ai_enable == "1" || 98 cfg.gemini_enabled == "1" || 99 cfg.grok_enabled == "1" || 100 cfg.claude_enabled == "1" || 101 cfg.openrouter_enabled == "1" || 102 cfg.mistral_enabled == "1" || 103 cfg.ollama_enabled == "1" || 104 (cfg.ai_df_enable == "1" && typeof globalwpw !== "undefined" && globalwpw.df_status_lock == 0); 105} 106 107function qcldWpbotIsAiFileUploadFeatureEnabled() { 108 var cfg = qcldWpbotGetAiConfig(); 109 return !!(cfg && (cfg.ai_file_upload_enabled == "1" || cfg.ai_file_upload_enabled === 1 || cfg.ai_file_upload_enabled === true)); 110} 111 112function qcldWpbotIsAiFileUploadAllowed() { 113 if (!qcldWpbotIsAiFileUploadFeatureEnabled() || !qcldWpbotIsAnyAiEnabled() || typeof global
113wpw === "undefined") { 114 return false; 115 } 116 if (parseInt(globalwpw.wildCard, 10) === 7 || parseInt(globalwpw.wildCard, 10) === 95) { 117 return false; 118 } 119 if (jQuery("#wp-chatbot-editor").attr("type") === "file") { 120 return false; 121 } 122 if (globalwpw.formid && String(globalwpw.formid).length > 0) { 123 return false; 124 } 125 var blockedWildcards = [3, 6, 9, 21, 22]; 126 if (blockedWildcards.indexOf(parseInt(globalwpw.wildCard, 10)) !== -1) { 127 return false; 128 } 129 return true; 130} 131 132function qcldFormatAndHandleAiForm(msg) { 133 if (!msg || typeof msg !== 'string') return msg; 134 msg = msg.replace(/__AI_FORM_IN_PROGRESS__/g, ''); 135 136 var formRegex = /(?:<[^>]+>)*\s*(?:_|<[^>]+>)*AI_FORM_DATA(?:_|<[^>]+>)*[\s\S]*?(?:_|<[^>]+>)*AI_FORM_DATA_END(?:_|<[^>]+>)*\s*(?:<\/[^>]+>)*/gi; 137 138 msg = msg.replace(formRegex, function(match) { 139 try { 140 var jsonMatch = match.match(/\{[\s\S]*\}/); 141 if (jsonMatch) { 142 var jsonStr = jsonMatch[0]; 143 var data = JSON.parse(jsonStr.trim()); 144 145 var postData = { 146 action: 'qcld_save_ai_form', 147 data: jsonStr, 148 nonce: (typeof wp_chatbot_obj !== 'undefined' ? wp_chatbot_obj.ajax_nonce : (typeof qcld_chatbot_obj !== 'undefined' ? qcld_chatbot_obj.nonce : '')) 149 }; 150 if (typeof wpwKits !== 'undefined' && wpwKits.ajax) { 151 wpwKits.ajax(postData); 152 } else { 153 var ajaxUrl = (typeof wpbot_ajax !== 'undefined' && wpbot_ajax.ajaxurl) ? wpbot_ajax.ajaxurl : (typeof ajaxurl !== 'undefined' ? ajaxurl : ''); 154 if (ajaxUrl) jQuery.post(ajaxUrl, postData); 155 } 156 157 if (typeof globalwpw !== 'undefined') { 158 globalwpw.aiContext = []; 159 globalwpw.active_ai_action = ''; 160 globalwpw.qcld_ai_form_persisted_state = false; 161 globalwpw.is_in_ai_form = false; 162 } 163 164 var html = '<div class="ai-form-summary-card" style="background: #f4f6f9; border-left: 4px solid #0073aa; padding: 12px 14px; margin: 10px 0; border-radius: 4px; font-size: 13px; line-height: 1.5; color: #333;">'; 165 var title = data.form_title || 'Form Summary'; 166 html += '<div style="font-weight: 600; color: #0073aa; margin-bottom: 8px; text-transform: capitalize; font-size: 14px;">' + title + '</div>'; 167 168 var fieldsObj = (data.data && typeof data.data === 'object') ? data.data : data; 169 170 html += '<table style="width: 100%; border-collapse: collapse; margin-top: 4px;">'; 171 for (var key in fieldsObj) { 172 if (fieldsObj.hasOwnProperty(key) && key !== 'form_title' && key !== 'action') { 173 var val = fieldsObj[key]; 174 if (typeof val !== 'object') { 175 var cleanKey = key.replace(/[-_]/g, ' '); 176 html += '<tr><td style="padding: 3px 6px 3px 0; color: #555; font-weight: 600; width: 42%; vertical-align: top; text-transform: capitalize;">' + cleanKey + ':</td><td style="padding: 3px 0; color: #222; vertical-align: top;">' + val + '</td></tr>'; 177 } 178 } 179 } 180 html += '</table>'; 181 html += '</div>'; 182 return html; 183 } 184 } catch(e) { 185 console.error('AI Form parse error:', e); 186 } 187 return ''; 188 }); 189 return msg; 190} 191 192(function ($) { 193 ("use strict"); 194 /* 195 * Global variable as object will beused to handle 196 * wpwbot chatting initialize, tree change transfer, 197 * changing tree steps and cookies etc. 198 */ 199 globalwpw = { 200 initialize: 1, 201 settings: {}, 202 wildCard: 0, 203 wildcards: "", 204 wildcardsHelp: [ 205 "start", 206 "support", 207 "reset", 208 "email subscription", 209 "unsubscribe", 210 "livechat", 211 ], 212 productStep: "asking", 213 orderStep: "welcome", 214 supportStep: "welcome", 215 formStep: "welcome", 216 strStep: "search", 217 strObject: {}, 218 strEntities: {}, 219 strMatchfailed: 0, 220 formfieldid: "", 221 formid: "", 222 formentry: 0, 223 paymentFieldActive: false, 224 aiPendingFile: null, 225 bargainStep: "welcome", // bargin welcome message 226 bargainId: 0, // bargin product id 227 bargainVId: 0, // bargin product variation id 228 bargainPrice: 0, // bargin price 229 bargainLoop: 0, // bargin price 230 hasNameCookie: $.cookie("shopper"), 231 shopperUserName: "", 232 shopperEmail: "", 233 shopperMessage: "", 234 emptymsghandler: 0, 235 repeatQueryEmpty: "", 236 wpwIsWorking: 0, 237 ai_step: 0, 238 df_status_lock: 0, 239 counter: 0, 240 emailContent: [], 241 resetStep: "welcome",
242 askEmail: 0, 243 session_mailed: "", 244 }; 245 /* 246 * wpwbot welcome section coverd 247 * greeting for new and already visited shopper 248 * based the memory after asking thier name. 249 */ 250 251 wpwWelcome = { 252 greeting: function () { 253 //Very begining greeting. 254 //generating unique session id. 255 if (!localStorage.getItem("botsessionid")) { 256 var number = Math.random(); // 0.9394456857981651 257 number.toString(36); // '0.xtis06h6' 258 var id = number.toString(36).substr(2); // 'xtis06h6' 259 260 localStorage.setItem("botsessionid", id); 261 } 262 globalwpw.initialize = 1; 263 if (globalwpw.wildCard == 9) { 264 wpwTree.bargain(); 265 } else if ( 266 typeof globalwpw.settings.obj.clickintent !== "undefined" && 267 (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() == 268 "faq" 269 ) { 270 if (!localStorage.getItem("shopper")) { 271 $.cookie( 272 "shopper", 273 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 274 { expires: 365 } 275 ); 276 localStorage.setItem( 277 "shopper", 278 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 279 ); 280 globalwpw.hasNameCookie = wpwKits.render( 281 globalwpw.settings.obj.shopper_demo_name 282 ); 283 } 284 285 globalwpw.wildCard = 1; 286 globalwpw.supportStep = "welcome"; 287 wpwAction.bot("from wildcard support"); 288 //keeping value in localstorage 289 localStorage.setItem("wildCard", globalwpw.wildCard); 290 localStorage.setItem("supportStep", globalwpw.supportStep); 291 globalwpw.initialize = 0; 292 globalwpw.ai_step = 1; 293 } else if ( 294 typeof globalwpw.settings.obj.clickintent !== "undefined" && 295 (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() == 296 "email subscription" 297 ) { 298 if (!localStorage.getItem("shopper")) { 299 $.cookie( 300 "shopper", 301 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 302 { expires: 365 } 303 ); 304 localStorage.setItem( 305 "shopper", 306 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 307 ); 308 globalwpw.hasNameCookie = wpwKits.render( 309 globalwpw.settings.obj.shopper_demo_name 310 ); 311 } 312 313 globalwpw.wildCard = 3; 314 globalwpw.subscriptionStep = "welcome"; 315 wpwTree.subscription(); 316 localStorage.setItem("wildCard", globalwpw.wildCard); 317 localStorage.setItem("supportStep", globalwpw.supportStep); 318 globalwpw.initialize = 0; 319 globalwpw.ai_step = 1; 320 } else if ( 321 typeof globalwpw.settings.obj.clickintent !== "undefined" && 322 (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() == 323 "product search" 324 ) { 325 if (!localStorage.getItem("shopper")) { 326 $.cookie( 327 "shopper", 328 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 329 { expires: 365 } 330 ); 331 localStorage.setItem( 332 "shopper", 333 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 334 ); 335 globalwpw.hasNameCookie = wpwKits.render( 336 globalwpw.settings.obj.shopper_demo_name 337 ); 338 } 339 globalwpw.wildCard = 20; 340 globalwpw.productStep = "asking"; 341 wpwAction.bot("from wildcard product"); 342 //keeping value in localstorage 343 localStorage.setItem("wildCard", globalwpw.wildCard); 344 localStorage.setItem("productStep", globalwpw.productStep); 345 globalwpw.initialize = 0; 346 globalwpw.ai_step = 1; 347 } else if ( 348 typeof globalwpw.settings.obj.clickintent !== "undefined" && 349 (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() == 350 "catalog" 351 ) { 352 if (!localStorage.getItem("shopper")) { 353 $.cookie( 354 "shopper", 355 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 356 { expires: 365 } 357 ); 358 localStorage.setItem( 359 "shopper", 360 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 361 );
362 globalwpw.hasNameCookie = wpwKits.render( 363 globalwpw.settings.obj.shopper_demo_name 364 ); 365 } 366 wpwAction.bot( 367 (wpwKits.render(globalwpw.settings.obj.sys_key_catalog) || '').toLowerCase() 368 ); 369 globalwpw.initialize = 0; 370 globalwpw.ai_step = 1; 371 } else if ( 372 typeof globalwpw.settings.obj.clickintent !== "undefined" && 373 (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() == 374 "featured products" 375 ) { 376 if (!localStorage.getItem("shopper")) { 377 $.cookie( 378 "shopper", 379 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 380 { expires: 365 } 381 ); 382 localStorage.setItem( 383 "shopper", 384 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 385 ); 386 globalwpw.hasNameCookie = wpwKits.render( 387 globalwpw.settings.obj.shopper_demo_name 388 ); 389 } 390 globalwpw.wildCard = 20; 391 globalwpw.productStep = "featured"; 392 wpwAction.bot("from wildcard product"); 393 //keeping value in localstorage 394 localStorage.setItem("wildCard", globalwpw.wildCard); 395 localStorage.setItem("productStep", globalwpw.productStep); 396 397 globalwpw.initialize = 0; 398 globalwpw.ai_step = 1; 399 } else if ( 400 typeof globalwpw.settings.obj.clickintent !== "undefined" && 401 (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() == 402 "products on sale" 403 ) { 404 if (!localStorage.getItem("shopper")) { 405 $.cookie( 406 "shopper", 407 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 408 { expires: 365 } 409 ); 410 localStorage.setItem( 411 "shopper", 412 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 413 ); 414 globalwpw.hasNameCookie = wpwKits.render( 415 globalwpw.settings.obj.shopper_demo_name 416 ); 417 } 418 globalwpw.wildCard = 20; 419 globalwpw.productStep = "sale"; 420 wpwAction.bot("from wildcard product"); 421 //keeping value in localstorage 422 localStorage.setItem("wildCard", globalwpw.wildCard); 423 localStorage.setItem("productStep", globalwpw.productStep); 424 425 globalwpw.initialize = 0; 426 globalwpw.ai_step = 1; 427 } else if ( 428 typeof globalwpw.settings.obj.clickintent !== "undefined" && 429 (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() == 430 "order status" 431 ) { 432 if (!localStorage.getItem("shopper")) { 433 $.cookie( 434 "shopper", 435 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 436 { expires: 365 } 437 ); 438 localStorage.setItem( 439 "shopper", 440 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 441 ); 442 globalwpw.hasNameCookie = wpwKits.render( 443 globalwpw.settings.obj.shopper_demo_name 444 ); 445 } 446 globalwpw.wildCard = 21; 447 globalwpw.orderStep = "welcome"; 448 wpwAction.bot("from wildcard order"); 449 //keeping value in localstorage 450 localStorage.setItem("wildCard", globalwpw.wildCard); 451 localStorage.setItem("orderStep", globalwpw.orderStep); 452 453 globalwpw.initialize = 0; 454 globalwpw.ai_step = 1; 455 } else if ( 456 typeof globalwpw.settings.obj.clickintent !== "undefined" && 457 (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() == 458 wpwKits.render(globalwpw.settings.obj.site_search) 459 ) { 460 if (!localStorage.getItem("shopper")) { 461 $.cookie( 462 "shopper", 463 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 464 { expires: 365 } 465 ); 466 localStorage.setItem( 467 "shopper", 468 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 469 ); 470 globalwpw.hasNameCookie = wpwKits.render( 471 globalwpw.settings.obj.shopper_demo_name 472 ); 473 } 474 475 if (
476 typeof globalwpw.hasNameCookie == "undefined" || 477 globalwpw.hasNameCookie == "" 478 ) { 479 var shopperName = wpwKits.render( 480 globalwpw.settings.obj.shopper_demo_name 481 ); 482 } else { 483 var shopperName = globalwpw.hasNameCookie; 484 } 485 var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_search_keyword); 486 487 wpwMsg.single(askEmail.replace("#name", shopperName)); 488 //Now updating the support part as . 489 globalwpw.supportStep = "search"; 490 globalwpw.wildCard = 1; 491 globalwpw.ai_step = 1; 492 globalwpw.initialize = 0; 493 //keeping value in localstorage 494 localStorage.setItem("wildCard", globalwpw.wildCard); 495 localStorage.setItem("supportStep", globalwpw.supportStep); 496 } else if ( 497 typeof globalwpw.settings.obj.clickintent !== "undefined" && 498 (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() == 499 "send us email" 500 ) { 501 if (!localStorage.getItem("shopper")) { 502 $.cookie( 503 "shopper", 504 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 505 { expires: 365 } 506 ); 507 localStorage.setItem( 508 "shopper", 509 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 510 ); 511 globalwpw.hasNameCookie = wpwKits.render( 512 globalwpw.settings.obj.shopper_demo_name 513 ); 514 } 515 516 if ( 517 typeof globalwpw.hasNameCookie == "undefined" || 518 globalwpw.hasNameCookie == "" 519 ) { 520 var shopperName = wpwKits.render( 521 globalwpw.settings.obj.shopper_demo_name 522 ); 523 } else { 524 var shopperName = globalwpw.hasNameCookie; 525 } 526 var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_email); 527 wpwMsg.single(askEmail); 528 //Now updating the support part as . 529 globalwpw.supportStep = "email"; 530 globalwpw.wildCard = 1; 531 globalwpw.ai_step = 1; 532 globalwpw.initialize = 0; 533 //keeping value in localstorage 534 localStorage.setItem("wildCard", globalwpw.wildCard); 535 localStorage.setItem("supportStep", globalwpw.supportStep); 536 } else if ( 537 typeof globalwpw.settings.obj.clickintent !== "undefined" && 538 (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() == 539 "leave a feedback" 540 ) { 541 if (!localStorage.getItem("shopper")) { 542 $.cookie( 543 "shopper", 544 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 545 { expires: 365 } 546 ); 547 localStorage.setItem( 548 "shopper", 549 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 550 ); 551 globalwpw.hasNameCookie = wpwKits.render( 552 globalwpw.settings.obj.shopper_demo_name 553 ); 554 } 555 556 if ( 557 typeof globalwpw.hasNameCookie == "undefined" || 558 globalwpw.hasNameCookie == "" 559 ) { 560 var shopperName = wpwKits.render( 561 globalwpw.settings.obj.shopper_demo_name 562 ); 563 } else { 564 var shopperName = globalwpw.hasNameCookie; 565 } 566 567 var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_email); 568 wpwMsg.single(askEmail); 569 //Now updating the support part as . 570 globalwpw.supportStep = "email"; 571 globalwpw.wildCard = 1; 572 globalwpw.ai_step = 1; 573 globalwpw.initialize = 0; 574 575 //keeping value in localstorage 576 localStorage.setItem("wildCard", globalwpw.wildCard); 577 localStorage.setItem("supportStep", globalwpw.supportStep); 578 } else if ( 579 typeof globalwpw.settings.obj.clickintent !== "undefined" && 580 (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() == 581 "request callback" 582 ) { 583 if (!localStorage.getItem("shopper")) { 584 $.cookie( 585 "shopper", 586 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 587 { expires: 365 } 588 ); 589 localStorage.setItem( 590 "shopper", 591 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 592 );
593 globalwpw.hasNameCookie = wpwKits.render( 594 globalwpw.settings.obj.shopper_demo_name 595 ); 596 } 597 598 if ( 599 typeof globalwpw.hasNameCookie == "undefined" || 600 globalwpw.hasNameCookie == "" 601 ) { 602 var shopperName = wpwKits.render( 603 globalwpw.settings.obj.shopper_demo_name 604 ); 605 } else { 606 var shopperName = globalwpw.hasNameCookie; 607 } 608 var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_phone); 609 setTimeout(function () { 610 wpwMsg.single(askEmail); 611 //Now updating the support part as . 612 globalwpw.supportStep = "phone"; 613 globalwpw.wildCard = 1; 614 globalwpw.ai_step = 1; 615 globalwpw.initialize = 0; 616 //keeping value in localstorage 617 localStorage.setItem("wildCard", globalwpw.wildCard); 618 localStorage.setItem("supportStep", globalwpw.supportStep); 619 }, 1000); 620 } else if ( 621 typeof globalwpw.settings.obj.clickintent !== "undefined" && 622 (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() != "" 623 ) { 624 // Helper: detect if the clickintent matches a saved AI action title. 625 // If so, pre-set is_in_ai_form and active_ai_action so that 626 // qcld_render_dynamic_or_start_menu's guard fires correctly for all 627 // subsequent responses â not just ones triggered by a wildcard click. 628 var qcldSetAiActionStateFromIntent = function (intentStr) { 629 var titles = (typeof wp_chatbot_obj !== 'undefined' && wp_chatbot_obj.ai_form_titles) 630 ? wp_chatbot_obj.ai_form_titles 631 : ((typeof qcld_chatbot_obj !== 'undefined' && qcld_chatbot_obj.ai_form_titles) 632 ? qcld_chatbot_obj.ai_form_titles : []); 633 if (!titles || !titles.length) return false; 634 var lower = (intentStr || '').toLowerCase().trim(); 635 for (var t = 0; t < titles.length; t++) { 636 var title = titles[t]; 637 if (lower === title || lower.indexOf(title) !== -1 || title.indexOf(lower) !== -1) { 638 globalwpw.is_in_ai_form = true; 639 globalwpw.active_ai_action = title; 640 globalwpw.qcld_ai_form_persisted_state = true; 641 return true; 642 } 643 } 644 return false; 645 }; 646 647 if ( 648 globalwpw.settings.obj.skip_wp_greetings == 1 || 649 globalwpw.settings.obj.skip_wp_greetings_trigger_intent == 1 650 ) { 651 if (!localStorage.getItem("shopper")) { 652 $.cookie( 653 "shopper", 654 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 655 { expires: 365 } 656 ); 657 localStorage.setItem( 658 "shopper", 659 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 660 ); 661 globalwpw.hasNameCookie = wpwKits.render( 662 globalwpw.settings.obj.shopper_demo_name 663 ); 664 } 665 globalwpw.initialize = 0; 666 globalwpw.ai_step = 1; 667 globalwpw.wildCard = 0; 668 // Before firing the bot, check if clickintent is an AI action so that 669 // the greeting / start-menu is suppressed for the entire AI action session. 670 qcldSetAiActionStateFromIntent( 671 (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() 672 ); 673 // wpwKits.trigger_intent((wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase()) 674 wpwAction.bot( 675 (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() 676 ); 677 } else { 678 // Also guard the non-skip path â in case the setting changes mid-session. 679 qcldSetAiActionStateFromIntent( 680 (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() 681 ); 682 wpwAction.bot( 683 (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() 684 ); 685 } 686 } else if (typeof ldsuggestionObject !== "undefined") {
687 globalwpw.wildCard = 30; 688 wpwAction.bot("from wildcard ldsesson"); 689 } else { 690 // re targeting part . 691 if ( 692 globalwpw.settings.obj.skip_wp_greetings == 1 || 693 globalwpw.settings.obj.skip_wp_greetings_trigger_intent == 1 694 ) { 695 if ( 696 globalwpw.settings.obj.re_target_handler == 0 && 697 globalwpw.settings.obj.disable_first_msg != 1 698 ) { 699 var botJoinMsg = 700 "<strong>" + 701 wpwKits.render(globalwpw.settings.obj.agent) + 702 " </strong> " + 703 wpwKits.randomMsg(globalwpw.settings.obj.agent_join); 704 wpwMsg.single(botJoinMsg); 705 } 706 if (globalwpw.settings.obj.disable_first_msg != 1) { 707 $.cookie( 708 "shopper", 709 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 710 { expires: 365 } 711 ); 712 localStorage.setItem( 713 "shopper", 714 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 715 ); 716 globalwpw.hasNameCookie = wpwKits.render( 717 globalwpw.settings.obj.shopper_demo_name 718 ); 719 globalwpw.ai_step = 1; 720 globalwpw.wildCard = 0; 721 localStorage.setItem("wildCard", globalwpw.wildCard); 722 localStorage.setItem("aiStep", globalwpw.ai_step); 723 setTimeout(function () { 724 if ( 725 globalwpw.settings.obj.re_target_handler == 0 && 726 globalwpw.settings.obj.disable_first_msg != 1 727 ) { 728 var firstMsg = 729 wpwKits.randomMsg(globalwpw.settings.obj.hi_there) + 730 " " + 731 wpwKits.randomMsg(globalwpw.settings.obj.welcome) + 732 " <strong>" + 733 wpwKits.render(globalwpw.settings.obj.host) + 734 "</strong> "; 735 wpwMsg.single(firstMsg); 736 } 737 var serviceOffer = wpwKits.randomMsg( 738 globalwpw.settings.obj.wildcard_msg 739 ); 740 setTimeout(function () { 741 if ( 742 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 743 globalwpw.settings.obj.qcld_disable_beginning_startmenu != "1" 744 ) { 745 if ( 746 typeof globalwpw.wildcards != "undefined" && 747 globalwpw.wildcards != "" 748 ) { 749 wpwMsg.double_nobg(serviceOffer, globalwpw.wildcards); 750 } else { 751 wpwMsg.single(serviceOffer); 752 } 753 } else { 754 if ( 755 globalwpw.settings.obj.skip_wp_greetings_trigger_intent == 756 1 || 757 typeof globalwpw.settings.obj.clickintent !== "undefined" 758 ) { 759 if (globalwpw.settings.obj.clickintent != "") { 760 globalwpw.settings.obj.clickintent = 761 globalwpw.settings.obj.init_trigger_intent; 762 wpwAction.bot( 763 wpwKits.render(globalwpw.settings.obj.clickintent) 764 ); 765 } 766 } else { 767 globalwpw.initialize = 0; 768 globalwpw.ai_step = 1; 769 globalwpw.wildCard = 0; 770 if ( 771 typeof globalwpw.settings.obj.clickintent != "undefined" 772 ) { 773 wpwAction.bot( 774 wpwKits.render(globalwpw.settings.obj.clickintent) 775 ); 776 } else { 777 wpwMsg.single(serviceOffer); 778 } 779 } 780 } 781 }, globalwpw.settings.preLoadingTime); 782 }, globalwpw.settings.preLoadingTime); 783 } else { 784 $.cookie( 785 "shopper", 786 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 787 { expires: 365 } 788 ); 789 localStorage.setItem( 790 "shopper", 791 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 792 );
793 globalwpw.hasNameCookie = wpwKits.render( 794 globalwpw.settings.obj.shopper_demo_name 795 ); 796 globalwpw.ai_step = 1; 797 globalwpw.wildCard = 0; 798 localStorage.setItem("wildCard", globalwpw.wildCard); 799 localStorage.setItem("aiStep", globalwpw.ai_step); 800 setTimeout(function () { 801 var serviceOffer = wpwKits.randomMsg( 802 globalwpw.settings.obj.wildcard_msg 803 ); 804 setTimeout(function () { 805 if ( 806 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 807 globalwpw.settings.obj.qcld_disable_beginning_startmenu != "1" 808 ) { 809 if ( 810 typeof globalwpw.wildcards != "undefined" && 811 globalwpw.wildcards != "" 812 ) { 813 wpwMsg.double_nobg(serviceOffer, globalwpw.wildcards); 814 } 815 } else { 816 if ( 817 globalwpw.settings.obj.skip_wp_greetings_trigger_intent == 818 1 || 819 typeof globalwpw.settings.obj.clickintent !== "undefined" 820 ) { 821 if (globalwpw.settings.obj.clickintent != "") { 822 globalwpw.settings.obj.clickintent = 823 globalwpw.settings.obj.init_trigger_intent; 824 wpwAction.bot( 825 wpwKits.render(globalwpw.settings.obj.clickintent) 826 ); 827 } 828 } else { 829 globalwpw.initialize = 0; 830 globalwpw.ai_step = 1; 831 globalwpw.wildCard = 0; 832 if ( 833 typeof globalwpw.settings.obj.clickintent != "undefined" 834 ) { 835 wpwAction.bot( 836 wpwKits.render(globalwpw.settings.obj.clickintent) 837 ); 838 } 839 } 840 } 841 }, globalwpw.settings.preLoadingTime); 842 }, globalwpw.settings.preLoadingTime); 843 } 844 } else if (globalwpw.settings.obj.order_login) { 845 if ( 846 globalwpw.settings.obj.re_target_handler == 0 && 847 globalwpw.settings.obj.disable_first_msg != 1 848 ) { 849 var botJoinMsg = 850 "<strong>" + 851 wpwKits.render(globalwpw.settings.obj.agent) + 852 " </strong> " + 853 wpwKits.randomMsg(globalwpw.settings.obj.agent_join); 854 wpwMsg.single(botJoinMsg); 855 } 856 857 $.cookie("shopper", globalwpw.settings.obj.order_user, { 858 expires: 365, 859 }); 860 localStorage.setItem("shopper", globalwpw.settings.obj.order_user); 861 globalwpw.hasNameCookie = globalwpw.settings.obj.order_user; 862 globalwpw.ai_step = 1; 863 globalwpw.wildCard = 0; 864 localStorage.setItem("wildCard", globalwpw.wildCard); 865 localStorage.setItem("aiStep", globalwpw.ai_step); 866 setTimeout(function () { 867 if ( 868 globalwpw.settings.obj.re_target_handler == 0 && 869 globalwpw.settings.obj.disable_first_msg != 1 870 ) { 871 var firstMsg = 872 wpwKits.randomMsg(globalwpw.settings.obj.hi_there) + 873 " " + 874 wpwKits.randomMsg(globalwpw.settings.obj.welcome) + 875 " <strong>" + 876 wpwKits.render(globalwpw.settings.obj.host) + 877 "</strong> "; 878 wpwMsg.single(firstMsg); 879 } 880 setTimeout(function () { 881 //Greeting with name and suggesting the wildcard. 882 var NameGreeting = 883 wpwKits.randomMsg(globalwpw.settings.obj.i_am) + 884 " <strong>" + 885 wpwKits.render(globalwpw.settings.obj.agent) + 886 "</strong>! " + 887 wpwKits.randomMsg(globalwpw.settings.obj.name_greeting); 888 889 //this data should be conditional 890 var serviceOffer = wpwKits.randomMsg(
891 globalwpw.settings.obj.wildcard_msg 892 ); 893 //After completing two steps messaging showing wildcards. 894 //After completing two steps messaging showing wildcards. 895 if ( 896 globalwpw.settings.obj.show_menu_after_greetings == 1 && 897 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 898 globalwpw.settings.obj.qcld_disable_beginning_startmenu != "1" 899 ) { 900 //wpwMsg.triple_nobg(NameGreeting,serviceOffer, globalwpw.wildcards); 901 if ( 902 typeof globalwpw.wildcards != "undefined" && 903 globalwpw.wildcards != "" 904 ) { 905 wpwMsg.triple_nobg( 906 NameGreeting, 907 serviceOffer, 908 globalwpw.wildcards 909 ); 910 } else { 911 wpwMsg.double(NameGreeting, serviceOffer); 912 } 913 } else { 914 wpwMsg.single(NameGreeting); 915 } 916 globalwpw.ai_step = 1; 917 globalwpw.wildCard = 0; 918 localStorage.setItem("wildCard", globalwpw.wildCard); 919 localStorage.setItem("aiStep", globalwpw.ai_step); 920 }, globalwpw.settings.preLoadingTime); 921 }, globalwpw.settings.preLoadingTime); 922 } else { 923 if ( 924 wp_chatbot_obj.re_target_handler == 0 && 925 globalwpw.settings.obj.disable_first_msg != 1 926 ) { 927 var botJoinMsg = 928 "<strong>" + 929 wpwKits.render(globalwpw.settings.obj.agent) + 930 " </strong> " + 931 wpwKits.randomMsg(globalwpw.settings.obj.agent_join); 932 wpwMsg.single(botJoinMsg); 933 } 934 //Showing greeting for name in cookie or fresh shopper. 935 setTimeout(function () { 936 var secondMsg = wpwKits.randomMsg( 937 globalwpw.settings.obj.asking_name 938 ); 939 var firstMsg = 940 wpwKits.randomMsg(globalwpw.settings.obj.hi_there) + 941 " " + 942 wpwKits.randomMsg(globalwpw.settings.obj.welcome) + 943 " <strong>" + 944 wpwKits.render(globalwpw.settings.obj.host) + 945 "</strong> "; 946 wpwMsg.double(firstMsg, secondMsg); 947 }, globalwpw.settings.preLoadingTime); 948 } 949 } 950 }, 951 }; 952 //Append the message to the message container based on the requirement. 953 wpwMsg = { 954 replace_variable: function (msg) { 955 if (globalwpw.hasNameCookie) { 956 var shopper = globalwpw.hasNameCookie; 957 } else { 958 var shopper = wpwKits.render(globalwpw.settings.obj.shopper_demo_name); 959 } 960 961 if (msg != "" && typeof msg !== "undefined") { 962 if (Object.keys(globalwpw.strEntities).length > 0) { 963 $.each(Object.keys(globalwpw.strEntities), function (index, entity) { 964 msg = msg.toString().replace(entity, globalwpw.strEntities[entity]); 965 }); 966 } 967 return msg 968 .toString() 969 .replace("%%username%%", "<strong>" + shopper + "</strong>"); 970 } 971 }, 972 single: function (msg) { 973 974 wpwKits.playsound(); 975 // msg = msg.replace(/\n/g, "<br />"); 976 //tts code 977 var tts_text = wpwKits.removeTags(msg); 978 wpwKits.playAudio(tts_text); 979 980 globalwpw.wpwIsWorking = 1; 981 if ( 982 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 983 .length == 0 984 ) { 985 986 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 987 } 988 //Scroll to the last message 989 wpwKits.scrollTo(); 990 setTimeout(function () { 991 var matches = msg.match(/(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i); 992 matches = wpwKits.removeDups(matches); 993 if (Array.isArray(matches)) { 994 jQuery.each(matches, function (i, match) { 995 if ( 996 /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) && 997 !msg.match(/<img/) 998 ) { 999 msg = msg.replace( 1000 match, 1001 "<img src='" + match + "' class='wpbot_auto_image' />" 1002 ); 1003 } 1004 }); 1005 } 1006 msg = wpwMsg.replace_variable(msg); 1007 msg = qcldFormatAndHandleAiForm(msg);
1008 $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph").html( 1009 msg 1010 ); 1011 //If has youtube link then show video 1012 wpwKits.videohandler(); 1013 //scroll to the last message 1014 wpwKits.scrollTo(); 1015 //Enable the editor 1016 wpwKits.enableEditor( 1017 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 1018 ); 1019 //keeping in history 1020 wpwKits.wpwHistorySave(); 1021 }, globalwpw.settings.preLoadingTime); 1022 }, 1023 single_nobg: function (msg) { 1024 wpwKits.playsound(); 1025 //tts code 1026 1027 if (msg.indexOf("qcld_back_to_start") == -1) { 1028 var tts_text = wpwKits.removeTags(msg); 1029 wpwKits.playAudio(tts_text); 1030 } else if (qcldIsAiFormInProgress()) { 1031 return; 1032 } 1033 1034 globalwpw.wpwIsWorking = 1; 1035 if ( 1036 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 1037 .length == 0 1038 ) { 1039 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 1040 } 1041 //Scroll to the last message 1042 wpwKits.scrollTo(); 1043 setTimeout(function () { 1044 var matches = msg.match(/(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i); 1045 matches = wpwKits.removeDups(matches); 1046 if (Array.isArray(matches)) { 1047 jQuery.each(matches, function (i, match) { 1048 if ( 1049 /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) && 1050 !msg.match(/<img/) 1051 ) { 1052 msg = msg.replace( 1053 match, 1054 "<img src='" + match + "' class='wpbot_auto_image' />" 1055 ); 1056 } 1057 }); 1058 } 1059 1060 msg = wpwMsg.replace_variable(msg); 1061 1062 $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph") 1063 .parent() 1064 .addClass("wp-chatbot-msg-flat"); 1065 $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph") 1066 .parent() 1067 .append(msg); 1068 $( 1069 globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph" 1070 ).remove(); 1071 //scroll to the last message 1072 wpwKits.scrollTo(); 1073 wpwKits.videohandler(); 1074 //Enable the editor 1075 wpwKits.enableEditor( 1076 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 1077 ); 1078 //Keeping the chat history in localStorage 1079 wpwKits.wpwHistorySave(); 1080 // disabled editor 1081 // wpwKits.disableEditor('Please choose an option.'); 1082 }, globalwpw.settings.preLoadingTime); 1083 }, 1084 double: function (fristMsg, secondMsg) { 1085 wpwKits.playsound(); 1086 //tts code 1087 var tts_text = 1088 wpwKits.removeTags(fristMsg) + " " + wpwKits.removeTags(secondMsg); 1089 wpwKits.playAudio(tts_text); 1090 1091 globalwpw.wpwIsWorking = 1; 1092 if ( 1093 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 1094 .length == 0 1095 ) { 1096 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 1097 } 1098 //Scroll to the last message 1099 wpwKits.scrollTo(); 1100 wpwKits.enableEditor( 1101 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 1102 ); 1103 setTimeout(function () { 1104 var matches = fristMsg.match( 1105 /(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i 1106 ); 1107 matches = wpwKits.removeDups(matches); 1108 if (Array.isArray(matches)) { 1109 jQuery.each(matches, function (i, match) { 1110 if ( 1111 /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) && 1112 !fristMsg.match(/<img/) 1113 ) { 1114 fristMsg = fristMsg.replace( 1115 match, 1116 "<img src='" + match + "' class='wpbot_auto_image' />" 1117 ); 1118 } 1119 }); 1120 } 1121 fristMsg = wpwMsg.replace_variable(fristMsg); 1122 $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph").html( 1123 fristMsg 1124 ); 1125 wpwKits.videohandler(); 1126 //Second Message with interval 1127 if ( 1128 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 1129 .length == 0 1130 ) { 1131 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 1132 } 1133 //Scroll to the last message 1134 wpwKits.scrollTo(); 1135 setTimeout(function () { 1136 var matches = secondMsg.match( 1137 /(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i 1138 ); 1139 matches = wpwKits.removeDups(matches); 1140 if (Array.isArray(matches)) { 1141 jQuery.each(matches, function (i, match) { 1142 if ( 1143 /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) && 1144 !secondMsg.match(/<img/) 1145 ) { 1146 secondMsg = secondMsg.replace( 1147 match, 1148 "<img src='" + match + "' class='wpbot_auto_image' />" 1149 ); 1150 } 1151 }); 1152 } 1153 secondMsg = wpwMsg.replace_variable(secondMsg); 1154 $(
1155 globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph" 1156 ).html(secondMsg); 1157 //Scroll to the last message 1158 wpwKits.scrollTo(); 1159 wpwKits.videohandler(); 1160 //Enable the editor 1161 wpwKits.enableEditor( 1162 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 1163 ); 1164 //keeping in history 1165 wpwKits.wpwHistorySave(); 1166 }, globalwpw.settings.preLoadingTime); 1167 }, globalwpw.settings.preLoadingTime); 1168 1169 }, 1170 triple: function (fristMsg, secondMsg, thirdMsg) { 1171 wpwKits.playsound(); 1172 //tts code 1173 var tts_text = 1174 wpwKits.removeTags(fristMsg) + " " + wpwKits.removeTags(secondMsg); 1175 wpwKits.playAudio(tts_text); 1176 globalwpw.wpwIsWorking = 1; 1177 if ( 1178 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 1179 .length == 0 1180 ) { 1181 1182 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 1183 } 1184 //Scroll to the last message 1185 wpwKits.scrollTo(); 1186 wpwKits.enableEditor( 1187 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 1188 ); 1189 setTimeout(function () { 1190 var matches = fristMsg.match( 1191 /(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i 1192 ); 1193 matches = wpwKits.removeDups(matches); 1194 if (Array.isArray(matches)) { 1195 jQuery.each(matches, function (i, match) { 1196 if ( 1197 /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) && 1198 !fristMsg.match(/<img/) 1199 ) { 1200 fristMsg = fristMsg.replace( 1201 match, 1202 "<img src='" + match + "' class='wpbot_auto_image' />" 1203 ); 1204 } 1205 }); 1206 } 1207 fristMsg = wpwMsg.replace_variable(fristMsg); 1208 $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph").html( 1209 fristMsg 1210 ); 1211 wpwKits.videohandler(); 1212 //Second Message with interval 1213 if ( 1214 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 1215 .length == 0 1216 ) { 1217 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 1218 } 1219 //Scroll to the last message 1220 wpwKits.scrollTo(); 1221 setTimeout(function () { 1222 var matches = secondMsg.match( 1223 /(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i 1224 ); 1225 matches = wpwKits.removeDups(matches); 1226 jQuery.each(matches, function (i, match) { 1227 if ( 1228 /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) && 1229 !secondMsg.match(/<img/) 1230 ) { 1231 secondMsg = secondMsg.replace( 1232 match, 1233 "<img src='" + match + "' class='wpbot_auto_image' />" 1234 ); 1235 } 1236 }); 1237 secondMsg = wpwMsg.replace_variable(secondMsg); 1238 $( 1239 globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph" 1240 ).html(secondMsg); 1241 wpwKits.videohandler(); 1242 1243 if ( 1244 $( 1245 globalwpw.settings.messageLastChild + 1246 " .wp-chatbot-comment-loader" 1247 ).length == 0 1248 ) { 1249 1250 $(globalwpw.settings.messageContainer).append( 1251 wpwKits.botPreloader() 1252 ); 1253 } 1254 //Scroll to the last message 1255 wpwKits.scrollTo(); 1256 1257 //Enable the editor 1258 wpwKits.enableEditor( 1259 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 1260 ); 1261 //keeping in history 1262 wpwKits.wpwHistorySave(); 1263 1264 setTimeout(function () { 1265 var matches = thirdMsg.match( 1266 /(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i 1267 ); 1268 matches = wpwKits.removeDups(matches); 1269 if (Array.isArray(matches)) { 1270 jQuery.each(matches, function (i, match) { 1271 if ( 1272 /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) && 1273 !thirdMsg.match(/<img/) 1274 ) { 1275 thirdMsg = thirdMsg.replace( 1276 match, 1277 "<img src='" + match + "' class='wpbot_auto_image' />" 1278 ); 1279 } 1280 }); 1281 } 1282 thirdMsg = wpwMsg.replace_variable(thirdMsg); 1283 $(
1284 globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph" 1285 ).html(thirdMsg); 1286 //Scroll to the last message 1287 wpwKits.scrollTo(); 1288 wpwKits.videohandler(); 1289 //Enable the editor 1290 wpwKits.enableEditor( 1291 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 1292 ); 1293 1294 wpwKits.wpwHistorySave(); 1295 }, globalwpw.settings.preLoadingTime); 1296 }, globalwpw.settings.preLoadingTime); 1297 }, globalwpw.settings.preLoadingTime); 1298 }, 1299 double_nobg: function (fristMsg, secondMsg) { 1300 wpwKits.playsound(); 1301 //tts code 1302 var tts_text = 1303 wpwKits.removeTags(fristMsg) + " " + wpwKits.removeTags(secondMsg); 1304 wpwKits.playAudio(tts_text); 1305 globalwpw.wpwIsWorking = 1; 1306 1307 // Define the icon HTML string 1308 1309 if ( 1310 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 1311 .length == 0 1312 ) { 1313 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 1314 1315 } 1316 //Scroll to the last message 1317 wpwKits.scrollTo(); 1318 setTimeout(function () { 1319 if (typeof fristMsg === "string") { 1320 var matches = fristMsg.match( 1321 /(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i 1322 ); 1323 matches = wpwKits.removeDups(matches); 1324 if (Array.isArray(matches)) { 1325 jQuery.each(matches, function (i, match) { 1326 if ( 1327 /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) && 1328 !fristMsg.match(/<img/) 1329 ) { 1330 fristMsg = fristMsg.replace( 1331 match, 1332 "<img src='" + match + "' class='wpbot_auto_image' />" 1333 ); 1334 } 1335 }); 1336 } 1337 } 1338 fristMsg = wpwMsg.replace_variable(fristMsg); 1339 $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph").html( 1340 fristMsg 1341 ); 1342 wpwKits.videohandler(); 1343 //Second Message with interval 1344 if ( 1345 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 1346 .length == 0 1347 ) { 1348 1349 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 1350 } 1351 //Scroll to the last message 1352 wpwKits.scrollTo(); 1353 setTimeout(function () { 1354 var matches = secondMsg.match( 1355 /(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i 1356 ); 1357 matches = wpwKits.removeDups(matches); 1358 if (Array.isArray(matches)) { 1359 jQuery.each(matches, function (i, match) { 1360 if ( 1361 /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) && 1362 !secondMsg.match(/<img/) 1363 ) { 1364 secondMsg = secondMsg.replace( 1365 match, 1366 "<img src='" + match + "' class='wpbot_auto_image' />" 1367 ); 1368 } 1369 }); 1370 } 1371 secondMsg = wpwMsg.replace_variable(secondMsg); 1372 if (globalwpw.wildCard > 0) { 1373 $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph") 1374 .parent() 1375 .addClass("wp-chatbot-msg-flat") 1376 .html(secondMsg); 1377 } else { 1378 $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph") 1379 .parent() 1380 .addClass("wp-chatbot-msg-flat") 1381 .html(secondMsg); 1382 } 1383 //scroll to the last message 1384 wpwKits.scrollTo(); 1385 wpwKits.videohandler(); 1386 1387 // Remove any existing icon block to prevent duplication 1388 //$(globalwpw.settings.messageLastChild + " .qcld-like-dislike-icon").remove(); 1389 // Append the desired icon block to the message container 1390 1391 1392 //Enable the editor 1393 if (globalwpw.wildCard == 1 && globalwpw.supportStep == "welcome") { 1394 //wpwKits.disableEditor('Support'); 1395 } else { 1396 wpwKits.enableEditor( 1397 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 1398 ); 1399 } 1400 //keeping in history 1401 1402 wpwKits.wpwHistorySave(); 1403 // disabled editor 1404 // wpwKits.disableEditor('Please choose an option.'); 1405 }
1405, globalwpw.settings.preLoadingTime); 1406 }, globalwpw.settings.preLoadingTime); 1407 1408 }, 1409 triple_nobg: function (fristMsg, secondMsg, thirdMsg) { 1410 wpwKits.playsound(); 1411 //tts code 1412 var tts_text = 1413 wpwKits.removeTags(fristMsg) + " " + wpwKits.removeTags(secondMsg); 1414 wpwKits.playAudio(tts_text); 1415 globalwpw.wpwIsWorking = 1; 1416 if ( 1417 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 1418 .length == 0 1419 ) { 1420 1421 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 1422 } 1423 1424 //Scroll to the last message 1425 wpwKits.scrollTo(); 1426 setTimeout(function () { 1427 var matches = fristMsg.match( 1428 /(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i 1429 ); 1430 matches = wpwKits.removeDups(matches); 1431 if (Array.isArray(matches)) { 1432 jQuery.each(matches, function (i, match) { 1433 if ( 1434 /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) && 1435 !fristMsg.match(/<img/) 1436 ) { 1437 fristMsg = fristMsg.replace( 1438 match, 1439 "<img src='" + match + "' class='wpbot_auto_image' />" 1440 ); 1441 } 1442 }); 1443 } 1444 fristMsg = wpwMsg.replace_variable(fristMsg); 1445 $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph").html( 1446 fristMsg 1447 ); 1448 wpwKits.videohandler(); 1449 //Second Message with interval 1450 if ( 1451 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 1452 .length == 0 1453 ) { 1454 1455 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 1456 } 1457 //Scroll to the last message 1458 wpwKits.scrollTo(); 1459 1460 setTimeout(function () { 1461 var matches = secondMsg.match( 1462 /(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i 1463 ); 1464 matches = wpwKits.removeDups(matches); 1465 if (Array.isArray(matches)) { 1466 jQuery.each(matches, function (i, match) { 1467 if ( 1468 /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) && 1469 !secondMsg.match(/<img/) 1470 ) { 1471 secondMsg = secondMsg.replace( 1472 match, 1473 "<img src='" + match + "' class='wpbot_auto_image' />" 1474 ); 1475 } 1476 }); 1477 } 1478 secondMsg = wpwMsg.replace_variable(secondMsg); 1479 $( 1480 globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph" 1481 ).html(secondMsg); 1482 wpwKits.videohandler(); 1483 if ( 1484 $( 1485 globalwpw.settings.messageLastChild + 1486 " .wp-chatbot-comment-loader" 1487 ).length == 0 1488 ) { 1489 1490 $(globalwpw.settings.messageContainer).append( 1491 wpwKits.botPreloader() 1492 ); 1493 } 1494 //Scroll to the last message 1495 wpwKits.scrollTo(); 1496 1497 setTimeout(function () { 1498 if (thirdMsg !== undefined) { 1499 var matches = thirdMsg.match( 1500 /(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i 1501 ); 1502 matches = wpwKits.removeDups(matches); 1503 if (Array.isArray(matches)) { 1504 jQuery.each(matches, function (i, match) { 1505 if ( 1506 /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) && 1507 !thirdMsg.match(/<img/) 1508 ) { 1509 thirdMsg = thirdMsg.replace( 1510 match, 1511 "<img src='" + match + "' class='wpbot_auto_image' />" 1512 ); 1513 } 1514 }); 1515 } 1516 } 1517 thirdMsg = wpwMsg.replace_variable(thirdMsg); 1518 if (globalwpw.wildCard > 0) { 1519 $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph") 1520 .parent() 1521 .addClass("wp-chatbot-msg-flat") 1522 .html(thirdMsg); 1523 } else { 1524 $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph") 1525 .parent() 1526 .addClass("wp-chatbot-msg-flat") 1527 .html(thirdMsg); 1528 } 1529 //scroll to the last message 1530 wpwKits.scrollTo(); 1531 wpwKits.videohandler(); 1532 //Enable the editor
1533 if (globalwpw.wildCard == 1 && globalwpw.supportStep == "welcome") { 1534 //wpwKits.disableEditor('Support'); 1535 } else { 1536 wpwKits.enableEditor( 1537 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 1538 ); 1539 } 1540 //keeping in history 1541 wpwKits.wpwHistorySave(); 1542 // disabled editor 1543 // wpwKits.disableEditor('Please choose an option.'); 1544 }, globalwpw.settings.preLoadingTime); 1545 }, globalwpw.settings.preLoadingTime); 1546 }, globalwpw.settings.preLoadingTime); 1547 }, 1548 shopper: function (shopperMsg) { 1549 $(globalwpw.settings.messageContainer).append( 1550 wpwKits.shopperMsgDom(shopperMsg) 1551 ); 1552 //scroll to the last message 1553 wpwKits.scrollTo(); 1554 //keeping in history 1555 wpwKits.wpwHistorySave(); 1556 }, 1557 shopper_choice: function (shopperChoice) { 1558 $(globalwpw.settings.messageLastChild).fadeOut( 1559 globalwpw.settings.preLoadingTime 1560 ); 1561 // $(globalwpw.settings.messageContainer).append(wpwKits.shopperMsgDom(shopperChoice)); 1562 //scroll to the last message 1563 wpwKits.scrollTo(); 1564 //keeping in history 1565 1566 // wpwKits.wpwHistorySave(); 1567 }, 1568 open_ai_message_callback: function (msg) { 1569 let msgtxt = new DOMParser().parseFromString(msg, "text/html"); 1570 // Store user message for Dynamic AI Menu 1571 globalwpw.lastUserMsg = msgtxt.documentElement.textContent; 1572 if ($("#wp-chatbot-chat-container").attr("data-assistant")) { 1573 var asstant_id = $("#wp-chatbot-chat-container").attr("data-assistant"); 1574 } 1575 if ( 1576 $("#wp-chatbot-shortcode-template-container").attr("data-assistant") 1577 ) { 1578 var asstant_id = $("#wp-chatbot-shortcode-template-container").attr( 1579 "data-assistant" 1580 ); 1581 } 1582 if (wp_chatbot_obj.open_ai_enable == "1") { 1583 var msg = msgtxt.documentElement.textContent; 1584 var customAappend = globalwpw.settings.obj.qcld_openai_append_content; 1585 var customMessage = customAappend ? msg + " " + customAappend : msg; 1586 1587 qcldPushAiContext('user', customMessage); 1588 1589 var streamEnable = wp_chatbot_obj.is_stream_enabled; 1590 if (streamEnable == "1") { 1591 1592 if ( 1593 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 1594 .length == 0 1595 ) { 1596 1597 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloaderWithicon()); 1598 } 1599 1600 const data = { 1601 action: "qcld_stream_openai", 1602 name: globalwpw.hasNameCookie, 1603 keyword: customMessage, 1604 message: customMessage, 1605 active_ai_action: globalwpw.active_ai_action || "", 1606 nonce: wpbot_ajax.nonce, 1607 }; 1608 var openaiConversationId = wpwKits.getOpenaiConversationId(); 1609 if (openaiConversationId) { 1610 data.openai_conversation_id = openaiConversationId; 1611 } 1612 if (globalwpw.active_ai_action) { 1613 data.ai_history = JSON.stringify(globalwpw.aiContext); 1614 } 1615 1616 if (wp_chatbot_obj.is_asst_enabled == "1") { 1617 streamOpenAIwithAssit(customMessage, asstant_id); 1618 } else { 1619 streamOpenAI(wpwKits.appendAiFileToData(data)); 1620 } 1621 1622 wpwKits.wpwHistorySave(); 1623 } else { 1624 1625 var data = { 1626 action: "openai_response", 1627 name: globalwpw.hasNameCookie, 1628 asstant_id: asstant_id, 1629 keyword: customMessage, 1630 active_ai_action: globalwpw.active_ai_action || "", 1631 ai_history: JSON.stringify(globalwpw.aiContext), 1632 nonce: wp_chatbot_obj.ajax_nonce, 1633 }; 1634 var openaiConversationId = wpwKits.getOpenaiConversationId(); 1635 if (openaiConversationId) { 1636 data.openai_conversation_id = openaiConversationId; 1637 } 1638 // Pass current menu items so PHP can filter them server-side (avoids a 2nd AJAX call) 1639 if ( globalwpw.settings.obj.qcld_dynamic_ai_menu == "1" ) { 1640 var _dmAllItems = []; 1641 $(globalwpw.wildcards).each(function(){ var l=$(this).text().trim(); if(l) _dmAllItems.push(l); }); 1642 data.dynamic_menu_items = JSON.stringify(_dmAllItems); 1643 } 1644 if ( 1645 $(
1646 globalwpw.settings.messageLastChild + 1647 " .wp-chatbot-comment-loader" 1648 ).length == 0 1649 ) { 1650 1651 $(globalwpw.settings.messageContainer).append( 1652 wpwKits.botPreloader() 1653 ); 1654 } 1655 wpwKits.ajax(data).done(function (res) { 1656 console.log((Number(globalwpw.settings.preLoadingTime) + Number(100))) 1657 var json = $.parseJSON(res); 1658 if (json.conversation_id) { 1659 wpwKits.setOpenaiConversationId(json.conversation_id); 1660 } 1661 if (json.status == "success") { 1662 qcldPushAiContext('assistant', json.message); 1663 1664 var formRegex = /(?:<[^>]+>)*\s*(?:__|<strong>|<b>)?AI_FORM_DATA(?:__|<\/strong>|<\/b>)?[\s\S]*?(?:__|<strong>|<b>)?AI_FORM_DATA_END(?:__|<\/strong>|<\/b>)?\s*(?:<\/[^>]+>)*/gi; 1665 if (json.message && formRegex.test(json.message)) { 1666 json.message = json.message.replace(formRegex, function(match) { 1667 try { 1668 var jsonMatch = match.match(/\{[\s\S]*\}/); 1669 if (jsonMatch) { 1670 var jsonStr = jsonMatch[0]; 1671 var data = JSON.parse(jsonStr.trim()); 1672 1673 var postData = { 1674 action: 'qcld_save_ai_form', 1675 data: jsonStr, 1676 nonce: (typeof wp_chatbot_obj !== 'undefined' ? wp_chatbot_obj.ajax_nonce : '') 1677 }; 1678 wpwKits.ajax(postData).done(function(r){}); 1679 1680 globalwpw.aiContext = []; 1681 globalwpw.qcld_ai_form_persisted_state = false; 1682 1683 var html = '<div class="ai-form-summary-card" style="background: #f4f6f9; border-left: 4px solid #0073aa; padding: 12px 14px; margin: 10px 0; border-radius: 4px; font-size: 13px; line-height: 1.5; color: #333;">'; 1684 if (data.form_title) { 1685 html += '<div style="font-weight: 600; color: #0073aa; margin-bottom: 8px; text-transform: capitalize; font-size: 14px;">' + data.form_title + '</div>'; 1686 } 1687 if (data.data && typeof data.data === 'object') { 1688 html += '<table style="width: 100%; border-collapse: collapse; margin-top: 4px;">'; 1689 for (var key in data.data) { 1690 if (data.data.hasOwnProperty(key)) { 1691 var cleanKey = key.replace(/[-_]/g, ' '); 1692 html += '<tr><td style="padding: 3px 6px 3px 0; color: #555; font-weight: 600; width: 42%; vertical-align: top;">' + cleanKey + ':</td><td style="padding: 3px 0; color: #222; vertical-align: top;">' + data.data[key] + '</td></tr>'; 1693 } 1694 } 1695 html += '</table>'; 1696 } 1697 html += '</div>'; 1698 return html; 1699 } 1700 } catch(e) { 1701 console.error('AI Form parse error:', e); 1702 } 1703 return ''; 1704 }); 1705 1706 setTimeout(function () { 1707 wpwMsg.single(json.message); 1708 }, globalwpw.settings.preLoadingTime); 1709 } else { 1710 setTimeout(function () { 1711 wpwMsg.single(json.message); 1712 }, globalwpw.settings.preLoadingTime); 1713 } 1714 1715 setTimeout(function () { 1716 wpwTree.qcld_render_dynamic_or_start_menu(json); 1717 }, (Number(globalwpw.settings.preLoadingTime) + Number(200)) ); 1718 } 1719 if (!qcldIsAiFormInProgress()) { $(globalwpw.settings.messageContainer).find('.wp-chatbot-msg:last .qcld-like-dislike-icon').css('display', 'block'); } 1720 }); 1721 wpwKits.wpwHistorySave(); 1722 } 1723 1724 wpwKits.scrollTo(); 1725 //Enable the editor 1726 wpwKits.enableEditor( 1727 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 1728 ); 1729 //keeping in history 1730 wpwKits.wpwHistorySave(); 1731 } 1732 else if (wp_chatbot_obj.gemini_enabled == "1") { 1733 var msg = msgtxt.documentElement.textContent; 1734 var customAappend = globalwpw.settings.obj.qcld_gemini_append_content;
1735 var customprepend = globalwpw.settings.obj.qcld_gemini_prepend_content; 1736 var customMessage = customprepend ? customprepend + " " + msg : msg; 1737 customMessage = customAappend 1738 ? customMessage + " " + customAappend 1739 : customMessage; 1740 1741 qcldPushAiContext('user', customMessage); 1742 1743 var geminiStreamEnabled = wp_chatbot_obj.gemini_stream_enabled; 1744 1745 if (geminiStreamEnabled == "1") { 1746 if ( 1747 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 1748 .length == 0 1749 ) { 1750 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloaderWithicon()); 1751 } 1752 1753 const geminiStreamData = { 1754 action: "qcld_stream_gemini", 1755 name: globalwpw.hasNameCookie, 1756 keyword: customMessage, 1757 message: customMessage, 1758 active_ai_action: globalwpw.active_ai_action || "", 1759 wpwHistory: localStorage.getItem("wpwHitory") || "", 1760 ai_history: JSON.stringify(globalwpw.aiContext), 1761 page_title: wp_chatbot_obj.page_title || "", 1762 nonce: wpbot_ajax.nonce, 1763 }; 1764 1765 streamGemini(wpwKits.appendAiFileToData(geminiStreamData)); 1766 wpwKits.wpwHistorySave(); 1767 } else { 1768 var data = { 1769 action: "gemini_response", 1770 name: globalwpw.hasNameCookie, 1771 keyword: customMessage, 1772 active_ai_action: globalwpw.active_ai_action || "", 1773 wpwHistory: localStorage.getItem("wpwHitory") || "", 1774 ai_history: JSON.stringify(globalwpw.aiContext), 1775 page_title: wp_chatbot_obj.page_title || "", 1776 nonce: wp_chatbot_obj.ajax_nonce, 1777 }; 1778 if ( globalwpw.settings.obj.qcld_dynamic_ai_menu == "1" ) { 1779 var _dmAllItems = []; 1780 $(globalwpw.wildcards).each(function(){ var l=$(this).text().trim(); if(l) _dmAllItems.push(l); }); 1781 data.dynamic_menu_items = JSON.stringify(_dmAllItems); 1782 } 1783 if ( 1784 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 1785 .length == 0 1786 ) { 1787 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 1788 } 1789 wpwKits.ajax(data).done(function (res) { 1790 var json = $.parseJSON(res); 1791 1792 if (json.status == "success") { 1793 qcldPushAiContext('assistant', json.message); 1794 json.message = qcldFormatAndHandleAiForm(json.message); 1795 setTimeout(function () { 1796 wpwMsg.single(json.message); 1797 wpwTree.qcld_render_dynamic_or_start_menu(json); 1798 }, globalwpw.settings.preLoadingTime); 1799 } else { 1800 // Handle error status 1801 setTimeout(function () { 1802 $(globalwpw.settings.messageContainer).find('.wp-chatbot-comment-loader').parent().parent().remove(); 1803 wpwMsg.single(json.message); 1804 globalwpw.wpwIsWorking = 0; 1805 }, globalwpw.settings.preLoadingTime); 1806 } 1807 }); 1808 wpwKits.wpwHistorySave(); 1809 } 1810 1811 wpwKits.scrollTo(); 1812 wpwKits.enableEditor( 1813 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 1814 ); 1815 wpwKits.wpwHistorySave(); 1816 } 1817 else if(wp_chatbot_obj.grok_enabled == "1"){ 1818 var msg = msgtxt.documentElement.textContent; 1819 var customAappend = globalwpw.settings.obj.qcld_openai_append_content; 1820 var customMessage = customAappend ? msg + " " + customAappend : msg; 1821 1822 qcldPushAiContext('user', customMessage); 1823 1824 var is_grok_stream_enabled = wp_chatbot_obj.is_grok_stream_enabled; 1825 if (is_grok_stream_enabled == "1") { 1826 if ( 1827 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 1828 .length == 0 1829 ) { 1830 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloaderWithicon()); 1831 } 1832 const data = { 1833 action: "qcld_stream_grokai", 1834 name: globalwpw.hasNameCookie, 1835 keyword: customMessage, 1836 message: customMessage, 1837 active_ai_action: globalwpw.active_ai_action || "", 1838 ai_history: JSON.stringify(globalwpw.aiContext), 1839 nonce: wpbot_ajax.nonce, 1840 }; 1841 streamGrokAI(wpwKits.appendAiFileToData(data)); 1842 wpwKits.wpwHistorySave(); 1843 } else { 1844 var data = { 1845 action: "qcld_grok_response", 1846 name: globalwpw.hasNameCookie, 1847 asstant_id: asstant_id, 1848 keyword: customMessage, 1849 active_ai_action: globalwpw.active_ai_action || "", 1850 ai_history: JSON.stringify(globalwpw.aiContext), 1851 nonce: wp_chatbot_obj.ajax_nonce, 1852 }; 1853 if ( globalwpw.settings.obj.qcld_dynamic_ai_menu == "1" ) { 1854 var _dmAllItems = []; 1855 $(globalwpw.wildcards).each(function(){ var l=$(this).text().trim(); if(l) _dmAllItems.push(l); }); 1856 data.dynamic_menu_items = JSON.stringify(_dmAllItems); 1857 } 1858 if ( 1859 $(
1860 globalwpw.settings.messageLastChild + 1861 " .wp-chatbot-comment-loader" 1862 ).length == 0 1863 ) { 1864 1865 $(globalwpw.settings.messageContainer).append( 1866 wpwKits.botPreloader() 1867 ); 1868 } 1869 wpwKits.ajax(data).done(function (res) { 1870 var json = $.parseJSON(res); 1871 if (json.status == "success") { 1872 qcldPushAiContext('assistant', json.message); 1873 json.message = qcldFormatAndHandleAiForm(json.message); 1874 setTimeout(function () { 1875 wpwMsg.single(json.message); 1876 wpwTree.qcld_render_dynamic_or_start_menu(json); 1877 }, globalwpw.settings.preLoadingTime); 1878 } 1879 if (!qcldIsAiFormInProgress()) { $(globalwpw.settings.messageContainer).find('.wp-chatbot-msg:last .qcld-like-dislike-icon').css('display', 'block'); } 1880 }); 1881 wpwKits.wpwHistorySave(); 1882 } 1883 wpwKits.scrollTo(); 1884 //Enable the editor 1885 wpwKits.enableEditor( 1886 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 1887 ); 1888 //keeping in history 1889 wpwKits.wpwHistorySave(); 1890 } 1891 else if (wp_chatbot_obj.claude_enabled == "1") { 1892 var msg = msgtxt.documentElement.textContent; 1893 var customAappend = globalwpw.settings.obj.qcld_claude_append_content; 1894 var customprepend = globalwpw.settings.obj.qcld_claude_prepend_content; 1895 var customMessage = customprepend ? customprepend + " " + msg : msg; 1896 customMessage = customAappend 1897 ? customMessage + " " + customAappend 1898 : customMessage; 1899 1900 qcldPushAiContext('user', customMessage); 1901 1902 var claudeStreamEnabled = wp_chatbot_obj.claude_stream_enabled; 1903 1904 if (claudeStreamEnabled == "1") { 1905 if ( 1906 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 1907 .length == 0 1908 ) { 1909 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloaderWithicon()); 1910 } 1911 1912 const claudeStreamData = { 1913 action: "qcld_stream_claude", 1914 name: globalwpw.hasNameCookie, 1915 keyword: customMessage, 1916 message: customMessage, 1917 active_ai_action: globalwpw.active_ai_action || "", 1918 wpwHistory: localStorage.getItem("wpwHitory") || "", 1919 ai_history: JSON.stringify(globalwpw.aiContext), 1920 page_title: wp_chatbot_obj.page_title || "", 1921 nonce: wpbot_ajax.nonce, 1922 }; 1923 1924 streamClaude(wpwKits.appendAiFileToData(claudeStreamData)); 1925 wpwKits.wpwHistorySave(); 1926 } else { 1927 var data = { 1928 action: "claude_response", 1929 name: globalwpw.hasNameCookie, 1930 keyword: customMessage, 1931 active_ai_action: globalwpw.active_ai_action || "", 1932 wpwHistory: localStorage.getItem("wpwHitory") || "", 1933 ai_history: JSON.stringify(globalwpw.aiContext), 1934 page_title: wp_chatbot_obj.page_title || "", 1935 nonce: wp_chatbot_obj.ajax_nonce, 1936 }; 1937 1938 if ( 1939 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 1940 .length == 0 1941 ) { 1942 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 1943 } 1944 wpwKits.ajax(data).done(function (res) { 1945 var json = $.parseJSON(res); 1946 1947 if (json.status == "success") { 1948 qcldPushAiContext('assistant', json.message); 1949 json.message = qcldFormatAndHandleAiForm(json.message); 1950 setTimeout(function () { 1951 wpwMsg.single(json.message); 1952 wpwTree.start_menu_settings(); 1953 }, globalwpw.settings.preLoadingTime); 1954 } else { 1955 // Handle error status 1956 setTimeout(function () { 1957 $(globalwpw.settings.messageContainer).find('.wp-chatbot-comment-loader').parent().parent().remove(); 1958 wpwMsg.single(json.message);
1959 globalwpw.wpwIsWorking = 0; 1960 }, globalwpw.settings.preLoadingTime); 1961 } 1962 }); 1963 wpwKits.wpwHistorySave(); 1964 } 1965 1966 wpwKits.scrollTo(); 1967 wpwKits.enableEditor( 1968 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 1969 ); 1970 wpwKits.wpwHistorySave(); 1971 } 1972 else if (wp_chatbot_obj.openrouter_enabled == "1") { 1973 var msg = msgtxt.documentElement.textContent; 1974 var customAappend = 1975 globalwpw.settings.obj.qcld_openrouter_append_content; 1976 var customprepend = 1977 globalwpw.settings.obj.qcld_openrouter_prepend_content; 1978 var customMessage = customprepend ? customprepend + " " + msg : msg; 1979 customMessage = customAappend 1980 ? customMessage + " " + customAappend 1981 : customMessage; 1982 1983 qcldPushAiContext('user', customMessage); 1984 1985 var data = { 1986 action: "openrouter_response", 1987 name: globalwpw.hasNameCookie, 1988 keyword: customMessage, 1989 active_ai_action: globalwpw.active_ai_action || "", 1990 ai_history: JSON.stringify(globalwpw.aiContext), 1991 nonce: wp_chatbot_obj.ajax_nonce, 1992 }; 1993 1994 if ( 1995 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 1996 .length == 0 1997 ) { 1998 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 1999 } 2000 wpwKits.ajax(data).done(function (res) { 2001 var json = $.parseJSON(res); 2002 2003 if (json.status == "success") { 2004 qcldPushAiContext('assistant', json.message); 2005 json.message = qcldFormatAndHandleAiForm(json.message); 2006 setTimeout(function () { 2007 wpwMsg.single(json.message); 2008 wpwTree.start_menu_settings(); 2009 }, globalwpw.settings.preLoadingTime); 2010 } else { 2011 // Handle error status 2012 setTimeout(function () { 2013 // Remove preloader 2014 $(globalwpw.settings.messageLastChild).remove(); 2015 // Display error message 2016 wpwMsg.single(json.message); 2017 globalwpw.wpwIsWorking = 0; 2018 }, globalwpw.settings.preLoadingTime); 2019 } 2020 }); 2021 } 2022 else if (wp_chatbot_obj.mistral_enabled == "1") { 2023 var msg = msgtxt.documentElement.textContent; 2024 var customAappend = globalwpw.settings.obj.qcld_mistral_append_content; 2025 var customprepend = globalwpw.settings.obj.qcld_mistral_prepend_content; 2026 var customMessage = customprepend ? customprepend + " " + msg : msg; 2027 customMessage = customAappend 2028 ? customMessage + " " + customAappend 2029 : customMessage; 2030 2031 qcldPushAiContext('user', customMessage); 2032 2033 var data = { 2034 action: "mistral_response", 2035 name: globalwpw.hasNameCookie, 2036 keyword: customMessage, 2037 active_ai_action: globalwpw.active_ai_action || "", 2038 ai_history: JSON.stringify(globalwpw.aiContext), 2039 nonce: wp_chatbot_obj.ajax_nonce, 2040 }; 2041 2042 if ( 2043 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 2044 .length == 0 2045 ) { 2046 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 2047 } 2048 wpwKits.ajax(data).done(function (res) { 2049 var json = $.parseJSON(res); 2050 2051 if (json.status == "success") { 2052 qcldPushAiContext('assistant', json.message); 2053 json.message = qcldFormatAndHandleAiForm(json.message); 2054 setTimeout(function () { 2055 wpwMsg.single(json.message); 2056 wpwTree.start_menu_settings(); 2057 }, globalwpw.settings.preLoadingTime); 2058 } else { 2059 // Handle error status 2060 setTimeout(function () { 2061 $(globalwpw.settings.messageContainer).find('.wp-chatbot-comment-loader').parent().parent().remove(); 2062 wpwMsg.single(json.message); 2063 globalwpw.wpwIsWorking = 0; 2064 }, globalwpw.settings.preLoadingTime); 2065 } 2066 }); 2067 } 2068 else if (wp_chatbot_obj.ollama_enabled == "1") { 2069 var msg = msgtxt.documentElement.textContent; 2070 var customMessage = msg; 2071 2072 qcldPushAiContext('user', customMessage); 2073 2074 var data = { 2075 action: "ollama_response", 2076 name: globalwpw.hasNameCookie, 2077 keyword: customMessage, 2078 active_ai_action: globalwpw.active_ai_action || "", 2079 ai_history: JSON.stringify(globalwpw.aiContext), 2080 nonce: wp_chatbot_obj.ajax_nonce, 2081 }; 2082 if ( globalwpw.settings.obj.qcld_dynamic_ai_menu == "1" ) { 2083 var _dmAllItems = []; 2084 $(globalwpw.wildcards).each(function(){ var l=$(this).text().trim(); if(l) _dmAllItems.push(l); }); 2085 data.dynamic_menu_items = JSON.stringify(_dmAllItems); 2086 } 2087 if (
2088 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 2089 .length == 0 2090 ) { 2091 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 2092 } 2093 wpwKits.ajax(data).done(function (res) { 2094 var json = $.parseJSON(res); 2095 if (json.status == "success") { 2096 qcldPushAiContext('assistant', json.message); 2097 json.message = qcldFormatAndHandleAiForm(json.message); 2098 setTimeout(function () { 2099 wpwMsg.single(json.message); 2100 wpwTree.qcld_render_dynamic_or_start_menu(json); 2101 }, globalwpw.settings.preLoadingTime); 2102 } else { 2103 // Handle error status 2104 setTimeout(function () { 2105 $(globalwpw.settings.messageContainer).find('.wp-chatbot-comment-loader').parent().parent().remove(); 2106 wpwMsg.single(json.message); 2107 globalwpw.wpwIsWorking = 0; 2108 }, globalwpw.settings.preLoadingTime); 2109 } 2110 }); 2111 } 2112 else if (globalwpw.settings.obj.tvlyai_enabled == "1") { 2113 var data = { 2114 action: "qcld_tvly_respose", 2115 name: globalwpw.hasNameCookie, 2116 keyword: msgtxt.documentElement.textContent, 2117 nonce: wp_chatbot_obj.ajax_nonce, 2118 }; 2119 if ( 2120 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 2121 .length == 0 2122 ) { 2123 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloaderWithicon()); 2124 } 2125 wpwKits.ajax(data).done(function (res) { 2126 2127 var json = $.parseJSON(res); 2128 if (json.status == "success") { 2129 var serviceOffer = wpwKits.randomMsg( 2130 globalwpw.settings.obj.support_option_again 2131 ); 2132 setTimeout(function () { 2133 wpwMsg.single(json.message); 2134 wpwTree.start_menu_settings(); 2135 }, globalwpw.settings.preLoadingTime); 2136 } 2137 }); 2138 } 2139 if (globalwpw.aiPendingFile) { 2140 wpwKits.clearAiPendingFile(); 2141 } 2142 }, 2143 }; 2144 //Every tiny tools are implemented in wpwKits as object literal. 2145 wpwKits = { 2146 isTtsEnabled: function () { 2147 var iconClass = $(".qcld_voice_audio_control").find(".fa").attr("class"); 2148 return iconClass === "fa fa-volume-up"; 2149 }, 2150 getOpenaiConversationId: function () { 2151 var id = ""; 2152 try { 2153 id = localStorage.getItem("qcld_openai_conversation_id") || ""; 2154 } catch (e) {} 2155 if (!id) { 2156 var match = document.cookie.match(/(?:^|; )qcld_openai_conversation_id=([^;]*)/); 2157 if (match && match[1]) { 2158 try { 2159 id = decodeURIComponent(match[1]); 2160 } catch (e) { 2161 id = match[1]; 2162 } 2163 } 2164 } 2165 return id && id.indexOf("resp_") === 0 ? id : ""; 2166 }, 2167 setOpenaiConversationId: function (id) { 2168 if (!id || String(id).indexOf("resp_") !== 0) { 2169 return; 2170 } 2171 try { 2172 localStorage.setItem("qcld_openai_conversation_id", id); 2173 } catch (e) {} 2174 document.cookie = 2175 "qcld_openai_conversation_id=" + 2176 encodeURIComponent(id) + 2177 "; path=/; max-age=60000"; 2178 }, 2179 stopBotAudio: function () { 2180 botaudiolist = []; 2181 botaudioisplay = false; 2182 var audioEl = document.getElementById("bot_audio_voice"); 2183 if (audioEl) { 2184 audioEl.pause(); 2185 audioEl.currentTime = 0; 2186 } 2187 jQuery(".wpbot_tts_wrapper").empty(); 2188 }, 2189 playAudio: function (tts_text) { 2190 if (!wpwKits.isTtsEnabled()) { 2191 return; 2192 } 2193 if ( 2194 globalwpw.settings.obj.voice_addon && 2195 globalwpw.settings.obj.bot_read && 2196 ( globalwpw.settings.obj.stt_service == "google" || globalwpw.settings.obj.stt_service == "openai" ) 2197 ) { 2198 if(globalwpw.settings.obj.stt_service == "google"){ 2199 var data = { 2200 action: "qcld_wp_tts_api_call", 2201 tts_active: true, 2202 tts_text: tts_text, 2203 security: globalwpw.settings.obj.ajax_nonce, 2204 }; 2205 2206 }else{ 2207 var data = { 2208 action: "qcld_wp_openai_tts_api_call", 2209 tts_active: true, 2210 tts_text: tts_text, 2211 security: globalwpw.settings.obj.ajax_nonce, 2212 }; 2213 } 2214 wpwKits.ajax(data).done(function (response) { 2215 if (response && response.trim() !== "") { 2216 botaudiolist.push(response); 2217 wpwKits.handleAudio(); 2218 } 2219 }); 2220 } 2221 }, 2222 language_switcher: function (langu) { 2223 if (langu) { 2224 var language = langu; 2225 } else { 2226 var language = globalwpw.settings.obj.language; 2227 } 2228 var data = { 2229 action: "qcld_wpbot_current_language", 2230 language: language, 2231 security: globalwpw.settings.obj.ajax_nonce, 2232 }; 2233 wpwKits.ajax(data).done(); 2234 }, 2235 handleAudio: function () { 2236 if (botaudiolist.length === 0 || botaudioisplay) { 2237 return; 2238 } 2239 if (!wpwKits.isTtsEnabled()) { 2240 botaudiolist = []; 2241 return; 2242 } 2243 2244 var audioHtml = botaudiolist.shift(); 2245 jQuery(".wpbot_tts_wrapper").html(audioHtml); 2246 2247 var audioEl = document.getElementById("bot_audio_voice"); 2248 if (!audioEl) { 2249 botaudioisplay = false;
2250 wpwKits.handleAudio(); 2251 return; 2252 } 2253 2254 var releasePlaybackLock = function () { 2255 botaudioisplay = false; 2256 }; 2257 2258 jQuery(audioEl) 2259 .off("ended.bottts error.bottts") 2260 .one("ended.bottts", function () { 2261 releasePlaybackLock(); 2262 wpwKits.handleAudio(); 2263 }) 2264 .one("error.bottts", function () { 2265 releasePlaybackLock(); 2266 wpwKits.handleAudio(); 2267 }); 2268 2269 botaudioisplay = true; 2270 var playPromise = audioEl.play(); 2271 if (playPromise && typeof playPromise.then === "function") { 2272 playPromise.catch(function () { 2273 botaudiolist.unshift(audioHtml); 2274 releasePlaybackLock(); 2275 }); 2276 } 2277 }, 2278 removeTags: function (str) { 2279 if (str === null || str === "" || str === undefined) return false; 2280 else str = str.toString(); 2281 return str.replace(/(<([^>]+)>)/gi, ""); 2282 }, 2283 render: function (obj) { 2284 if ( 2285 typeof obj == "object" && 2286 obj.hasOwnProperty(globalwpw.settings.obj.language) 2287 ) { 2288 return obj[globalwpw.settings.obj.language]; 2289 } 2290 if ( 2291 typeof obj == "object" && 2292 !obj.hasOwnProperty(globalwpw.settings.obj.language) 2293 ) { 2294 return obj[globalwpw.settings.obj.default_language]; 2295 } 2296 return obj; 2297 }, 2298 formatTimestamp: function (date) { 2299 var hours = date.getHours(); 2300 var minutes = date.getMinutes(); 2301 var ampm = hours >= 12 ? "PM" : "AM"; 2302 2303 hours = hours % 12; 2304 hours = hours ? hours : 12; 2305 minutes = minutes < 10 ? "0" + minutes : minutes; 2306 2307 return hours + ":" + minutes + " " + ampm; 2308 }, 2309 addMessageTimestamps: function (context) { 2310 var $context = context ? $(context) : $(globalwpw.settings.messageWrapper); 2311 2312 $context.find(".wp-chatbot-paragraph").each(function () { 2313 var $paragraph = $(this); 2314 2315 if ( 2316 $paragraph.find(".wp-chatbot-comment-loader").length > 0 || 2317 $paragraph.next(".wp-chatbot-timestamp").length > 0 2318 ) { 2319 return; 2320 } 2321 2322 var $message = $paragraph.closest(".wp-chatbot-msg, .wp-chat-user-msg"); 2323 var isUserMessage = $message.hasClass("wp-chat-user-msg"); 2324 var textAlign = isUserMessage ? "right" : "left"; 2325 var timestampStyle = 2326 "display:none;clear:both;width:100%;flex-basis:100%;font-size:11px;line-height:1.3;color:#8a8f98;margin-top:4px;text-align:" + 2327 textAlign + 2328 ";"; 2329 2330 if (isUserMessage && $message.css("display") == "flex") { 2331 $message.css("flex-wrap", "wrap"); 2332 } 2333 2334 $paragraph.after( 2335 '<span class="wp-chatbot-timestamp" style="' + 2336 timestampStyle + 2337 '">' + 2338 wpwKits.formatTimestamp(new Date()) + 2339 "</span>" 2340 ); 2341 }); 2342 }, 2343 playsound: function (e) { 2344 if (globalwpw.settings.obj.sound_bot_message == 1) { 2345 var audio = document.querySelector("#wp-chatbot-proactive-audio"); 2346 if (audio) { 2347 var promise = audio.play(); 2348 } 2349 if (promise !== undefined) { 2350 promise 2351 .then(function (success) { 2352 //success to play 2353 }) 2354 .catch(function (error) { 2355 //some error 2356 }); 2357 } 2358 } 2359 }, 2360 doReset: function () { 2361 $("#wp-chatbot-messages-container").html(""); 2362 if (typeof globalwpw.settings.obj !== "undefined") { 2363 if (globalwpw.settings.obj.skip_wp_greetings_trigger_intent != "1") { 2364 globalwpw.settings.obj.clickintent = ""; 2365 } else { 2366 globalwpw.settings.obj.clickintent = 2367 globalwpw.settings.obj.init_trigger_intent; 2368 } 2369 } 2370 $("#wp-chatbot-editor").attr("type", "text"); 2371 localStorage.removeItem("wpwHitory"); 2372 localStorage.removeItem("shopper"); 2373 localStorage.removeItem("productStep"); 2374 localStorage.removeItem("orderStep"); 2375 localStorage.removeItem("shopperphone"); 2376 localStorage.removeItem("default_asking_phone"); 2377 localStorage.removeItem("shopperemail"); 2378 localStorage.removeItem("default_asking_email"); 2379 localStorage.removeItem("cx-name"); 2380 localStorage.removeItem("cx-diaplayname"); 2381 localStorage.removeItem("cx-languagecode"); 2382 localStorage.removeItem("cx-timezone"); 2383 localStorage.removeItem("botsessionid");
2384 globalwpw.askEmail = 0; 2385 globalwpw.ai_step = 0; 2386 localStorage.setItem("wildCard", globalwpw.wildCard); 2387 localStorage.setItem("aiStep", globalwpw.ai_step); 2388 globalwpw.formfieldid = ""; 2389 localStorage.setItem("formfieldid", globalwpw.formfieldid); 2390 globalwpw.formStep = "welcome"; 2391 localStorage.setItem("formStep", globalwpw.formStep); 2392 globalwpw.formid = ""; 2393 localStorage.setItem("formid", globalwpw.formid); 2394 globalwpw.formentry = 0; 2395 localStorage.setItem("formentry", globalwpw.formentry); 2396 localStorage.removeItem("strEntities"); 2397 localStorage.removeItem("strObject"); 2398 localStorage.removeItem("strStep"); 2399 localStorage.removeItem("strMatchfailed"); 2400 localStorage.setItem("wpwHitory", ""); 2401 globalwpw.supportStep = "search"; 2402 globalwpw.wildCard = ""; 2403 $(globalwpw.settings.messageWrapper).html( 2404 '<ul id="wp-chatbot-messages-container" class="wp-chatbot-messages-container"></ul>' 2405 ); 2406 localStorage.removeItem("qcld_openai_conversation_id"); 2407 wpwKits.resetcookies("qcld_openai_conversation_id"); 2408 }, 2409 closeWindow: function () { 2410 if ( 2411 jQuery("#wp-chatbot-mobile-close").length > 0 && 2412 jQuery("#wp-chatbot-mobile-close").is(":visible") 2413 ) { 2414 jQuery("#wp-chatbot-mobile-close").trigger("click"); 2415 } else if ( 2416 jQuery("#wp-chatbot-desktop-close").length > 0 && 2417 jQuery("#wp-chatbot-desktop-close").is(":visible") 2418 ) { 2419 jQuery("#wp-chatbot-desktop-close").trigger("click"); 2420 } else if ( 2421 jQuery("#wp-chatbot-desktop-close1").length > 0 && 2422 jQuery("#wp-chatbot-desktop-close1").is(":visible") 2423 ) { 2424 jQuery("#wp-chatbot-desktop-close1").trigger("click"); 2425 } else if ( 2426 jQuery(".wp-chatbot-start-close").length > 0 && 2427 jQuery(".wp-chatbot-start-close").is(":visible") 2428 ) { 2429 jQuery(".wp-chatbot-start-close").trigger("click"); 2430 } 2431 }, 2432 resetcookies: function (name) { 2433 document.cookie = 2434 name + "=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;"; 2435 }, 2436 showtooltip: function (obj) { 2437 var dir = obj.attr("data-tooltip"), 2438 left = obj.offset().left, 2439 top = obj.offset().top, 2440 spanStr = "", 2441 ttObj = {}, 2442 ttdiv = $("#bottooltip > div"), 2443 //Getting info of data-title if not title 2444 info = 2445 obj.attr("title") != undefined 2446 ? obj.attr("title") 2447 : obj.attr("data-title"); 2448 dir = "bottom"; 2449 //Checking which side to put tooltip 2450 //and giving css properties accordingly 2451 switch (dir) { 2452 case "left": 2453 spanStr = "right: -4px; top: 8px;"; 2454 ttObj.top = top; 2455 ttObj.left = left - 60; 2456 break; 2457 case "right": 2458 spanStr = "left: -4px; top: 8px;"; 2459 ttObj.top = top; 2460 ttObj.left = left + 35; 2461 break; 2462 case "top": 2463 spanStr = "left: 43%; bottom: -4px;"; 2464 ttObj.top = top - 50; 2465 ttObj.left = left - 10; 2466 break; 2467 case "bottom": 2468 spanStr = "left: 43%; top: -4px;"; 2469 ttObj.top = top + 50; 2470 ttObj.left = left - obj.width() / 2 - 32; 2471 break; 2472 default: 2473 break; 2474 } 2475 $("#bottooltip").css({ top: ttObj.top, left: ttObj.left }); 2476 $("#bottooltip > span").css("cssText", spanStr); 2477 2478 ttdiv.text(info); 2479 2480 $("#bottooltip").show(); 2481 }, 2482 2483 formatPhoneNumberUS: function (phoneNumberString) { 2484 var cleaned = ("" + phoneNumberString).replace(/\D/g, ""); 2485 if (cleaned.length > 10) { 2486 cleaned = cleaned.substring(0, 10); 2487 } 2488 var match = cleaned.match(/^(\d{3})(\d{3})(\d{4})$/); 2489 2490 if (match) { 2491 return "(" + match[1] + ") " + match[2] + "-" + match[3]; 2492 } else { 2493 return phoneNumberString; 2494 } 2495 }, 2496 removeDups: function (names) { 2497 let unique = {}; 2498 2499 if (Array.isArray(names)) { 2500 names.forEach(function (i) { 2501 if (!unique[i]) { 2502 unique[i] = true; 2503 } 2504 }); 2505 return Object.keys(unique); 2506 } else { 2507 return names; 2508 } 2509 }, 2510 2511 enableEditor: function (placeHolder) { 2512 if (globalwpw.settings.editor_handler == 0) { 2513 if (
2514 globalwpw.settings.obj.disable_auto_focus != 1 && 2515 !globalwpw.settings.obj.is_mobile 2516 ) { 2517 $("#wp-chatbot-editor").attr("disabled", false).focus(); 2518 } 2519 2520 $("#wp-chatbot-editor").attr("disabled", false); 2521 $("#wp-chatbot-editor").attr("placeholder", placeHolder); 2522 $("#wp-chatbot-send-message").attr("disabled", false); 2523 } 2524 wpwKits.toggleAiFileUploadButton(); 2525 wpwKits.initAiFileUpload(); 2526 }, 2527 disableEditor: function (placeHolder) { 2528 if (globalwpw.settings.editor_handler == 0) { 2529 $("#wp-chatbot-editor").attr("placeholder", placeHolder); 2530 $("#wp-chatbot-editor").attr("disabled", true); 2531 $("#wp-chatbot-send-message").attr("disabled", true); 2532 } 2533 wpwKits.toggleAiFileUploadButton(); 2534 //Remove extra pre loader. 2535 if ( 2536 $(".wp-chatbot-messages-container").find(".wp-chatbot-comment-loader") 2537 .length > 0 2538 ) { 2539 $(".wp-chatbot-messages-container") 2540 .find(".wp-chatbot-comment-loader") 2541 .parent() 2542 .parent() 2543 .hide(); 2544 } 2545 }, 2546 2547 initAiFileUpload: function () { 2548 if (!qcldWpbotIsAiFileUploadFeatureEnabled() || !qcldWpbotIsAnyAiEnabled()) { 2549 $("#wpbot-ai-file-upload").remove(); 2550 $("#wpbot-ai-file-input").remove(); 2551 $(".wpbot-ai-file-preview").remove(); 2552 return; 2553 } 2554 2555 var $area = $("#wp-chatbot-editor-area"); 2556 if ($area.length === 0) { 2557 $area = $("#wp-chatbot-editor-container"); 2558 } 2559 if ($area.length === 0) { 2560 return; 2561 } 2562 2563 if ($("#wpbot-ai-file-input").length === 0) { 2564 $("body").append( 2565 '<input type="file" id="wpbot-ai-file-input" class="wpbot-ai-file-input" accept=".jpg,.jpeg,.png,.gif,.webp,.pdf,.txt,.csv,.doc,.docx" tabindex="-1" aria-hidden="true" />' 2566 ); 2567 } 2568 2569 if ($(".wpbot-ai-file-preview").length === 0) { 2570 var $editor = $("#wp-chatbot-editor"); 2571 if ($editor.length > 0) { 2572 $editor.before('<div class="wpbot-ai-file-preview" style="display:none;"></div>'); 2573 } else { 2574 $area.prepend('<div class="wpbot-ai-file-preview" style="display:none;"></div>'); 2575 } 2576 } 2577 2578 if ($("#wpbot-ai-file-upload").length === 0) { 2579 var uploadBtn = 2580 '<button type="button" id="wpbot-ai-file-upload" class="wpbot-ai-file-upload-btn" title="Attach file" aria-label="Attach file">' + 2581 '<span class="wpbot-ai-file-upload-icon" aria-hidden="true">' + 2582 '<svg viewBox="0 0 24 24" width="18" height="18" focusable="false" role="img"><path fill="currentColor" d="M16.5 6v11.5a4 4 0 0 1-8 0V5a2.5 2.5 0 0 1 5 0v10.5a1 1 0 0 1-2 0V6h-1.5v9.5a2.5 2.5 0 0 0 5 0V5a4 4 0 0 0-8 0v12.5a5.5 5.5 0 0 0 11 0V6H16.5z"/></svg>' + 2583 '</span></button>'; 2584 2585 var $sendBtn = $("#wp-chatbot-send-message"); 2586 if ($sendBtn.length > 0) { 2587 $sendBtn.before(uploadBtn); 2588 } else { 2589 $area.append(uploadBtn); 2590 } 2591 } 2592 2593 wpwKits.toggleAiFileUploadButton(); 2594 }, 2595 2596 toggleAiFileUploadButton: function () { 2597 var $btn = $("#wpbot-ai-file-upload"); 2598 if ($btn.length === 0) { 2599 return; 2600 } 2601 if (!qcldWpbotIsAiFileUploadFeatureEnabled() || !qcldWpbotIsAnyAiEnabled()) { 2602 $btn.hide(); 2603 wpwKits.clearAiPendingFile(false); 2604 return; 2605 } 2606 if (parseInt(globalwpw.wildCard, 10) === 7 || parseInt(globalwpw.wildCard, 10) === 95) { 2607 $btn.hide(); 2608 wpwKits.clearAiPendingFile(false); 2609 return; 2610 } 2611 if (jQuery("#wp-chatbot-editor").attr("type") === "file") { 2612 $btn.hide(); 2613 wpwKits.clearAiPendingFile(false); 2614 return; 2615 } 2616 $btn.css({ 2617 display: "inline-flex", 2618 visibility: "visible", 2619 opacity: "1", 2620 }); 2621 }, 2622 2623 renderAiFilePreview: function () { 2624 var $preview = $(".wpbot-ai-file-preview"); 2625 var $container = $("#wp-chatbot-editor-container, #wp-chatbot-editor-area"); 2626 if ($preview.length === 0) { 2627 return; 2628 } 2629 if (!globalwpw.aiPendingFile) { 2630 $preview.hide().empty(); 2631 $container.removeClass("wpbot-has-ai-file"); 2632 return; 2633 } 2634 2635 var file = globalwpw.aiPendingFile; 2636 var html = '<span class="wpbot-ai-file-chip">' + file.name; 2637 html += ' <button type="button" class="wpbot-ai-file-remove" aria-label="Remove file">×</button></span>'; 2638 $preview.html(html).css("display", "block").show(); 2639 $container.addClass("wpbot-has-ai-file"); 2640 }, 2641 2642 clearAiPendingFile: function (clearInput) {
2643 globalwpw.aiPendingFile = null; 2644 wpwKits.renderAiFilePreview(); 2645 if (clearInput !== false) { 2646 $("#wpbot-ai-file-input").val(""); 2647 } 2648 }, 2649 2650 appendAiFileToData: function (data) { 2651 if (!globalwpw.aiPendingFile) { 2652 return data; 2653 } 2654 data.ai_file_url = globalwpw.aiPendingFile.url; 2655 data.ai_file_name = globalwpw.aiPendingFile.name; 2656 data.ai_file_type = globalwpw.aiPendingFile.type || ""; 2657 data.ai_file_is_image = globalwpw.aiPendingFile.is_image ? 1 : 0; 2658 return data; 2659 }, 2660 2661 wpwLoadStripeJs: function (callback) { 2662 if (window.Stripe) { 2663 callback(); 2664 return; 2665 } 2666 if (window._wpbotStripeLoading) { 2667 window._wpbotStripeLoading.push(callback); 2668 return; 2669 } 2670 window._wpbotStripeLoading = [callback]; 2671 var script = document.createElement("script"); 2672 script.src = "https://js.stripe.com/v3/"; 2673 script.async = true; 2674 script.onload = function () { 2675 var queue = window._wpbotStripeLoading || []; 2676 window._wpbotStripeLoading = null; 2677 for (var i = 0; i < queue.length; i++) { 2678 queue[i](); 2679 } 2680 }; 2681 script.onerror = function () { 2682 window._wpbotStripeLoading = null; 2683 wpwMsg.single("Unable to load Stripe checkout. Please try again."); 2684 }; 2685 document.head.appendChild(script); 2686 }, 2687 wpwMountStripeInlineCheckout: function ($card, onReady) { 2688 var pk = $card.attr("data-publishable-key"); 2689 var clientSecret = $card.attr("data-client-secret"); 2690 if (!pk || !clientSecret || !window.Stripe) { 2691 return; 2692 } 2693 var stripe = window.Stripe(pk); 2694 var elements = stripe.elements(); 2695 var style = { 2696 base: { 2697 fontSize: "14px", 2698 color: "#1d2327", 2699 "::placeholder": { color: "#8c8f94" }, 2700 }, 2701 invalid: { 2702 color: "#d63638", 2703 }, 2704 }; 2705 var cardNumber = elements.create("cardNumber", { 2706 style: style, 2707 showIcon: true, 2708 }); 2709 var cardExpiry = elements.create("cardExpiry", { style: style }); 2710 var cardCvc = elements.create("cardCvc", { style: style }); 2711 2712 var numberId = $card.find(".wpbot-stripe-card-number").attr("id"); 2713 var expiryId = $card.find(".wpbot-stripe-card-expiry").attr("id"); 2714 var cvcId = $card.find(".wpbot-stripe-card-cvc").attr("id"); 2715 if (!numberId || !expiryId || !cvcId) { 2716 return; 2717 } 2718 2719 var readyCount = 0; 2720 var totalElements = 3; 2721 var didReady = false; 2722 function markReady() { 2723 if (didReady) { 2724 return; 2725 } 2726 didReady = true; 2727 if (typeof onReady === "function") { 2728 onReady(); 2729 } 2730 } 2731 function checkReady() { 2732 readyCount++; 2733 if (readyCount >= totalElements) { 2734 markReady(); 2735 } 2736 } 2737 2738 cardNumber.on("ready", checkReady); 2739 cardExpiry.on("ready", checkReady); 2740 cardCvc.on("ready", checkReady); 2741 2742 cardNumber.mount("#" + numberId); 2743 cardExpiry.mount("#" + expiryId); 2744 cardCvc.mount("#" + cvcId); 2745 2746 $card.data("stripe", stripe); 2747 $card.data("cardNumber", cardNumber); 2748 $card.data("cardExpiry", cardExpiry); 2749 $card.data("cardCvc", cardCvc); 2750 $card.data("clientSecret", clientSecret); 2751 2752 setTimeout(function () { 2753 if (!didReady) { 2754 markReady(); 2755 } 2756 }, 8000); 2757 }, 2758 wpwMarkInlinePaymentSuccess: function ($card) { 2759 $card.find("button").prop("disabled", true); 2760 $card 2761 .find(".wpbot-inline-checkout-actions") 2762 .html( 2763 '<div class="wpbot-inline-checkout-success">Payment completed successfully.</div>' 2764 ); 2765 wpwKits.wpwHistorySave(); 2766 if ( 2767 globalwpw.paymentFieldActive && 2768 globalwpw.wildCard == 7 && 2769 globalwpw.formStep == "field" 2770 ) { 2771 globalwpw.paymentFieldActive = false; 2772 jQuery("#wp-chatbot-editor").prop("disabled", false); 2773 setTimeout(function () { 2774 wpwTree.formbuilder("payment_completed"); 2775 }
2775, globalwpw.settings.preLoadingTime + 50); 2776 } 2777 }, 2778 wpwHandlePaymentFieldStep: function (json) { 2779 globalwpw.paymentFieldActive = true; 2780 globalwpw.formfieldid = json.ID; 2781 localStorage.setItem("formfieldid", globalwpw.formfieldid); 2782 if (json.entry) { 2783 globalwpw.formentry = json.entry; 2784 localStorage.setItem("formentry", globalwpw.formentry); 2785 } 2786 var label = json.label || ""; 2787 if (label.length > 1 && typeof label === "string") { 2788 label = label.replace("#name", localStorage.getItem("shopper") || ""); 2789 } 2790 if (json.payment_error) { 2791 if (label) { 2792 wpwMsg.single(label); 2793 } 2794 wpwMsg.single(json.payment_error); 2795 globalwpw.paymentFieldActive = false; 2796 wpwKits.enableEditor( 2797 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 2798 ); 2799 return; 2800 } 2801 if (label) { 2802 wpwMsg.single(label); 2803 } 2804 if (json.payment) { 2805 wpwKits.wpwShowInlinePaymentCheckout(json.url || "", { 2806 gateway: "stripe", 2807 amount: json.amount || "", 2808 currency: json.currency || "", 2809 item: json.item || "", 2810 client_secret: json.client_secret || "", 2811 publishable_key: json.publishable_key || "", 2812 inline_checkout: json.inline_checkout || 0, 2813 }); 2814 } 2815 jQuery("#wp-chatbot-editor").prop("disabled", true); 2816 }, 2817 wpwShowInlinePaymentCheckout: function (url, meta) { 2818 meta = meta || {}; 2819 var stripePk = meta.publishable_key || ""; 2820 var stripeSecret = meta.client_secret || ""; 2821 var isInlineStripe = !!stripeSecret && !!stripePk; 2822 var item = meta.item || "Payment"; 2823 var amount = meta.amount || ""; 2824 var currency = meta.currency || ""; 2825 var amountLabel = 2826 currency && amount ? currency + " " + amount : amount || ""; 2827 var uid = "wpbot_stripe_" + Date.now(); 2828 2829 function esc(text) { 2830 return String(text == null ? "" : text) 2831 .replace(/&/g, "&") 2832 .replace(/</g, "<") 2833 .replace(/>/g, ">") 2834 .replace(/"/g, """); 2835 } 2836 2837 var html = '<div class="wpbot-inline-checkout"'; 2838 if (isInlineStripe) { 2839 html += 2840 ' data-publishable-key="' + 2841 esc(stripePk) + 2842 '" data-client-secret="' + 2843 esc(stripeSecret) + 2844 '"'; 2845 } 2846 html += ">"; 2847 2848 html += "<h4>Stripe Checkout</h4>"; 2849 html += 2850 '<p class="wpbot-inline-checkout-note">' + 2851 (isInlineStripe 2852 ? "Enter your card details below to complete payment." 2853 : "Complete your payment securely with Stripe.") + 2854 "</p>"; 2855 html += 2856 '<div class="wpbot-inline-checkout-row"><span>Item</span><strong>' + 2857 esc(item) + 2858 "</strong></div>"; 2859 html += 2860 '<div class="wpbot-inline-checkout-row"><span>Amount</span><strong>' + 2861 esc(amountLabel) + 2862 "</strong></div>"; 2863 html += 2864 '<div class="wpbot-inline-checkout-row"><span>Gateway</span><strong>Stripe</strong></div>'; 2865 2866 if (isInlineStripe) { 2867 html += '<div class="wpbot-stripe-fields wpbot-stripe-fields-loading">'; 2868 html += 2869 '<div class="wpbot-stripe-fields-loader">Loading secure card form...</div>'; 2870 html += '<div class="wpbot-stripe-fields-inner">'; 2871 html += 2872 '<label class="wpbot-stripe-field"><span>Cardholder name</span><input type="text" class="wpbot-stripe-name" name="wpbot_stripe_name" autocomplete="cc-name" placeholder="Name on card" /></label>'; 2873 html += 2874 '<label class="wpbot-stripe-field"><span>Card number</span><div id="' + 2875 uid + 2876 '_number" class="wpbot-stripe-input wpbot-stripe-card-number"></div></label>'; 2877 html += '<div class="wpbot-stripe-field-row">'; 2878 html += 2879 '<label class="wpbot-stripe-field"><span>Expiry date</span><div id="' + 2880 uid + 2881 '_expiry" class="wpbot-stripe-input wpbot-stripe-card-expiry"></div></label>'; 2882 html += 2883 '<label class="wpbot-stripe-field"><span>CVC</span><div id="' + 2884 uid + 2885 '_cvc" class="wpbot-stripe-input wpbot-stripe-card-cvc"></div></label>'; 2886 html += "</div>"; 2887 html += 2888 '<label class="wpbot-stripe-field"><span>
2888ZIP / Postal code</span><input type="text" class="wpbot-stripe-zip" name="wpbot_stripe_zip" autocomplete="postal-code" placeholder="12345" maxlength="12" /></label>'; 2889 html += "</div></div>"; 2890 html += 2891 '<div class="wpbot-stripe-card-error" style="display:none;"></div>'; 2892 } 2893 2894 html += '<div class="wpbot-inline-checkout-actions">'; 2895 if (isInlineStripe) { 2896 html += 2897 '<button type="button" class="wpbot-inline-pay-btn wpbot-inline-stripe-pay" disabled data-label="Pay ' + 2898 esc(amountLabel) + 2899 '">Pay ' + 2900 esc(amountLabel) + 2901 "</button>"; 2902 html += 2903 '<button type="button" class="wpbot-inline-cancel-btn">Cancel</button>'; 2904 } else if (url) { 2905 html += 2906 '<p class="wpbot-stripe-card-error" style="display:block;">Stripe publishable key is required for in-chat card checkout.</p>'; 2907 } 2908 html += "</div></div>"; 2909 2910 if (isInlineStripe) { 2911 wpwKits.wpwLoadStripeJs(function () {}); 2912 } 2913 2914 wpwMsg.single(html); 2915 2916 if (isInlineStripe) { 2917 var mountDelay = (globalwpw.settings.preLoadingTime || 0) + 30; 2918 setTimeout(function () { 2919 wpwKits.wpwLoadStripeJs(function () { 2920 var $card = jQuery( 2921 ".wpbot-inline-checkout[data-client-secret]" 2922 ).last(); 2923 wpwKits.wpwMountStripeInlineCheckout($card, function () { 2924 $card 2925 .find(".wpbot-stripe-fields") 2926 .removeClass("wpbot-stripe-fields-loading") 2927 .addClass("is-ready"); 2928 $card.find(".wpbot-inline-stripe-pay").prop("disabled", false); 2929 }); 2930 }); 2931 }, mountDelay); 2932 } 2933 }, 2934 wpwOpenPaymentPopup: function (url, meta) { 2935 // Keep for compatibility; prefer inline checkout in chat. 2936 wpwKits.wpwShowInlinePaymentCheckout(url, meta); 2937 }, 2938 wpwClosePaymentPopup: function () { 2939 var $modal = jQuery("#wpbot-payment-modal"); 2940 if (!$modal.length) { 2941 return; 2942 } 2943 $modal.removeClass("is-open").attr("aria-hidden", "true").hide(); 2944 $modal.find(".wpbot-payment-modal-frame").attr("src", "about:blank").show(); 2945 $modal.find(".wpbot-payment-modal-notice").hide().empty(); 2946 }, 2947 wpwOpenWindow: function (url, title, w, h) { 2948 // Fixes dual-screen position Most browsers Firefox 2949 var dualScreenLeft = 2950 window.screenLeft != undefined ? window.screenLeft : window.screenX; 2951 var dualScreenTop = 2952 window.screenTop != undefined ? window.screenTop : window.screenY; 2953 2954 var width = window.innerWidth 2955 ? window.innerWidth 2956 : document.documentElement.clientWidth 2957 ? document.documentElement.clientWidth 2958 : screen.width; 2959 var height = window.innerHeight 2960 ? window.innerHeight 2961 : document.documentElement.clientHeight 2962 ? document.documentElement.clientHeight 2963 : screen.height; 2964 2965 var left = width / 2 - w / 2 + dualScreenLeft; 2966 var top = height / 2 - h / 2 + dualScreenTop; 2967 var newWindow = window.open( 2968 url, 2969 title, 2970 "scrollbars=yes, width=" + 2971 w + 2972 ", height=" + 2973 h + 2974 ", top=" + 2975 top + 2976 ", left=" + 2977 left 2978 ); 2979
2980 // Puts focus on the newWindow 2981 if (window.focus) { 2982 newWindow.focus(); 2983 } 2984 }, 2985 htmlEntities: function (str) { 2986 return String(str) 2987 .replace(/&/g, "&") 2988 .replace(/</g, "<") 2989 .replace(/>/g, ">") 2990 .replace(/"/g, """); 2991 }, 2992 wpwHistorySave: function () { 2993 globalwpw.wpwIsWorking = 0; 2994 wpwKits.addMessageTimestamps(); 2995 var wpwHistory = $(globalwpw.settings.messageWrapper).html(); 2996 // var chatbot_editor_minlength = document.getElementById("wp-chatbot-editor").getAttribute("minlength"); 2997 // var chatbot_editor_maxlength = document.getElementById("wp-chatbot-editor").getAttribute("maxlength"); 2998 // var chatbot_editor_class = document.getElementById("wp-chatbot-editor").getAttribute("class"); 2999 // var editor_input = '<input id="wp-chatbot-editor"' + ' class="' + chatbot_editor_class +'" minlength="' + chatbot_editor_minlength +'" maxlength="' + chatbot_editor_maxlength+'" />'; 3000 3001 localStorage.setItem("wpwHitory", wpwHistory); 3002 3003 // localStorage.setItem("editorHitory", editor_input); 3004 if (localStorage.getItem("botsessionid")) { 3005 if (!localStorage.getItem("shopperemail")) { 3006 var useremail = ""; 3007 } else { 3008 var useremail = localStorage.getItem("shopperemail"); 3009 } 3010 3011 if (globalwpw.hasNameCookie) { 3012 var shopper = globalwpw.hasNameCookie; 3013 } else { 3014 var shopper = wpwKits.render( 3015 globalwpw.settings.obj.shopper_demo_name 3016 ); 3017 } 3018 3019 if (localStorage.getItem("shopperphone")) { 3020 var shopperphone = localStorage.getItem("shopperphone"); 3021 } else { 3022 var shopperphone = ""; 3023 } 3024 var data = { 3025 action: "qcld_wb_chatbot_conversation_save", 3026 session_id: localStorage.getItem("botsessionid"), 3027 name: shopper, 3028 email: useremail, 3029 phone: shopperphone, 3030 source_url: window.location.href, 3031 conversation: wpwKits.htmlEntities(wpwHistory), 3032 security: globalwpw.settings.obj.ajax_nonce, 3033 session_mailed: globalwpw.session_mailed, 3034 user_id: globalwpw.settings.obj.current_user_id, 3035 }; 3036 if (globalwpw.settings.obj.is_chat_session_active) { 3037 wpwKits.ajax(data).done(function (response) { 3038 try { 3039 var parsedResponse = JSON.parse(response); 3040 if (parsedResponse.status == "success") { 3041 globalwpw.session_mailed = "1"; 3042 } 3043 } catch (e) { 3044 console.error("Failed to parse JSON response:", e); 3045 console.error("Received response:", response); 3046 } 3047 }); 3048 } 3049 } 3050 }, 3051 3052 randomMsg: function (arrMsg) { 3053 let processedMessages = arrMsg; 3054 3055 // Step 1: Handle potential string input (e.g., JSON string). 3056 // The error message suggests `arrMsg` might sometimes be a string that needs parsing. 3057 if (typeof arrMsg === 'string') { 3058 try { 3059 const parsed = JSON.parse(arrMsg); 3060 // If parsing yields an object or array, use it for further processing. 3061 if (typeof parsed === 'object' && parsed !== null) { 3062 processedMessages = parsed; 3063 } else { 3064 // If parsed is a primitive (number, boolean, etc.), treat the original string as a single message. 3065 processedMessages = [arrMsg]; 3066 } 3067 } catch (e) { 3068 // If JSON parsing fails, treat the original string as a single message. 3069 processedMessages = [arrMsg]; 3070 } 3071 } 3072 3073 // Step 2: If 'processedMessages' is an object (and not an array), 3074 // attempt to extract language-specific messages. 3075 // This handles structures like { "en_US": ["msg1", "msg2"] } or { "en_US": "single message string" }. 3076 if (typeof processedMessages === 'object' && processedMessages !== null && !Array.isArray(processedMessages)) { 3077 if (globalwpw.settings.obj.language in processedMessages) { 3078 const langSpecificValue = processedMessages[globalwpw.settings.obj.language]; 3079 // If the language-specific value is an array, use it directly. 3080 if (Array.isArray(langSpecificValue)) { 3081 processedMessages = langSpecificValue; 3082 } else if (typeof langSpecificValue === 'string' && langSpecificValue !== '') { 3083 // If it's a non-empty string, wrap it in an array.
3084 processedMessages = [langSpecificValue]; 3085 } else { 3086 // If it's not an array or a string, it's an invalid format for messages. 3087 processedMessages = []; // Set to empty array to trigger warning below. 3088 } 3089 } else { 3090 // If the object doesn't contain the current language, 3091 // and it's not an array itself, it's an unexpected format for message selection. 3092 processedMessages = []; // Set to empty array. 3093 } 3094 } 3095 3096 // Step 3: Ensure 'processedMessages' is a valid, non-empty array of messages. 3097 if (!Array.isArray(processedMessages) || processedMessages.length === 0) { 3098 console.warn("randomMsg: No valid messages found after processing.", arrMsg, processedMessages); 3099 return ''; // Return empty string if no valid messages 3100 } 3101 3102 // Step 4: Select a random message from the processed array. 3103 var index = Math.floor(Math.random() * processedMessages.length); 3104 const selectedMessage = processedMessages[index]; 3105 3106 // Step 5: Determine the shopper's name. 3107 var shopper; 3108 if (globalwpw.hasNameCookie) { 3109 shopper = globalwpw.hasNameCookie; 3110 } else { 3111 shopper = wpwKits.render(globalwpw.settings.obj.shopper_demo_name); 3112 } 3113 3114 // Step 6: Filter shopper name and replace the placeholder in the selected message. 3115 // Ensure the selected message is a non-empty string before attempting replacement. 3116 if (typeof selectedMessage === 'string' && selectedMessage !== "") { 3117 var filtershopper = wpwKits.filterStopWords(shopper); 3118 return selectedMessage.replace( 3119 "%%username%%", 3120 "<strong>" + filtershopper + "</strong>" 3121 ); 3122 } 3123 3124 return ''; // Return empty string if the specific message is invalid or not a string. 3125 }, 3126 ajax: function (data) { 3127 if (data && data.action && globalwpw.aiPendingFile) { 3128 var aiFileActions = [ 3129 "openai_response", 3130 "gemini_response", 3131 "qcld_grok_response", 3132 "claude_response", 3133 "openrouter_response", 3134 "mistral_response", 3135 "ollama_response", 3136 "qcld_stream_openai", 3137 "qcld_stream_gemini", 3138 "qcld_stream_grokai", 3139 "qcld_stream_claude", 3140 "qcld_tvly_respose", 3141 ]; 3142 if (aiFileActions.indexOf(data.action) !== -1) { 3143 data = wpwKits.appendAiFileToData(data); 3144 } 3145 } 3146 return jQuery.post(globalwpw.settings.obj.ajax_url, data); 3147 }, 3148 dailogCXAction: function (text, name, timezone = "", languagecode = "") { 3149 if (!localStorage.getItem("botsessionid")) { 3150 var number = Math.random(); // 0.9394456857981651 3151 number.toString(36); // '0.xtis06h6' 3152 var id = number.toString(36).substr(2); // 'xtis06h6' 3153 localStorage.setItem("botsessionid", id); 3154 } 3155 return jQuery.post(globalwpw.settings.obj.ajax_url, { 3156 action: "qcld_wp_df_api_cx", 3157 dfquery: text, 3158 sessionid: localStorage.getItem("botsessionid") 3159 ? localStorage.getItem("botsessionid") 3160 : "wpwBot_df_2018071", 3161 language: globalwpw.settings.obj.language, 3162 name: name, 3163 timezone: timezone, 3164 defaultlanguageCode: languagecode, 3165 }); 3166 }, 3167 dailogAIOAction: function (text) { 3168 if (!localStorage.getItem("botsessionid")) { 3169 var number = Math.random(); // 0.9394456857981651 3170 number.toString(36); // '0.xtis06h6' 3171 var id = number.toString(36).substr(2); // 'xtis06h6' 3172 3173 localStorage.setItem("botsessionid", id); 3174 } 3175 3176 if (globalwpw.settings.obj.df_api_version == "v1") { 3177 return jQuery.ajax({ 3178 type: "POST", 3179 url: "https://api.dialogflow.com/v1/query?v=20170712", 3180 contentType: "application/json; charset=utf-8", 3181 dataType: "json", 3182 headers: { 3183 Authorization: "Bearer " + globalwpw.settings.obj.ai_df_token, 3184 }, 3185 3186 data: JSON.stringify({ 3187 query: text, 3188 3189 lang: globalwpw.settings.obj.df_agent_lan, 3190 sessionId: localStorage.getItem("botsessionid") 3191 ? localStorage.getItem("botsessionid") 3192 : "wpwBot_df_2018071", 3193 }), 3194 }); 3195 } else { 3196 return jQuery.post(globalwpw.settings.obj.ajax_url, { 3197 action: "qcld_wp_df_api_call", 3198 dfquery: text, 3199 sessionid: localStorage.getItem("botsessionid") 3200 ? localStorage.getItem("botsessionid") 3201 : "wpwBot_df_2018071", 3202 language: globalwpw.settings.obj.language, 3203 }); 3204 } 3205 }, 3206 responseIsOk: function (response) { 3207 if (globalwpw.settings.obj.df_api_version == "v1") { 3208 if (response.status.code == 200 || response.status.code == 206) { 3209 return true; 3210 } else { 3211 return false;
3212 } 3213 } else { 3214 if (typeof response.responseId !== "undefined") { 3215 return true; 3216 } else { 3217 return false; 3218 } 3219 } 3220 }, 3221 getIntentName: function (response) { 3222 if (globalwpw.settings.obj.df_api_version == "v1") { 3223 return response.result.metadata.intentName; 3224 } else { 3225 if ( 3226 typeof response.queryResult.intent !== "undefined" && 3227 typeof response.queryResult.intent.displayName !== "undefined" 3228 ) { 3229 return response.queryResult.intent.displayName; 3230 } else { 3231 return ""; 3232 } 3233 } 3234 }, 3235 getParameters: function (response) { 3236 if (globalwpw.settings.obj.df_api_version == "v1") { 3237 return response.result.parameters; 3238 } else { 3239 return response.queryResult.parameters; 3240 } 3241 }, 3242 getFulfillmentText: function (response) { 3243 if (globalwpw.settings.obj.df_api_version == "v1") { 3244 return response.result.fulfillment.messages; 3245 } else { 3246 if (typeof response.queryResult.fulfillmentText === "undefined") { 3247 return ""; 3248 } else { 3249 return response.queryResult.fulfillmentText; 3250 } 3251 } 3252 }, 3253 getFulfillmentSpeech: function (response) { 3254 if (globalwpw.settings.obj.df_api_version == "v1") { 3255 return response.result.fulfillment.speech; 3256 } else { 3257 if (typeof response.queryResult.fulfillmentText === "undefined") { 3258 return ""; 3259 } else { 3260 return response.queryResult.fulfillmentText; 3261 } 3262 } 3263 }, 3264 getScore: function (response) { 3265 if (globalwpw.settings.obj.df_api_version == "v1") { 3266 return response.result.score; 3267 } else { 3268 return response.queryResult.intentDetectionConfidence; 3269 } 3270 }, 3271 getAction: function (response) { 3272 if (globalwpw.settings.obj.df_api_version == "v1") { 3273 return response.result.action; 3274 } else { 3275 if (typeof response.queryResult.action !== "undefined") { 3276 return response.queryResult.action; 3277 } else { 3278 return ""; 3279 } 3280 } 3281 }, 3282 queryText: function (response) { 3283 if (globalwpw.settings.obj.df_api_version == "v1") { 3284 return response.result.resolvedQuery; 3285 } else { 3286 return response.queryResult.queryText; 3287 } 3288 }, 3289 3290 isActionComplete: function (response) { 3291 if (globalwpw.settings.obj.df_api_version == "v1") { 3292 if (!response.result.actionIncomplete) { 3293 return true; 3294 } else { 3295 return false; 3296 } 3297 } else { 3298 return response.queryResult.allRequiredParamsPresent; 3299 } 3300 }, 3301 isConversationEnd: function (response) { 3302 if (globalwpw.settings.obj.df_api_version == "v1") { 3303 if ( 3304 typeof response.result.metadata.endConversation !== "undefined" && 3305 response.result.metadata.endConversation 3306 ) { 3307 return true; 3308 } else { 3309 return false; 3310 } 3311 } else { 3312 if (typeof response.queryResult.diagnosticInfo !== "undefined") { 3313 if ( 3314 typeof response.queryResult.diagnosticInfo.end_conversation !== 3315 "undefined" 3316 ) { 3317 return response.queryResult.diagnosticInfo.end_conversation; 3318 } else { 3319 return false; 3320 } 3321 } else { 3322 return false; 3323 } 3324 } 3325 }, 3326 sugestCat: function () { 3327 var productSuggest = wpwKits.randomMsg( 3328 globalwpw.settings.obj.product_suggest 3329 ); 3330 var data = { action: "qcld_wb_chatbot_category" }; 3331 var result = wpwKits.ajax(data); 3332 if ( 3333 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 3334 .length == 0 3335 ) { 3336 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 3337 } 3338 result.done(function (response) { 3339 wpwMsg.double_nobg(productSuggest, response); 3340 // if ( 3341 // globalwpw.settings.obj.ai_df_enable == 1 && 3342 // globalwpw.df_status_lock == 0 3343 // ) { 3344 globalwpw.wildCard = 0;
3345 globalwpw.ai_step = 1; 3346 localStorage.setItem("wildCard", globalwpw.wildCard); 3347 localStorage.setItem("aiStep", globalwpw.ai_step); 3348 // } 3349 }); 3350 }, 3351 subCats: function (parentId) { 3352 var subCatMsg = wpwKits.randomMsg(globalwpw.settings.obj.product_suggest); 3353 var data = { 3354 action: "qcld_wb_chatbot_sub_category", 3355 parent_id: parentId, 3356 }; 3357 var result = wpwKits.ajax(data); 3358 if ( 3359 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 3360 .length == 0 3361 ) { 3362 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 3363 } 3364 result.done(function (response) { 3365 wpwMsg.double_nobg(subCatMsg, response); 3366 }); 3367 }, 3368 suggestEmail: function (emailFor) { 3369 var sugMsg = wpwKits.randomMsg( 3370 globalwpw.settings.obj.support_option_again 3371 ); 3372 var sugOptions = globalwpw.wildcards; 3373 wpwMsg.double_nobg(sugMsg, sugOptions); 3374 }, 3375 videohandler: function () { 3376 $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph").html( 3377 function (i, html) { 3378 if (globalwpw.settings.obj.disable_youtube_parse == 1) { 3379 return html; 3380 } else { 3381 if (html.indexOf("iframe") < 0) { 3382 return html.replace( 3383 /(?:https:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=)?(.+)/g, 3384 '<iframe width="250" height="180" src="https://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>' 3385 ); 3386 } else { 3387 return html; 3388 } 3389 } 3390 } 3391 ); 3392 }, 3393 scrollTo: function () { 3394 var totalheight = 0; 3395 var umh = []; 3396 $("ul#wp-chatbot-messages-container li:visible").each(function () { 3397 totalheight += $(this).outerHeight(true); 3398 if ($(this).hasClass("wp-chat-user-msg")) { 3399 umh.push(totalheight); 3400 } 3401 }); 3402 if (umh.length > 0) { 3403 var scrollto = parseFloat(umh[umh.length - 1]); 3404 } else { 3405 var scrollto = $(globalwpw.settings.messageWrapper).prop( 3406 "scrollHeight" 3407 ); 3408 } 3409 if (globalwpw.settings.obj.always_scroll_to_bottom == 1) { 3410 $(globalwpw.settings.botContainer) 3411 .animate( 3412 { 3413 scrollTop: $(globalwpw.settings.messageWrapper).prop( 3414 "scrollHeight" 3415 ), 3416 }, 3417 "slow" 3418 ) 3419 .parent() 3420 .find(".slimScrollBar") 3421 .css({ top: $(globalwpw.settings.botContainer).height() + "px" }); 3422 } else { 3423 var $botContainer = $(globalwpw.settings.botContainer); 3424 $botContainer.animate({ scrollTop: scrollto }, "slow"); 3425 setTimeout(function () { 3426 // Only sync slimScroll when it is already active. Re-init without a 3427 // height defaults to 250px and breaks mobile layout/editor/footer. 3428 if ($botContainer.parent().hasClass("slimScrollDiv")) { 3429 $botContainer.slimScroll({ 3430 scrollTo: scrollto + "px", 3431 }); 3432 } else { 3433 $botContainer.scrollTop(scrollto); 3434 } 3435 }, 1000); 3436 } 3437 }, 3438 botPreloader: function () { 3439 3440 var typing_animation = globalwpw.settings.obj.image_path + "comment.gif"; 3441 3442 if ( 3443 globalwpw.settings.obj.template == "template-06" || 3444 globalwpw.settings.obj.template == "template-07" 3445 ) { 3446 typing_animation = globalwpw.settings.obj.image_path + "loader.gif"; 3447 } 3448 3449 if (globalwpw.settings.obj.typing_animation != "") { 3450 typing_animation = globalwpw.settings.obj.typing_animation; 3451 } 3452 3453 var msgContent = 3454 '<li class="wp-chatbot-msg" role="alert">' + 3455 '<div class="wp-chatbot-avatar">' + 3456 '<img src="' + globalwpw.settings.obj.agent_image_path + '" alt="">' + 3457 '</div>' + 3458 '<div class="wp-chatbot-agent">' + 3459 wpwKits.render(globalwpw.settings.obj.agent) + 3460 '</div>' + 3461 '<div class="wp-chatbot-paragraph"><img class="wp-chatbot-comment-loader" src="' + typing_animation + '" alt="Typing..." /></div>' + 3462 3463 '</div>' + 3464 '</li>'; 3465 3466 return msgContent; 3467 }, 3468 botPreloaderWithicon: function () { 3469 var typing_animation = globalwpw.settings.obj.image_path + "comment.gif"; 3470 3471 if (
3472 globalwpw.settings.obj.template == "template-06" || 3473 globalwpw.settings.obj.template == "template-07" 3474 ) { 3475 typing_animation = globalwpw.settings.obj.image_path + "loader.gif"; 3476 } 3477 3478 if (globalwpw.settings.obj.typing_animation != "") { 3479 typing_animation = globalwpw.settings.obj.typing_animation; 3480 } 3481 var enableleReactions = globalwpw.settings.obj.skip_chat_reactions_menu; 3482 var eanleeReport = globalwpw.settings.obj.enable_chat_report_menu; 3483 var enableshare = globalwpw.settings.obj.enable_chat_share_menu; 3484 var likeTxt = globalwpw.settings.obj.qlcd_wp_chatbot_like_text; 3485 var disLikeTxt = globalwpw.settings.obj.qlcd_wp_chatbot_dislike_text; 3486 var reportTxt = globalwpw.settings.obj.qlcd_wp_chatbot_report_text; 3487 var sharetTxt = globalwpw.settings.obj.qlcd_wp_chatbot_share_text; 3488 3489 var msgContent = 3490 '<li class="wp-chatbot-msg" role="alert">' + 3491 '<div class="wp-chatbot-avatar">' + 3492 '<img src="' + globalwpw.settings.obj.agent_image_path + '" alt="">' + 3493 '</div>' + 3494 '<div class="wp-chatbot-agent">' + 3495 wpwKits.render(globalwpw.settings.obj.agent) + 3496 '</div>' + 3497 '<div class="chat-container"><div class="wp-chatbot-paragraph"><img class="wp-chatbot-comment-loader" src="' + typing_animation + '" alt="Typing..." /></div>' + 3498 3499 '<div class="qcld-like-dislike-icon">' + 3500 (enableleReactions == 1 3501 ? '<a href="#" title="' + (likeTxt?.en_US || 'Like') + '"><i class="fa fa-thumbs-o-up" aria-hidden="true"></i></a>' + 3502 '<a href="#" title="' + (disLikeTxt?.en_US || 'Dislike') + '"><i class="fa fa-thumbs-o-down" aria-hidden="true"></i></a>' 3503 : '') + 3504 3505 (eanleeReport == 1 3506 ? '<a href="#" title="' + (reportTxt?.en_US || 'Report') + '"><i class="fa fa-commenting-o" aria-hidden="true"></i></a>' 3507 : '') + 3508 3509 (enableshare == 1 3510 ? '<div class="qcld-share">' + 3511 '<a href="#" class="share-toggle" title="' + (sharetTxt?.en_US || 'Share') + '"><i class="fa fa-share-alt" aria-hidden="true"></i></a>' + 3512 '<div class="share-menu" style="display:none;">' + 3513 '<a href="#" class="share-fb"><i class="fa fa-facebook"></i></a>' + 3514 '<a href="#" class="share-wa"><i class="fa fa-whatsapp"></i></a>' + 3515 '<a href="#" class="share-x"><i class="fa fa-twitter"></i></a>' + 3516 '<a href="#" class="share-email"><i class="fa fa-envelope"></i></a>' + 3517 '</div>' + 3518 '</div>' 3519 : '') + 3520 '</div>' + 3521 '</div>' + 3522 '</div>' + 3523 '</li>'; 3524 3525 return msgContent; 3526 }, 3527 shopperMsgDom: function (msg) { 3528 if (globalwpw.hasNameCookie) { 3529 var shopper = globalwpw.hasNameCookie; 3530 } else { 3531 var shopper = wpwKits.render(globalwpw.settings.obj.shopper_demo_name); 3532 } 3533 3534 var client_image = globalwpw.settings.obj.client_image; 3535 if (client_image == "" || typeof client_image == undefined) { 3536 client_image = globalwpw.settings.obj.image_path + "client.png"; 3537 } 3538 3539 var msgContent = 3540 '<li class="wp-chat-user-msg">' + 3541 '<div class="wp-chatbot-avatar">' + 3542 '<img src="' + 3543 client_image + 3544 '" alt="">' + 3545 "</div>" + 3546 '<div class="wp-chatbot-agent">' + 3547 shopper + 3548 "</div>" + 3549 '<div class="wp-chatbot-paragraph">' + 3550 msg + 3551 "</div></li>"; 3552 return msgContent; 3553 }, 3554 showCart: function () { 3555 var data = { action: "qcld_wb_chatbot_show_cart" }; 3556 this.ajax(data).done(function (response) { 3557 //if cart show on message board 3558 if ($("#wp-chatbot-shortcode-template-container").length == 0) { 3559 $(globalwpw.settings.messageWrapper).html(response.html); 3560 $("#wp-chatbot-cart-numbers").html(response.items); 3561 $(".wp-chatbot-ball-cart-items").html(response.items); 3562 wpwKits.disableEditor( 3563 wpwKits.randomMsg(globalwpw.settings.obj.shopping_cart) 3564 ); 3565 } else { 3566 //Cart show on shortcode
3567 $(".wp-chatbot-cart-shortcode-container").html(response.html); 3568 } 3569 //Add scroll to the cart shortcode 3570 if ( 3571 $("#wp-chatbot-shortcode-template-container").length > 0 && 3572 $(".chatbot-shortcode-template-02").length == 0 3573 ) { 3574 $(".wp-chatbot-cart-body").slimScroll({ 3575 height: "200px", 3576 start: "bottom", 3577 }); 3578 } 3579 }); 3580 }, 3581 toTitlecase: function (msg) { 3582 return msg.replace(/\w\S*/g, function (txt) { 3583 return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); 3584 }); 3585 }, 3586 filterStopWords: function (msg) { 3587 var spcialStopWords = ",;,/,\\,[,],{,},(,),&,*,.,+ ,?,^,$,=,!,<,>,|,:,-"; 3588 var userMsg = ""; 3589 //Removing Special Characts from last position. 3590 var msgLastChar = msg.slice(-1); 3591 if (spcialStopWords.indexOf(msgLastChar) >= 0) { 3592 userMsg = msg.slice(0, -1); 3593 } else { 3594 userMsg = msg; 3595 } 3596 var stopWords = globalwpw.settings.obj.stop_words + spcialStopWords; 3597 var stopWordsArr = stopWords.split(","); 3598 var msgArr = userMsg.split(" "); 3599 var filtermsgArr = msgArr.filter(function myCallBack(el) { 3600 return stopWordsArr.indexOf(el.toLowerCase()) < 0; 3601 }); 3602 var filterMsg = filtermsgArr.join(" "); 3603 return filterMsg; 3604 }, 3605 htmlTagsScape: function (userString) { 3606 var tagsToReplace = { 3607 "&": "&", 3608 "<": "<", 3609 ">": ">", 3610 }; 3611 return userString.replace(/[&<>]/g, function (tag) { 3612 return tagsToReplace[tag] || tag; 3613 }); 3614 }, 3615 string_match: function (string, keyword) { 3616 keyword = wpwKits.iosCharModify(keyword.toLowerCase()); 3617 var large_strings = string.split("#"); 3618 var object = globalwpw.strObject.data[0].users_answer; 3619 var result = false;
3620 // Check if any required entities 3621 if (object.entity_is_required == 1 || object.entity_name != "") { 3622 // check if it is default 3623 if ( 3624 typeof globalwpw.settings.obj.entities.default[object.entity_name] !== 3625 "undefined" 3626 ) { 3627 result = wpwKits.handleDefaultEntities( 3628 globalwpw.settings.obj.entities.default[object.entity_name], 3629 keyword 3630 ); 3631 if (result) { 3632 // Assing the entity value to temp object for later use. 3633 globalwpw.strEntities[ 3634 object.entity_name + globalwpw.strObject.data[0].id 3635 ] = result; 3636 localStorage.setItem( 3637 "strEntities", 3638 JSON.stringify(globalwpw.strEntities) 3639 ); 3640 } 3641 } else if ( 3642 typeof globalwpw.settings.obj.entities.custom[object.entity_name] !== 3643 "undefined" 3644 ) { 3645 // Custom Entity 3646 result = wpwKits.handleCustomEntities( 3647 globalwpw.settings.obj.entities.custom[object.entity_name], 3648 keyword 3649 ); 3650 if (result) { 3651 // Assing the entity value to temp object for later use. 3652 globalwpw.strEntities[ 3653 object.entity_name + globalwpw.strObject.data[0].id 3654 ] = result; 3655 localStorage.setItem( 3656 "strEntities", 3657 JSON.stringify(globalwpw.strEntities) 3658 ); 3659 } 3660 } 3661 } 3662 3663 large_strings = large_strings.map((element) => { 3664 return element.trim().toLowerCase(); 3665 }); 3666 if (result) { 3667 return large_strings.includes( 3668 keyword.replace( 3669 globalwpw.strEntities[ 3670 object.entity_name + globalwpw.strObject.data[0].id 3671 ].toLowerCase(), 3672 object.entity_name 3673 ) 3674 ); 3675 } else { 3676 return large_strings.includes(keyword); 3677 } 3678 }, 3679 iosCharModify: function (str) { 3680 str = str 3681 .replace("ââ¬Â", '"') 3682 .replace("ââ¬Å", '"') 3683 .replace("ââ¬â¢", "'") 3684 .replace("ââ¬Ë", "'") 3685 .replace(/[\u2018\u2019]/g, "'") 3686 .replace(/[\u201C\u201D]/g, '"') 3687 .replace(/[\u2013\u2014]/g, "-") 3688 .replace(/[\u2026]/g, "..."); 3689 return str; 3690 }, 3691 handleDefaultEntities: function (entity, text) { 3692 var entity_value = false; 3693 3694 // Extract entity value 3695 switch (entity.entity) { 3696 case "@name": 3697 entity_value = wpwKits.entityName(text); 3698 break; 3699 case "@age": 3700 entity_value = wpwKits.entityAge(text); 3701 break; 3702 case "@color": 3703 entity_value = wpwKits.entityColor(text); 3704 break; 3705 case "@date": 3706 entity_value = wpwKits.entityDate(text); 3707 break; 3708 case "@date-of-birth": 3709 entity_value = wpwKits.entityDateOfBirth(text); 3710 break; 3711 case "@day": 3712 entity_value = wpwKits.entityDay(text); 3713 break; 3714 case "@email": 3715 entity_value = wpwKits.entityEmail(text); 3716 break; 3717 case "@number": 3718 entity_value = wpwKits.entityNumber(text); 3719 break; 3720 case "@place": 3721 var filteredText = wpwKits.filterStopWords(text); 3722 var url = 3723 "https://nominatim.openstreetmap.org/search/" + 3724 filteredText + 3725 "?format=json&polygon=1&polygon_geojson=1&limit=9999"; 3726 $.ajax({ 3727 type: "GET", 3728 url: url, 3729 dataType: "json", 3730 contentType: false, 3731 processData: false, //this is a must 3732 async: false, 3733 success: function (response) { 3734 if (response.length > 0) { 3735 entity_value = filteredText; 3736 } 3737 }, 3738 }); 3739 break; 3740 } 3741 3742 return entity_value; 3743 }, 3744 handleCustomEntities: function (entity, text) { 3745 var synonyms = entity.synonyms.split(","); 3746 synonyms = synonyms.map(function (keyword) { 3747 return keyword.trim(); 3748 }); 3749 var matched_value = false;
3750 $.each(synonyms, function (index, item) { 3751 var result = text.match(item.toLowerCase()); 3752 if (result) { 3753 matched_value = result[0]; 3754 } 3755 }); 3756 return matched_value; 3757 }, 3758 entityName: function (text) { 3759 // Find the name from given text. 3760 var filteredText = wpwKits.filterStopWords(text); 3761 if (filteredText && filteredText != "") { 3762 filteredText = 3763 filteredText.charAt(0).toUpperCase() + filteredText.slice(1); 3764 return filteredText; 3765 } 3766 return false; 3767 }, 3768 entityAge: function (text) { 3769 var filteredText = wpwKits.filterStopWords(text); 3770 var matches = filteredText.match(/(\d+)/); 3771 3772 if (matches) { 3773 return matches[0]; 3774 } 3775 return false; 3776 }, 3777 entityEmail: function (text) { 3778 var result = text.match( 3779 /([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+)/gi 3780 ); 3781 if (result) { 3782 return result[0]; 3783 } 3784 return false; 3785 }, 3786 entityNumber: function (text) { 3787 return wpwKits.entityAge(text); 3788 }, 3789 entityDate: function (d) { 3790 var result; 3791 3792 result = d.match("[0-9]{2}([-/ .])[0-9]{2}[-/ .][0-9]{4}"); 3793 if (null != result) { 3794 return result[0]; 3795 } 3796 result = d.match("[0-9]{4}([-/ .])[0-9]{2}[-/ .][0-9]{2}"); 3797 if (null != result) { 3798 return result[0]; 3799 } 3800 3801 return false; 3802 }, 3803 entityDateOfBirth: function (text) { 3804 return wpwKits.entityDate(text); 3805 }, 3806 entityDay: function (text) { 3807 var days = [ 3808 "Sunday", 3809 "Monday", 3810 "Tuesday", 3811 "Wednesday", 3812 "Thursday", 3813 "Friday", 3814 "Saturday", 3815 ]; 3816 var match_day = false; 3817 $.each(days, function (index, day) { 3818 var result = text.match(day.toLowerCase()); 3819 if (result) { 3820 match_day = result[0]; 3821 } 3822 }); 3823 return match_day; 3824 }, 3825 isValidColor: function (strColor) { 3826 var s = new Option().style; 3827 s.color = strColor; 3828 3829 // return 'false' if color wasn't assigned 3830 return s.color == strColor.toLowerCase(); 3831 }, 3832 entityColor: function (text) { 3833 // Find the color from given text. 3834 var filteredText = wpwKits.filterStopWords(text); 3835 if (filteredText && filteredText != "") { 3836 if (wpwKits.isValidColor(filteredText)) { 3837 return filteredText; 3838 } 3839 } 3840 return false; 3841 }, 3842 trigger_intent: function (intent) { 3843 if (typeof intent !== "undefined" && wpwKits.render(intent) == "Faq") { 3844 if (!localStorage.getItem("shopper")) { 3845 $.cookie( 3846 "shopper", 3847 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 3848 { expires: 365 } 3849 ); 3850 localStorage.setItem( 3851 "shopper", 3852 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 3853 ); 3854 globalwpw.hasNameCookie = wpwKits.render( 3855 globalwpw.settings.obj.shopper_demo_name 3856 ); 3857 } 3858 3859 globalwpw.wildCard = 1; 3860 globalwpw.supportStep = "welcome"; 3861 wpwAction.bot("from wildcard support"); 3862 //keeping value in localstorage 3863 localStorage.setItem("wildCard", globalwpw.wildCard); 3864 localStorage.setItem("supportStep", globalwpw.supportStep); 3865 globalwpw.initialize = 0; 3866 globalwpw.ai_step = 1; 3867 } else if ( 3868 typeof intent !== "undefined" && 3869 wpwKits.render(intent) == "Email Subscription" 3870 ) { 3871 if (!localStorage.getItem("shopper")) { 3872 $.cookie( 3873 "shopper", 3874 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 3875 { expires: 365 } 3876 ); 3877 localStorage.setItem( 3878 "shopper", 3879 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 3880 ); 3881 globalwpw.hasNameCookie = wpwKits.render( 3882 globalwpw.settings.obj.shopper_demo_name 3883 ); 3884 } 3885 3886 globalwpw.wildCard = 3; 3887 globalwpw.subscriptionStep = "welcome"; 3888 wpwTree.subscription(); 3889 localStorage.setItem("wildCard", globalwpw.wildCard); 3890 localStorage.setItem("supportStep", globalwpw.supportStep);
3891 globalwpw.initialize = 0; 3892 globalwpw.ai_step = 1; 3893 } else if ( 3894 typeof intent !== "undefined" && 3895 wpwKits.render(intent) == "Product Search" 3896 ) { 3897 if (!localStorage.getItem("shopper")) { 3898 $.cookie( 3899 "shopper", 3900 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 3901 { expires: 365 } 3902 ); 3903 localStorage.setItem( 3904 "shopper", 3905 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 3906 ); 3907 globalwpw.hasNameCookie = wpwKits.render( 3908 globalwpw.settings.obj.shopper_demo_name 3909 ); 3910 } 3911 3912 globalwpw.wildCard = 20; 3913 globalwpw.productStep = "asking"; 3914 wpwAction.bot("from wildcard product"); 3915 //keeping value in localstorage 3916 localStorage.setItem("wildCard", globalwpw.wildCard); 3917 localStorage.setItem("productStep", globalwpw.productStep); 3918 globalwpw.initialize = 0; 3919 globalwpw.ai_step = 1; 3920 } else if ( 3921 typeof intent !== "undefined" && 3922 wpwKits.render(intent) == "Catalog" 3923 ) { 3924 if (!localStorage.getItem("shopper")) { 3925 $.cookie( 3926 "shopper", 3927 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 3928 { expires: 365 } 3929 ); 3930 localStorage.setItem( 3931 "shopper", 3932 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 3933 ); 3934 globalwpw.hasNameCookie = wpwKits.render( 3935 globalwpw.settings.obj.shopper_demo_name 3936 ); 3937 } 3938 wpwAction.bot( 3939 (wpwKits.render(globalwpw.settings.obj.sys_key_catalog) || '').toLowerCase() 3940 ); 3941 globalwpw.initialize = 0; 3942 globalwpw.ai_step = 1; 3943 } else if ( 3944 typeof intent !== "undefined" && 3945 wpwKits.render(intent) == "Featured Products" 3946 ) { 3947 if (!localStorage.getItem("shopper")) { 3948 $.cookie( 3949 "shopper", 3950 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 3951 { expires: 365 } 3952 ); 3953 localStorage.setItem( 3954 "shopper", 3955 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 3956 ); 3957 globalwpw.hasNameCookie = wpwKits.render( 3958 globalwpw.settings.obj.shopper_demo_name 3959 ); 3960 } 3961 globalwpw.wildCard = 20; 3962 globalwpw.productStep = "featured"; 3963 wpwAction.bot("from wildcard product"); 3964 //keeping value in localstorage 3965 localStorage.setItem("wildCard", globalwpw.wildCard); 3966 localStorage.setItem("productStep", globalwpw.productStep); 3967 3968 globalwpw.initialize = 0; 3969 globalwpw.ai_step = 1; 3970 } else if ( 3971 typeof intent !== "undefined" && 3972 wpwKits.render(intent) == "Products on Sale" 3973 ) { 3974 if (!localStorage.getItem("shopper")) { 3975 $.cookie( 3976 "shopper", 3977 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 3978 { expires: 365 } 3979 ); 3980 localStorage.setItem( 3981 "shopper", 3982 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 3983 ); 3984 globalwpw.hasNameCookie = wpwKits.render( 3985 globalwpw.settings.obj.shopper_demo_name 3986 ); 3987 } 3988 globalwpw.wildCard = 20; 3989 globalwpw.productStep = "sale"; 3990 wpwAction.bot("from wildcard product"); 3991 //keeping value in localstorage 3992 localStorage.setItem("wildCard", globalwpw.wildCard); 3993 localStorage.setItem("productStep", globalwpw.productStep); 3994 3995 globalwpw.initialize = 0; 3996 globalwpw.ai_step = 1; 3997 } else if ( 3998 typeof intent !== "undefined" && 3999 wpwKits.render(intent) == "Order Status" 4000 ) { 4001 if (!localStorage.getItem("shopper")) { 4002 $.cookie( 4003 "shopper", 4004 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 4005 { expires: 365 } 4006 ); 4007 localStorage.setItem( 4008 "shopper", 4009 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 4010 );
4011 globalwpw.hasNameCookie = wpwKits.render( 4012 globalwpw.settings.obj.shopper_demo_name 4013 ); 4014 } 4015 globalwpw.wildCard = 21; 4016 globalwpw.orderStep = "welcome"; 4017 wpwAction.bot("from wildcard order"); 4018 //keeping value in localstorage 4019 localStorage.setItem("wildCard", globalwpw.wildCard); 4020 localStorage.setItem("orderStep", globalwpw.orderStep); 4021 4022 globalwpw.initialize = 0; 4023 globalwpw.ai_step = 1; 4024 } else if ( 4025 typeof intent !== "undefined" && 4026 wpwKits.render(intent) == 4027 wpwKits.render(globalwpw.settings.obj.site_search) 4028 ) { 4029 if (!localStorage.getItem("shopper")) { 4030 $.cookie( 4031 "shopper", 4032 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 4033 { expires: 365 } 4034 ); 4035 localStorage.setItem( 4036 "shopper", 4037 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 4038 ); 4039 globalwpw.hasNameCookie = wpwKits.render( 4040 globalwpw.settings.obj.shopper_demo_name 4041 ); 4042 } 4043 4044 if ( 4045 typeof globalwpw.hasNameCookie == "undefined" || 4046 globalwpw.hasNameCookie == "" 4047 ) { 4048 var shopperName = wpwKits.render( 4049 globalwpw.settings.obj.shopper_demo_name 4050 ); 4051 } else { 4052 var shopperName = globalwpw.hasNameCookie; 4053 } 4054 var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_search_keyword); 4055 4056 wpwMsg.single(askEmail.replace("#name", shopperName)); 4057 //Now updating the support part as . 4058 globalwpw.supportStep = "search"; 4059 globalwpw.wildCard = 1; 4060 globalwpw.ai_step = 1; 4061 globalwpw.initialize = 0; 4062 //keeping value in localstorage 4063 localStorage.setItem("wildCard", globalwpw.wildCard); 4064 localStorage.setItem("supportStep", globalwpw.supportStep); 4065 } else if ( 4066 typeof intent !== "undefined" && 4067 wpwKits.render(intent) == "Send Us Email" 4068 ) { 4069 if (!localStorage.getItem("shopper")) { 4070 $.cookie( 4071 "shopper", 4072 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 4073 { expires: 365 } 4074 ); 4075 localStorage.setItem( 4076 "shopper", 4077 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 4078 ); 4079 globalwpw.hasNameCookie = wpwKits.render( 4080 globalwpw.settings.obj.shopper_demo_name 4081 ); 4082 } 4083 4084 if ( 4085 typeof globalwpw.hasNameCookie == "undefined" || 4086 globalwpw.hasNameCookie == "" 4087 ) { 4088 var shopperName = wpwKits.render( 4089 globalwpw.settings.obj.shopper_demo_name 4090 ); 4091 } else { 4092 var shopperName = globalwpw.hasNameCookie; 4093 } 4094 var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_email); 4095 wpwMsg.single(askEmail); 4096 //Now updating the support part as . 4097 globalwpw.supportStep = "email"; 4098 globalwpw.wildCard = 1; 4099 globalwpw.ai_step = 1; 4100 globalwpw.initialize = 1; 4101 //keeping value in localstorage 4102 localStorage.setItem("wildCard", globalwpw.wildCard); 4103 localStorage.setItem("supportStep", globalwpw.supportStep); 4104 } else if ( 4105 typeof intent !== "undefined" && 4106 wpwKits.render(intent) == "Leave A Feedback" 4107 ) { 4108 if (!localStorage.getItem("shopper")) { 4109 $.cookie( 4110 "shopper", 4111 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 4112 { expires: 365 } 4113 ); 4114 localStorage.setItem( 4115 "shopper", 4116 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 4117 ); 4118 globalwpw.hasNameCookie = wpwKits.render( 4119 globalwpw.settings.obj.shopper_demo_name 4120 ); 4121 } 4122 4123 if ( 4124 typeof globalwpw.hasNameCookie == "undefined" || 4125 globalwpw.hasNameCookie == "" 4126 ) { 4127 var shopperName = wpwKits.render( 4128 globalwpw.settings.obj.shopper_demo_name 4129 ); 4130 } else { 4131 var shopperName = globalwpw.hasNameCookie; 4132 } 4133 4134 var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_email); 4135 wpwMsg.single(askEmail); 4136 //Now updating the support part as .
4137 globalwpw.supportStep = "email"; 4138 globalwpw.wildCard = 1; 4139 globalwpw.ai_step = 1; 4140 globalwpw.initialize = 0; 4141 4142 //keeping value in localstorage 4143 localStorage.setItem("wildCard", globalwpw.wildCard); 4144 localStorage.setItem("supportStep", globalwpw.supportStep); 4145 } else if ( 4146 typeof intent !== "undefined" && 4147 wpwKits.render(intent) == "Request Callback" 4148 ) { 4149 if (!localStorage.getItem("shopper")) { 4150 $.cookie( 4151 "shopper", 4152 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 4153 { expires: 365 } 4154 ); 4155 localStorage.setItem( 4156 "shopper", 4157 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 4158 ); 4159 globalwpw.hasNameCookie = wpwKits.render( 4160 globalwpw.settings.obj.shopper_demo_name 4161 ); 4162 } 4163 4164 if ( 4165 typeof globalwpw.hasNameCookie == "undefined" || 4166 globalwpw.hasNameCookie == "" 4167 ) { 4168 var shopperName = wpwKits.render( 4169 globalwpw.settings.obj.shopper_demo_name 4170 ); 4171 } else { 4172 var shopperName = globalwpw.hasNameCookie; 4173 } 4174 var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_phone); 4175 setTimeout(function () { 4176 wpwMsg.single(askEmail); 4177 //Now updating the support part as . 4178 globalwpw.supportStep = "phone"; 4179 globalwpw.wildCard = 1; 4180 globalwpw.ai_step = 1; 4181 globalwpw.initialize = 0; 4182 //keeping value in localstorage 4183 localStorage.setItem("wildCard", globalwpw.wildCard); 4184 localStorage.setItem("supportStep", globalwpw.supportStep); 4185 }, 1000); 4186 } else if ( 4187 typeof intent !== "undefined" && 4188 wpwKits.render(intent) != "" 4189 ) { 4190 if (!localStorage.getItem("shopper")) { 4191 $.cookie( 4192 "shopper", 4193 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 4194 { expires: 365 } 4195 ); 4196 localStorage.setItem( 4197 "shopper", 4198 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 4199 ); 4200 globalwpw.hasNameCookie = wpwKits.render( 4201 globalwpw.settings.obj.shopper_demo_name 4202 ); 4203 } 4204 globalwpw.initialize = 0; 4205 globalwpw.ai_step = 1; 4206 globalwpw.wildCard = 0; 4207 wpwAction.bot(wpwKits.render(intent)); 4208 } 4209 }, 4210 updateGlobalMenu: function () { 4211 if (globalwpw.settings.obj.woocommerce) { 4212 globalwpw.wildcardsHelp = [ 4213 (wpwKits.render(globalwpw.settings.obj.sys_key_help) || '').toLowerCase(), 4214 (wpwKits.render(globalwpw.settings.obj.sys_key_support) || '').toLowerCase(), 4215 (wpwKits.render(globalwpw.settings.obj.sys_key_reset) || '').toLowerCase(), 4216 (wpwKits 4217 .render(globalwpw.settings.obj.email_subscription) || '') 4218 .toLowerCase(), 4219 (wpwKits.render(globalwpw.settings.obj.unsubscribe) || '').toLowerCase(), 4220 (wpwKits.render(globalwpw.settings.obj.sys_key_livechat) || '').toLowerCase(), 4221 (wpwKits.render(globalwpw.settings.obj.sys_key_product) || '').toLowerCase(), 4222 (wpwKits.render(globalwpw.settings.obj.sys_key_catalog) || '').toLowerCase(), 4223 (wpwKits.render(globalwpw.settings.obj.sys_key_order) || '').toLowerCase(), 4224 ]; 4225 if ( 4226 globalwpw.settings.obj.ticket_url != "" && 4227 globalwpw.settings.obj.disable_open_ticket == "" 4228 ) { 4229 globalwpw.wildcardsHelp.push( 4230 (wpwKits.render(globalwpw.settings.obj.open_a_ticket) || '').toLowerCase() 4231 ); 4232 } 4233 if ( 4234 typeof globalwpw.settings.obj.good_bye !== "undefined" && 4235 globalwpw.settings.obj.good_bye !== "" && 4236 globalwpw.settings.obj.disable_good_bye === "" 4237 ) { 4238 var goodByeRendered = wpwKits.render(globalwpw.settings.obj.good_bye); 4239 if (typeof goodByeRendered === "string") { 4240 globalwpw.wildcardsHelp.push(goodByeRendered.toLowerCase()); 4241 } 4242 } 4243 } else {
4244 globalwpw.wildcardsHelp = [ 4245 ( 4246 wpwKits.render(globalwpw.settings.obj.sys_key_help) || "" 4247 ).toLowerCase(), 4248 ( 4249 wpwKits.render(globalwpw.settings.obj.sys_key_support) || "" 4250 ).toLowerCase(), 4251 ( 4252 wpwKits.render(globalwpw.settings.obj.sys_key_reset) || "" 4253 ).toLowerCase(), 4254 ( 4255 wpwKits.render(globalwpw.settings.obj.email_subscription) || "" 4256 ).toLowerCase(), 4257 ( 4258 wpwKits.render(globalwpw.settings.obj.unsubscribe) || "" 4259 ).toLowerCase(), 4260 ( 4261 wpwKits.render(globalwpw.settings.obj.sys_key_livechat) || "" 4262 ).toLowerCase(), 4263 ]; 4264 if ( 4265 globalwpw.settings.obj.ticket_url != "" && 4266 globalwpw.settings.obj.disable_open_ticket == "" 4267 ) { 4268 globalwpw.wildcardsHelp.push( 4269 (wpwKits.render(globalwpw.settings.obj.open_a_ticket) || '').toLowerCase() 4270 ); 4271 } 4272 if ( 4273 typeof globalwpw.settings.obj.good_bye !== "undefined" && 4274 globalwpw.settings.obj.good_bye !== "" && 4275 globalwpw.settings.obj.disable_good_bye === "" 4276 ) { 4277 var goodByeRendered = wpwKits.render(globalwpw.settings.obj.good_bye); 4278 if (typeof goodByeRendered === "string") { 4279 globalwpw.wildcardsHelp.push(goodByeRendered.toLowerCase()); 4280 } 4281 } 4282 } 4283 //updating wildcards 4284 // globalwpw.wildcards=''; 4285 4286 //Adding custom Intents 4287 4288 if (globalwpw.settings.obj.start_menu != "") { 4289 var menu_html = ""; 4290 var menu_items = $.parseHTML( 4291 $.trim(wpwKits.render(globalwpw.settings.obj.start_menu)) 4292 ); 4293 var tempData = []; 4294 if ( 4295 globalwpw.settings.obj.disable_livechat_operator_offline == "1" || 4296 globalwpw.settings.obj.disable_livechat == 1 4297 ) { 4298 if ( 4299 globalwpw.settings.obj.is_operator_online != "1" && 4300 globalwpw.settings.obj.livechatlink == "" 4301 ) { 4302 $.each(menu_items, function (index, value) { 4303 var htmlObject = jQuery(value); 4304 if ( 4305 !htmlObject.hasClass("wpbo_live_chat") && 4306 !htmlObject.hasClass("qcld-chatbot-custom-intent") 4307 ) { 4308 tempData.push(value); 4309 } 4310 }); 4311 } 4312 } 4313 if (tempData.length != 0) { 4314 menu_items = tempData; 4315 } 4316 $(menu_items).each(function () { 4317 if ($(this).prop("tagName") == "SPAN") { 4318 menu_html += $(this).prop("outerHTML"); 4319 } 4320 }); 4321 if (globalwpw.settings.obj.qcld_disable_start_menu != "1") { 4322 if (menu_html != "") { 4323 globalwpw.wildcards = menu_html; 4324 } else { 4325 globalwpw.wildcards = wpwKits.render(menu_items); 4326 } 4327 } 4328 } else { 4329 if ( 4330 globalwpw.settings.obj.disable_livechat == "" && 4331 globalwpw.settings.obj.is_livechat_active 4332 ) { 4333 if (globalwpw.settings.obj.disable_livechat_operator_offline == "1") { 4334 if (globalwpw.settings.obj.is_operator_online == 1) { 4335 globalwpw.wildcards += 4336 '<span class="qcld-chatbot-custom-intent" data-text="' + 4337 wpwKits.render(globalwpw.settings.obj.sys_key_livechat) + 4338 '" >' + 4339 wpwKits.render(globalwpw.settings.obj.livechat_label) + 4340 "</span>"; 4341 } 4342 } else { 4343 globalwpw.wildcards += 4344 '<span class="qcld-chatbot-custom-intent" data-text="' + 4345 wpwKits.render(globalwpw.settings.obj.sys_key_livechat) + 4346 '" >' + 4347 wpwKits.render(globalwpw.settings.obj.livechat_label) + 4348 "</span>"; 4349 } 4350 } 4351 if (globalwpw.settings.obj.livechatlink != "") { 4352 globalwpw.wildcards += 4353 '<span class="qcld-chatbot-custom-intent" data-text="' + 4354 wpwKits.render(globalwpw.settings.obj.sys_key_livechat) + 4355 '" >' + 4356 wpwKits.render(globalwpw.settings.obj.livechat_label) + 4357 "</span>"; 4358 } 4359 if (globalwpw.settings.obj.disable_email_subscription == "") {
4360 globalwpw.wildcards += 4361 '<span class="qcld-chatbot-default wpbd_subscription">' + 4362 wpwKits.render(globalwpw.settings.obj.email_subscription) + 4363 "</span>"; 4364 } 4365 4366 if (globalwpw.settings.obj.disable_str_categories == "") { 4367 globalwpw.wildcards += 4368 '<span class="qcld-chatbot-wildcard wpbd_str_categories">' + 4369 wpwKits.render(globalwpw.settings.obj.str_categories) + 4370 "</span>"; 4371 } 4372 4373 if ( 4374 globalwpw.settings.obj.custom_intent[0] != "" && 4375 globalwpw.settings.obj.ai_df_enable == 1 4376 ) { 4377 for ( 4378 var i = 0; 4379 i < globalwpw.settings.obj.custom_intent.length; 4380 i++ 4381 ) { 4382 if ( 4383 globalwpw.settings.obj.custom_intent[i] != "" && 4384 globalwpw.settings.obj.custom_intent_label[i] != "" 4385 ) { 4386 globalwpw.wildcards += 4387 '<span class="qcld-chatbot-custom-intent" data-text="' + 4388 globalwpw.settings.obj.custom_intent_label[i] + 4389 '" >' + 4390 globalwpw.settings.obj.custom_intent_label[i] + 4391 "</span>"; 4392 } 4393 } 4394 } 4395 4396 if (globalwpw.settings.obj.custom_menu[0] != "") { 4397 for (var i = 0; i < globalwpw.settings.obj.custom_menu.length; i++) { 4398 if ( 4399 globalwpw.settings.obj.custom_menu[i] != "" && 4400 globalwpw.settings.obj.custom_menu_link[i] != "" 4401 ) { 4402 globalwpw.wildcards += 4403 '<span class="qcld-chatbot-wildcard qcld-chatbot-buttonlink" data-link="' + 4404 globalwpw.settings.obj.custom_menu_link[i] + 4405 '" data-target="' + 4406 globalwpw.settings.obj.custom_menu_target[i] + 4407 '" data-type="' + 4408 globalwpw.settings.obj.custom_menu_type[i] + 4409 '" >' + 4410 globalwpw.settings.obj.custom_menu[i] + 4411 "</span>"; 4412 } 4413 } 4414 } 4415 4416 if ( 4417 globalwpw.settings.obj.livechat == "1" && 4418 !globalwpw.settings.obj.is_livechat_active 4419 ) { 4420 globalwpw.wildcards += 4421 '<span class="qcld-chatbot-default wpbo_live_chat" >' + 4422 wpwKits.render(globalwpw.settings.obj.livechat_button_label) + 4423 "</span>"; 4424 } 4425 if (globalwpw.settings.obj.livechatlink != "") { 4426 globalwpw.wildcards += 4427 '<span class="qcld-chatbot-custom-intent" data-text="' + 4428 wpwKits.render(globalwpw.settings.obj.sys_key_livechat) + 4429 '" >' + 4430 wpwKits.render(globalwpw.settings.obj.livechat_label) + 4431 "</span>"; 4432 } 4433 if (globalwpw.settings.obj.woocommerce) { 4434 if (globalwpw.settings.obj.disable_product_search != 1) { 4435 globalwpw.wildcards += 4436 '<span class="qcld-chatbot-wildcard" data-wildcart="product">' + 4437 wpwKits.randomMsg(globalwpw.settings.obj.wildcard_product) + 4438 "</span>"; 4439 } 4440 if (globalwpw.settings.obj.disable_catalog != 1) { 4441 globalwpw.wildcards += 4442 '<span class="qcld-chatbot-wildcard" data-wildcart="catalog">' + 4443 wpwKits.randomMsg(globalwpw.settings.obj.wildcard_catalog) + 4444 "</span>"; 4445 } 4446 if (globalwpw.settings.obj.disable_featured_product != 1) { 4447 globalwpw.wildcards += 4448 '<span class="qcld-chatbot-wildcard" data-wildcart="featured">' + 4449 wpwKits.randomMsg(globalwpw.settings.obj.featured_products) + 4450 "</span>"; 4451 } 4452 4453 if (globalwpw.settings.obj.disable_sale_product != 1) { 4454 globalwpw.wildcards += 4455 '<span class="qcld-chatbot-wildcard" data-wildcart="sale">' + 4456 wpwKits.randomMsg(globalwpw.settings.obj.sale_products) + 4457 " </span>"; 4458 } 4459 4460 if (globalwpw.settings.obj.disable_order_status != 1) { 4461 globalwpw.wildcards += 4462 '<span class="qcld-chatbot-wildcard" data-wildcart="order">' + 4463 wpwKits.randomMsg(globalwpw.settings.obj.wildcard_order) + 4464 "</span>"; 4465 } 4466 } 4467 4468 if (globalwpw.settings.obj.disable_sitesearch == "") {
4469 globalwpw.wildcards += 4470 '<span class="qcld-chatbot-site-search" >' + 4471 wpwKits.render(globalwpw.settings.obj.site_search) + 4472 "</span>"; 4473 } 4474 4475 if (globalwpw.settings.obj.disable_faq == "") { 4476 globalwpw.wildcards += 4477 '<span class="qcld-chatbot-wildcard" data-wildcart="support">' + 4478 wpwKits.render(globalwpw.settings.obj.wildcard_support) + 4479 "</span>"; 4480 } 4481 4482 if (globalwpw.settings.obj.enable_messenger == 1) { 4483 globalwpw.wildcards += 4484 '<span class="qcld-chatbot-wildcard" data-wildcart="messenger">' + 4485 wpwKits.randomMsg(globalwpw.settings.obj.messenger_label) + 4486 "</span>"; 4487 } 4488 if (globalwpw.settings.obj.enable_whats == 1) { 4489 globalwpw.wildcards += 4490 '<span class="qcld-chatbot-wildcard" data-wildcart="whatsapp">' + 4491 wpwKits.randomMsg(globalwpw.settings.obj.whats_label) + 4492 "</span>"; 4493 } 4494 4495 if (globalwpw.settings.obj.disable_feedback == "") { 4496 globalwpw.wildcards += 4497 '<span class="qcld-chatbot-suggest-email">' + 4498 wpwKits.render(globalwpw.settings.obj.send_us_email) + 4499 "</span>"; 4500 } 4501 if (globalwpw.settings.obj.disable_leave_feedback == "") { 4502 globalwpw.wildcards += 4503 '<span class="qcld-chatbot-suggest-email wpbd_feedback">' + 4504 wpwKits.render(globalwpw.settings.obj.leave_feedback) + 4505 "</span>"; 4506 } 4507 4508 if (globalwpw.settings.obj.call_gen == "") { 4509 globalwpw.wildcards += 4510 '<span class="qcld-chatbot-suggest-phone" >' + 4511 wpwKits.render(globalwpw.settings.obj.support_phone) + 4512 "</span>"; 4513 } 4514 4515 if (globalwpw.settings.obj.form_ids[0] != "") { 4516 for (var i = 0; i < globalwpw.settings.obj.form_ids.length; i++) { 4517 if ( 4518 globalwpw.settings.obj.form_ids[i] != "" && 4519 globalwpw.settings.obj.forms[i] != "" 4520 ) { 4521 globalwpw.wildcards += 4522 '<span class="qcld-chatbot-wildcard qcld-chatbot-form" data-form="' + 4523 globalwpw.settings.obj.form_ids[i] + 4524 '" >' + 4525 globalwpw.settings.obj.forms[i] + 4526 "</span>"; 4527 } 4528 } 4529 } 4530 } 4531 }, 4532 }; 4533 let typingQueue = []; 4534 let isTyping = false; 4535 let typingInterval = null; 4536 function fetchRelevantPages(message) { 4537 jQuery.ajax({ 4538 url: wpbot_ajax.ajaxurl, // Make sure `ajaxurl` is defined in frontend using wp_localize_script 4539 method: "POST", 4540 data: { 4541 action: "get_relevant_pages", 4542 keyword: message, // or extract key phrase from message if needed 4543 }, 4544 success: function (response) { 4545 if (response.success && response.data) { 4546 const $last = jQuery(".qcld_streaming_content").last(); 4547 $last.append( 4548 '<div class="relevant-links">' + response.data + "</div>" 4549 ); 4550 wpwKits.scrollTo(); 4551 wpwKits.wpwHistorySave(); 4552 } 4553 }, 4554 error: function () { 4555 console.error("Failed to fetch relevant pages."); 4556 }, 4557 }); 4558 } 4559 function parseLinks(text) { 4560 return text.replace( 4561 /\[([^\]]+)\]\((https?:\/\/[^\s)]+)\)/g, 4562 '<a href="$2" target="_blank" rel="noopener noreferrer">$1</a>' 4563 ); 4564 } 4565 let messageBuffer = ""; 4566 let typingSpeed = 30; // ms per character 4567 function typeWriterEffect($target, text, callback) { 4568 let i = 0; 4569 function typing() { 4570 if (i < text.length) { 4571 $target.append(text.charAt(i)); 4572 i++; 4573 setTimeout(typing, typingSpeed); 4574 } else if (callback) { 4575 callback(); 4576 } 4577 } 4578 typing(); 4579 } 4580 function typeCharacterByCharacter( 4581 $target, 4582 text, 4583 speed = 10, 4584 onComplete = () => { } 4585 ) { 4586 // Convert Markdown links â real <a> tags 4587 text = text.replace( 4588 /\[([^\]]+)\]\((https?:\/\/[^\s]+)\)/g, 4589 `<a href="$2" target="_blank" rel="noopener noreferrer">$1</a>` 4590 ); 4591
4592 // Create a hidden container to parse HTML safely 4593 const parser = jQuery("<div>").html(text); 4594 const nodes = parser.contents().toArray(); 4595 4596 let nodeIndex = 0; 4597 let charIndex = 0; 4598 4599 function type() { 4600 if (nodeIndex < nodes.length) { 4601 const node = nodes[nodeIndex]; 4602 if (node.nodeType === Node.TEXT_NODE) { 4603 // Normal text â type char by char 4604 if (charIndex < node.nodeValue.length) { 4605 $target.append( 4606 document.createTextNode(node.nodeValue.charAt(charIndex)) 4607 ); 4608 charIndex++; 4609 setTimeout(type, speed); 4610 } else { 4611 nodeIndex++; 4612 charIndex = 0; 4613 setTimeout(type, speed); 4614 } 4615 } else if (node.nodeType === Node.ELEMENT_NODE) { 4616 // Element node (e.g. <a>) â append the element itself 4617 $target.append(node); 4618 nodeIndex++; 4619 charIndex = 0; 4620 setTimeout(type, speed); 4621 } else { 4622 nodeIndex++; 4623 setTimeout(type, speed); 4624 } 4625 } else { 4626 // Typing completed 4627 onComplete(); 4628 } 4629 } 4630 4631 type(); 4632 } 4633 let userScrolling = false; 4634 let scrollLockTimer = null; 4635 // Detect user scroll manually 4636 jQuery(globalwpw.settings.botContainer).on("wheel touchmove", function () { 4637 userScrolling = true; 4638 if (scrollLockTimer) clearTimeout(scrollLockTimer); 4639 scrollLockTimer = setTimeout(() => { 4640 userScrolling = false; 4641 }, 2500); 4642 }); 4643 4644 // Clean citation text 4645 const cleanAssistantText = (text) => { 4646 return text.replace(/ã[\d:â a-z0-9_\-\s().]+ã$/gi, ""); 4647 }; 4648 function parseMarkdown(text) { 4649 if (typeof marked !== "undefined") { 4650 return marked.parse(text); // converts markdown â HTML 4651 } 4652 return text; // fallback 4653 } 4654 function streamOpenAIwithAssit(customMessage, asstant_id) { 4655 const controller = new AbortController(); 4656 4657 // Show preloader 4658 if ( 4659 jQuery(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 4660 .length === 0 4661 ) { 4662 jQuery(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 4663 setTimeout(() => { 4664 if (!userScrolling) { 4665 jQuery(globalwpw.settings.botContainer) 4666 .stop(true) 4667 .animate( 4668 { scrollTop: jQuery(globalwpw.settings.botContainer)[0].scrollHeight }, 4669 300 4670 ); 4671 } 4672 }, 50); 4673 } 4674 4675 const assistantStreamBody = { 4676 action: "qcld_stream_openai", 4677 asstant_id: asstant_id, 4678 message: customMessage, 4679 nonce: wpbot_ajax.nonce, 4680 }; 4681 var assistantConversationId = wpwKits.getOpenaiConversationId(); 4682 if (assistantConversationId) { 4683 assistantStreamBody.openai_conversation_id = assistantConversationId; 4684 } 4685 4686 fetch(wpbot_ajax.stream_endpoint, { 4687 method: "POST", 4688 headers: { "Content-Type": "application/x-www-form-urlencoded" }, 4689 body: new URLSearchParams(assistantStreamBody), 4690 signal: controller.signal, 4691 }) 4692 .then(async (response) => { 4693 const contentType = response.headers.get("content-type") || ""; 4694 4695 // If API sends JSON (rate limit / error) 4696 if (contentType.includes("application/json")) { 4697 const data = await response.json(); 4698 if (data.status === "error") { 4699 wpwMsg.single("<strong>" + data.message + "</strong>"); 4700 return; 4701 } 4702 } 4703 4704 if (!response.ok || !response.body) throw new Error("Stream error"); 4705 4706 const reader = response.body.getReader(); 4707 const decoder = new TextDecoder("utf-8"); 4708 let buffer = ""; 4709 let queue = []; 4710 let isTyping = false; 4711 let streamEnded = false; 4712 let messageBuffer = ""; 4713 4714 function processQueue() { 4715 4716 if (isTyping || queue.length === 0) { 4717 if (streamEnded && !isTyping && queue.length === 0) { 4718 4719 if (messageBuffer.trim()) { 4720 const $last = jQuery(".wp-chatbot-msg") 4721 .last() 4722 .find(".wp-chatbot-paragraph"); 4723 4724 let finalMsg = messageBuffer; 4725 qcldPushAiContext('assistant', finalMsg); 4726 4727 var isFormCompleted = (finalMsg.indexOf('AI_FORM_DATA') !== -1); 4728 finalMsg = qcldFormatAndHandleAiForm(finalMsg); 4729 4730 const finalHTML = parseMarkdown(finalMsg); 4731 $last.html(finalHTML); 4732 messageBuffer = ""; 4733 } 4734 4735 // Smooth scroll to bottom 4736 setTimeout(() => { 4737 jQuery(globalwpw.settings.botContainer) 4738 .stop(true) 4739 .animate( 4740 { scrollTop: jQuery(globalwpw.settings.botContainer)[0].scrollHeight }, 4741 400 4742 ); 4743 }, 150); 4744 if (!qcldIsAiFormInProgress()) { $(globalwpw.settings.messageContainer).find('.wp-chatbot-msg:last .qcld-like-dislike-icon').css('display', 'block'); } 4745 if (!isFormCompleted && !qcldIsAiFormInProgress()) { 4746 fetchRelevantPages(customMessage); 4747 } 4748 wpwTree.start_menu_settings(); 4749 wpwKits.scrollTo(); 4750 wpwKits.wpwHistorySave(); 4751 4752 4753 } 4754 return; 4755 } 4756 4757 // --- Continue streaming/typing --- 4758 isTyping = true; 4759 let nextChunk = queue.shift(); 4760 messageBuffer += nextChunk; 4761 if (messageBuffer.indexOf("__AI") !== -1 || messageBuffer.indexOf("AI_FORM_DATA") !== -1) { 4762 isTyping = false;
4763 processQueue(); 4764 return; 4765 } 4766 4767 const $last = jQuery(".wp-chatbot-msg") 4768 .last() 4769 .find(".wp-chatbot-paragraph"); 4770 4771 if ($last.length) { 4772 $last.find(".wp-chatbot-comment-loader").remove(); 4773 const $span = jQuery("<span>"); 4774 $last.append($span); 4775 4776 typeCharacterByCharacter($span, nextChunk, 10, () => { 4777 isTyping = false; 4778 processQueue(); 4779 wpwKits.scrollTo(); 4780 }); 4781 } else { 4782 isTyping = false; 4783 processQueue(); 4784 } 4785 } 4786 4787 function read() { 4788 reader 4789 .read() 4790 .then(({ done, value }) => { 4791 if (done) { 4792 streamEnded = true; 4793 processQueue(); 4794 return; 4795 } 4796 4797 buffer += decoder.decode(value, { stream: true }); 4798 const lines = buffer.split("\n"); 4799 buffer = lines.pop(); 4800 4801 for (let line of lines) { 4802 line = line.trim(); 4803 if (!line.startsWith("data:")) continue; 4804 4805 let jsonStr = line.replace("data:", "").trim(); 4806 if (!jsonStr) continue; 4807 4808 if (jsonStr.startsWith("[ERROR]")) { 4809 wpwMsg.single("<strong>" + jsonStr + "</strong>"); 4810 return; 4811 } 4812 4813 try { 4814 const parsed = JSON.parse(jsonStr); 4815 if (parsed.conversation_id) { 4816 wpwKits.setOpenaiConversationId(parsed.conversation_id); 4817 continue; 4818 } 4819 if (parsed.choices?.[0]?.delta?.content) { 4820 const cleaned = cleanAssistantText(parsed.choices[0].delta.content); 4821 if (cleaned) { 4822 queue.push(cleaned); 4823 processQueue(); 4824 } 4825 continue; 4826 } 4827 if (parsed.object === "thread.message.delta") { 4828 const contentArray = parsed.delta?.content; 4829 if (Array.isArray(contentArray)) { 4830 for (const item of contentArray) { 4831 const text = item?.text?.value; 4832 if (typeof text === "string") { 4833 const cleaned = cleanAssistantText(text); 4834 if (cleaned) { 4835 queue.push(cleaned); 4836 processQueue(); 4837 } 4838 } 4839 } 4840 } 4841 } 4842 } catch (e) { 4843 if (jsonStr !== "[DONE]") { 4844 let displayJson = 4845 jsonStr.length > 500 4846 ? jsonStr.substring(0, 500) + "... [truncated]" 4847 : jsonStr; 4848 } 4849 } 4850 } 4851 4852 read(); 4853 }) 4854 .catch((err) => { 4855 console.error("Stream read error:", err); 4856 wpwMsg.single("<strong>Stream failed</strong>"); 4857 }); 4858 } 4859 read(); 4860 }) 4861 .catch((err) => { 4862 console.error("Stream fetch error:", err); 4863 wpwMsg.single("<strong>Assistant unavailable</strong>"); 4864 }); 4865 } 4866 /** 4867 * streamGemini â streams responses from the Gemini streamGenerateContent 4868 * endpoint using the same SSE fetch + typewriter-queue pattern as streamOpenAI. 4869 */ 4870 function streamGemini(dataObj) { 4871 fetch(wpbot_ajax.ajaxurl, { 4872 method: "POST", 4873 headers: { 4874 "Content-Type": "application/x-www-form-urlencoded", 4875 }, 4876 body: new URLSearchParams(dataObj), 4877 }) 4878 .then((response) => { 4879 if ( 4880 jQuery( 4881 globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader" 4882 ).length === 0 4883 ) { 4884 jQuery(globalwpw.settings.messageContainer).append( 4885 wpwKits.botPreloader() 4886 ); 4887 } 4888 if (!response.ok || !response.body) { 4889 throw new Error("Network response was not OK or empty body"); 4890 } 4891 4892 const reader = response.body.getReader(); 4893 const decoder = new TextDecoder("utf-8"); 4894 let buffer = ""; 4895 let queue = []; 4896 let isTyping = false;
4897 let streamEnded = false; 4898 let messageBuffer = ""; 4899 4900 function processQueue() { 4901 if (isTyping || queue.length === 0) { 4902 if (streamEnded && !isTyping && queue.length === 0) { 4903 if (messageBuffer.trim()) { 4904 const $last = jQuery(".wp-chatbot-msg") 4905 .last() 4906 .find(".wp-chatbot-paragraph"); 4907 const finalHTML = parseMarkdown(messageBuffer); 4908 $last.html('<div class="qcld_streaming_content">' + finalHTML + '</div>'); 4909 messageBuffer = ""; 4910 } 4911 4912 if (!qcldIsAiFormInProgress()) { $(globalwpw.settings.messageContainer).find('.wp-chatbot-msg:last .qcld-like-dislike-icon').css('display', 'block'); } 4913 fetchRelevantPages(dataObj.keyword); 4914 4915 setTimeout(() => { 4916 jQuery(globalwpw.settings.botContainer) 4917 .stop(true) 4918 .animate( 4919 { scrollTop: jQuery(globalwpw.settings.botContainer)[0].scrollHeight }, 4920 400 4921 ); 4922 }, 150); 4923 4924 setTimeout(() => { 4925 wpwTree.start_menu_settings(); 4926 }, 500); 4927 4928 wpwKits.scrollTo(); 4929 wpwKits.wpwHistorySave(); 4930 } 4931 return; 4932 } 4933 4934 isTyping = true; 4935 let nextChunk = queue.shift(); 4936 messageBuffer += nextChunk; 4937 if (messageBuffer.indexOf("__AI") !== -1 || messageBuffer.indexOf("AI_FORM_DATA") !== -1) { 4938 isTyping = false; 4939 processQueue(); 4940 return; 4941 } 4942 4943 const $last = jQuery(".wp-chatbot-msg") 4944 .last() 4945 .find(".wp-chatbot-paragraph"); 4946 4947 if ($last.length) { 4948 $last.find(".wp-chatbot-comment-loader").remove(); 4949 const $span = jQuery("<span>"); 4950 $last.append($span); 4951 4952 typeCharacterByCharacter($span, nextChunk, 10, () => { 4953 isTyping = false; 4954 processQueue(); 4955 wpwKits.scrollTo(); 4956 }); 4957 } else { 4958 isTyping = false; 4959 processQueue(); 4960 } 4961 } 4962 4963 function read() { 4964 reader.read().then(({ done, value }) => { 4965 if (done) { 4966 streamEnded = true; 4967 processQueue(); 4968 return; 4969 } 4970 4971 buffer += decoder.decode(value, { stream: true }); 4972 const lines = buffer.split("\n"); 4973 buffer = lines.pop(); // keep incomplete line in buffer 4974 4975 for (const line of lines) { 4976 const trimmed = line.trim(); 4977 if (!trimmed.startsWith("data:")) continue; 4978 const jsonStr = trimmed.slice(5).trim(); 4979 if (jsonStr === "[DONE]") { 4980 streamEnded = true; 4981 // If nothing is still typing/queued, trigger relevant pages immediately 4982 if (!isTyping && queue.length === 0) { 4983 fetchRelevantPages(dataObj.keyword); 4984 wpwKits.wpwHistorySave(); 4985 } 4986 processQueue(); 4987 return; 4988 } 4989 if (jsonStr.startsWith("[ERROR]")) { 4990 const errMsg = jsonStr.slice(7).trim(); 4991 queue.push("<strong>Error: " + errMsg + "</strong>"); 4992 streamEnded = true; 4993 processQueue(); 4994 return; 4995 } 4996 try { 4997 const parsed = JSON.parse(jsonStr); 4998 const text = parsed?.choices?.[0]?.delta?.content; 4999 if (typeof text === "string" && text) { 5000 queue.push(text); 5001 processQueue(); 5002 } 5003 } catch (e) { 5004 // ignore parse errors for non-JSON lines 5005 } 5006 } 5007 read(); 5008 }).catch((err) => { 5009 console.error("Gemini stream read error:", err); 5010 wpwMsg.single("<strong>Gemini stream failed</strong>"); 5011 }); 5012 } 5013 read(); 5014 }) 5015 .catch((err) => { 5016 console.error("Gemini stream fetch error:", err); 5017 wpwMsg.single("<strong>Gemini assistant unavailable</strong>"); 5018 }); 5019 } 5020 /** 5021 * streamClaude â streams responses from the Claude streamGenerateContent 5022 * endpoint using the same SSE fetch + typewriter-queue pattern as streamOpenAI. 5023 */ 5024 function streamClaude(dataObj) { 5025 fetch(wpbot_ajax.ajaxurl, { 5026 method: "POST", 5027 headers: { 5028 "Content-Type": "application/x-www-form-urlencoded", 5029 }, 5030 body: new URLSearchParams(dataObj), 5031 }) 5032 .then((response) => { 5033 if ( 5034 jQuery(
5035 globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader" 5036 ).length === 0 5037 ) { 5038 jQuery(globalwpw.settings.messageContainer).append( 5039 wpwKits.botPreloader() 5040 ); 5041 } 5042 if (!response.ok || !response.body) { 5043 throw new Error("Network response was not OK or empty body"); 5044 } 5045 5046 const reader = response.body.getReader(); 5047 const decoder = new TextDecoder("utf-8"); 5048 let buffer = ""; 5049 let queue = []; 5050 let isTyping = false; 5051 let streamEnded = false; 5052 let messageBuffer = ""; 5053 5054 function processQueue() { 5055 if (isTyping || queue.length === 0) { 5056 if (streamEnded && !isTyping && queue.length === 0) { 5057 if (messageBuffer.trim()) { 5058 const $last = jQuery(".wp-chatbot-msg") 5059 .last() 5060 .find(".wp-chatbot-paragraph"); 5061 const finalHTML = parseMarkdown(messageBuffer); 5062 $last.html('<div class="qcld_streaming_content">' + finalHTML + '</div>'); 5063 messageBuffer = ""; 5064 } 5065 5066 if (!qcldIsAiFormInProgress()) { $(globalwpw.settings.messageContainer).find('.wp-chatbot-msg:last .qcld-like-dislike-icon').css('display', 'block'); } 5067 fetchRelevantPages(dataObj.keyword); 5068 5069 setTimeout(() => { 5070 jQuery(globalwpw.settings.botContainer) 5071 .stop(true) 5072 .animate( 5073 { scrollTop: jQuery(globalwpw.settings.botContainer)[0].scrollHeight }, 5074 400 5075 ); 5076 }, 150); 5077 5078 setTimeout(() => { 5079 wpwTree.start_menu_settings(); 5080 }, 500); 5081 5082 wpwKits.scrollTo(); 5083 wpwKits.wpwHistorySave(); 5084 } 5085 return; 5086 } 5087 5088 isTyping = true; 5089 let nextChunk = queue.shift(); 5090 messageBuffer += nextChunk; 5091 if (messageBuffer.indexOf("__AI") !== -1 || messageBuffer.indexOf("AI_FORM_DATA") !== -1) { 5092 isTyping = false; 5093 processQueue(); 5094 return; 5095 } 5096 5097 const $last = jQuery(".wp-chatbot-msg") 5098 .last() 5099 .find(".wp-chatbot-paragraph"); 5100 5101 if ($last.length) { 5102 $last.find(".wp-chatbot-comment-loader").remove(); 5103 const $span = jQuery("<span>"); 5104 $last.append($span); 5105 5106 typeCharacterByCharacter($span, nextChunk, 10, () => { 5107 isTyping = false; 5108 processQueue(); 5109 wpwKits.scrollTo(); 5110 }); 5111 } else { 5112 isTyping = false; 5113 processQueue(); 5114 } 5115 } 5116 5117 function read() { 5118 reader.read().then(({ done, value }) => { 5119 if (done) { 5120 streamEnded = true; 5121 processQueue(); 5122 return; 5123 } 5124 5125 buffer += decoder.decode(value, { stream: true }); 5126 const lines = buffer.split("\n"); 5127 buffer = lines.pop(); // keep incomplete line in buffer 5128 5129 for (const line of lines) { 5130 const trimmed = line.trim(); 5131 if (!trimmed.startsWith("data:")) continue; 5132 const jsonStr = trimmed.slice(5).trim(); 5133 if (jsonStr === "[DONE]") { 5134 streamEnded = true; 5135 // If nothing is still typing/queued, trigger relevant pages immediately 5136 if (!isTyping && queue.length === 0) { 5137 fetchRelevantPages(dataObj.keyword); 5138 wpwKits.wpwHistorySave(); 5139 } 5140 processQueue(); 5141 return; 5142 } 5143 try { 5144 const parsed = JSON.parse(jsonStr); 5145 const text = parsed?.choices?.[0]?.delta?.content; 5146 if (typeof text === "string" && text) { 5147 queue.push(text); 5148 processQueue(); 5149 } 5150 } catch (e) { 5151 // ignore parse errors for non-JSON lines 5152 } 5153 } 5154 read(); 5155 }).catch((err) => { 5156 console.error("Claude stream read error:", err); 5157 wpwMsg.single("<strong>Claude stream failed</strong>"); 5158 }); 5159 } 5160 read(); 5161 }) 5162 .catch((err) => { 5163 console.error("Claude stream fetch error:", err); 5164 wpwMsg.single("<strong>Claude assistant unavailable</strong>"); 5165 }); 5166 } 5167 5168 function streamOpenAI(dataObj) { 5169 const controller = new AbortController(); 5170 5171 fetch(wpbot_ajax.ajaxurl, { 5172 method: "POST", 5173 headers: { 5174 "Content-Type": "application/x-www-form-urlencoded", 5175 }, 5176 body: new URLSearchParams(dataObj), 5177 signal: controller.signal, 5178 }) 5179 .then((response) => { 5180 if ( 5181 jQuery(
5182 globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader" 5183 ).length === 0 5184 ) { 5185 5186 jQuery(globalwpw.settings.messageContainer).append( 5187 wpwKits.botPreloader() 5188 ); 5189 } 5190 if (!response.ok || !response.body) { 5191 throw new Error("Network response was not OK or empty body"); 5192 } 5193 5194 const reader = response.body.getReader(); 5195 const decoder = new TextDecoder("utf-8"); 5196 let buffer = ""; 5197 let queue = []; 5198 let isTyping = false; 5199 let streamEnded = false; 5200 let messageBuffer = ""; 5201 5202 function processQueue() { 5203 if (isTyping || queue.length === 0) { 5204 if (streamEnded && !isTyping && queue.length === 0) { 5205 // If stream has ended and nothing left to type, finalize message and trigger page suggestion 5206 if (messageBuffer.trim()) { 5207 const $last = jQuery(".wp-chatbot-msg") 5208 .last() 5209 .find(".wp-chatbot-paragraph"); 5210 5211 let finalMsg = messageBuffer; 5212 qcldPushAiContext('assistant', finalMsg); 5213 5214 var isFormCompleted = (finalMsg.indexOf('AI_FORM_DATA') !== -1); 5215 finalMsg = qcldFormatAndHandleAiForm(finalMsg); 5216 5217 const finalHTML = parseMarkdown(finalMsg); 5218 $last.html('<div class="qcld_streaming_content">' + finalHTML + '</div>'); 5219 messageBuffer = ""; // Clear buffer after finalization 5220 } 5221 5222 // Smooth scroll to bottom 5223 setTimeout(() => { 5224 jQuery(globalwpw.settings.botContainer) 5225 .stop(true) 5226 .animate( 5227 { scrollTop: jQuery(globalwpw.settings.botContainer)[0].scrollHeight }, 5228 400 5229 ); 5230 }, 150); 5231 5232 if (!qcldIsAiFormInProgress()) { $(globalwpw.settings.messageContainer).find('.wp-chatbot-msg:last .qcld-like-dislike-icon').css('display', 'block'); } 5233 if (!isFormCompleted && !qcldIsAiFormInProgress()) { 5234 fetchRelevantPages(dataObj.keyword); 5235 } 5236 setTimeout(() => { 5237 wpwTree.start_menu_settings(); 5238 }, 500); 5239 wpwKits.scrollTo(); 5240 wpwKits.wpwHistorySave(); 5241 } 5242 return; 5243 } 5244 5245 // --- Continue streaming/typing --- 5246 isTyping = true; 5247 let nextChunk = queue.shift(); 5248 messageBuffer += nextChunk; 5249 if (messageBuffer.indexOf("__AI") !== -1 || messageBuffer.indexOf("AI_FORM_DATA") !== -1) { 5250 isTyping = false; 5251 processQueue(); 5252 return; 5253 } // Accumulate message buffer 5254 5255 const $last = jQuery(".wp-chatbot-msg") 5256 .last() 5257 .find(".wp-chatbot-paragraph"); 5258 5259 if ($last.length) { 5260 $last.find(".wp-chatbot-comment-loader").remove(); // Remove loader when typing starts 5261 const $span = jQuery("<span>"); 5262 $last.append($span); 5263 5264 typeCharacterByCharacter($span, nextChunk, 10, () => { 5265 isTyping = false; 5266 processQueue(); // Continue with next chunk 5267 wpwKits.scrollTo(); // Scroll after each chunk is typed 5268 }); 5269 } else { 5270 // Fallback if $last is not found (should ideally not happen if preloader is correctly added) 5271 isTyping = false; 5272 processQueue(); 5273 } 5274 } 5275 5276 function handleStreamDataLine(line) { 5277 line = (line || "").trim(); 5278 if (!line || !line.startsWith("data:")) { 5279 return; 5280 } 5281 const json = line.replace(/^data:\s*/, "").trim(); 5282 if (!json) { 5283 return; 5284 } 5285 5286 if (json === "[DONE]") { 5287 streamEnded = true; 5288 if (!isTyping && queue.length === 0) { 5289 fetchRelevantPages(dataObj.keyword); 5290 wpwKits.wpwHistorySave(); 5291 } 5292 processQueue(); 5293 return; 5294 } 5295 5296 if (json.startsWith("[ERROR]")) { 5297 const errMsg = json.slice(7).trim(); 5298 queue.push("<strong>Error: " + errMsg + "</strong>"); 5299 streamEnded = true; 5300 if (!isTyping && queue.length === 0) { 5301 wpwKits.wpwHistorySave(); 5302 } 5303 processQueue(); 5304 return; 5305 } 5306 5307 try { 5308 const parsed = JSON.parse(json); 5309 if (parsed.conversation_id) { 5310 wpwKits.setOpenaiConversationId(parsed.conversation_id); 5311 return; 5312 } 5313 let content = ""; 5314 5315 if (parsed.choices?.[0]?.delta?.content) {
5316 content = parsed.choices[0].delta.content; 5317 } else if (parsed.message?.content) { 5318 content = parsed.message.content; 5319 } else if (parsed.delta?.content) { 5320 content = parsed.delta.content; 5321 } 5322 5323 if (content) { 5324 queue.push(content); 5325 processQueue(); 5326 wpwKits.scrollTo(); 5327 } 5328 } catch (e) { 5329 console.warn("Streaming parse error:", e, json); 5330 } 5331 } 5332 5333 function read() { 5334 reader 5335 .read() 5336 .then(({ done, value }) => { 5337 if (done) { 5338 if (buffer.trim()) { 5339 handleStreamDataLine(buffer); 5340 } 5341 streamEnded = true; 5342 processQueue(); 5343 return; 5344 } 5345 5346 buffer += decoder.decode(value, { stream: true }); 5347 5348 const lines = buffer.split("\n"); 5349 buffer = lines.pop(); 5350 5351 for (let line of lines) { 5352 handleStreamDataLine(line); 5353 } 5354 5355 if (!streamEnded) { 5356 read(); 5357 } else { 5358 processQueue(); 5359 } 5360 }) 5361 .catch((err) => console.error("Read error:", err)); 5362 } 5363 5364 read(); 5365 }) 5366 .catch((err) => console.error("Fetch error:", err)); 5367 } 5368 function streamGrokAI(dataObj) { 5369 const controller = new AbortController(); 5370 5371 fetch(wpbot_ajax.ajaxurl, { 5372 method: "POST", 5373 headers: { 5374 "Content-Type": "application/x-www-form-urlencoded", 5375 }, 5376 body: new URLSearchParams(dataObj), 5377 signal: controller.signal, 5378 }) 5379 .then((response) => { 5380 if ( 5381 jQuery( 5382 globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader" 5383 ).length === 0 5384 ) { 5385 5386 jQuery(globalwpw.settings.messageContainer).append( 5387 wpwKits.botPreloader() 5388 ); 5389 } 5390 if (!response.ok || !response.body) { 5391 throw new Error("Network response was not OK or empty body"); 5392 } 5393 5394 const reader = response.body.getReader(); 5395 const decoder = new TextDecoder("utf-8"); 5396 let buffer = ""; 5397 let queue = []; 5398 let isTyping = false; 5399 let streamEnded = false; 5400 let messageBuffer = ""; 5401 5402 function processQueue() { 5403 if (isTyping || queue.length === 0) { 5404 if (streamEnded && !isTyping && queue.length === 0) { 5405 // If stream has ended and nothing left to type, finalize message and trigger page suggestion 5406 if (messageBuffer.trim()) { 5407 const $last = jQuery(".wp-chatbot-msg") 5408 .last() 5409 .find(".wp-chatbot-paragraph"); 5410 5411 let finalMsg = messageBuffer; 5412 qcldPushAiContext('assistant', finalMsg); 5413 5414 var isFormCompleted = (finalMsg.indexOf('AI_FORM_DATA') !== -1); 5415 finalMsg = qcldFormatAndHandleAiForm(finalMsg); 5416 5417 const finalHTML = parseMarkdown(finalMsg); 5418 $last.html(finalHTML); 5419 messageBuffer = ""; // Clear buffer after finalization 5420 } 5421 5422 // Smooth scroll to bottom 5423 setTimeout(() => { 5424 jQuery(globalwpw.settings.botContainer) 5425 .stop(true) 5426 .animate( 5427 { scrollTop: jQuery(globalwpw.settings.botContainer)[0].scrollHeight }, 5428 400 5429 ); 5430 }, 150); 5431 5432 if (!qcldIsAiFormInProgress()) { $(globalwpw.settings.messageContainer).find('.wp-chatbot-msg:last .qcld-like-dislike-icon').css('display', 'block'); } 5433 if (!isFormCompleted && !qcldIsAiFormInProgress()) { 5434 fetchRelevantPages(dataObj.keyword); 5435 } 5436 setTimeout(() => { 5437 wpwTree.start_menu_settings(); 5438 }, 500); 5439 wpwKits.scrollTo(); 5440 wpwKits.wpwHistorySave(); 5441 } 5442 return; 5443 } 5444 5445 // --- Continue streaming/typing --- 5446 isTyping = true; 5447 let nextChunk = queue.shift(); 5448 messageBuffer += nextChunk; 5449 if (messageBuffer.indexOf("__AI") !== -1 || messageBuffer.indexOf("AI_FORM_DATA") !== -1) { 5450 isTyping = false;
5451 processQueue(); 5452 return; 5453 } // Accumulate message buffer 5454 5455 const $last = jQuery(".wp-chatbot-msg") 5456 .last() 5457 .find(".wp-chatbot-paragraph"); 5458 5459 if ($last.length) { 5460 $last.find(".wp-chatbot-comment-loader").remove(); // Remove loader when typing starts 5461 const $span = jQuery("<span>"); 5462 $last.append($span); 5463 5464 typeCharacterByCharacter($span, nextChunk, 10, () => { 5465 isTyping = false; 5466 processQueue(); // Continue with next chunk 5467 wpwKits.scrollTo(); // Scroll after each chunk is typed 5468 }); 5469 } else { 5470 // Fallback if $last is not found (should ideally not happen if preloader is correctly added) 5471 isTyping = false; 5472 processQueue(); 5473 } 5474 } 5475 5476 function read() { 5477 reader 5478 .read() 5479 .then(({ done, value }) => { 5480 if (done) { 5481 return; 5482 } 5483 5484 buffer += decoder.decode(value, { stream: true }); 5485 5486 const lines = buffer.split("\n"); 5487 buffer = lines.pop(); // Save incomplete line 5488 5489 for (let line of lines) { 5490 line = line.trim(); 5491 if (!line) continue; 5492 5493 if (line.startsWith("data:")) { 5494 const json = line.replace("data:", "").trim(); 5495 5496 if (json === "[DONE]") { 5497 streamEnded = true; 5498 // Only call processQueue if nothing is typing 5499 if (!isTyping && queue.length === 0) { 5500 fetchRelevantPages(dataObj.keyword); 5501 wpwKits.wpwHistorySave(); 5502 } 5503 processQueue(); 5504 return; 5505 } 5506 5507 try { 5508 const parsed = JSON.parse(json); 5509 let content = ""; 5510 5511 if (parsed.choices?.[0]?.delta?.content) { 5512 content = parsed.choices[0].delta.content; 5513 } else if (parsed.message?.content) { 5514 content = parsed.message.content; 5515 } else if (parsed.delta?.content) { 5516 content = parsed.delta.content; 5517 } 5518 5519 if (content) { 5520 queue.push(content); 5521 processQueue(); 5522 wpwKits.scrollTo(); 5523 5524 } 5525 } catch (e) { 5526 console.warn("Streaming parse error:", e, json); 5527 } 5528 } 5529 } 5530 5531 read(); 5532 5533 }) 5534 .catch((err) => console.error("Read error:", err)); 5535 } 5536 5537 read(); 5538 }).catch((err) => console.error("Fetch error:", err)); 5539 5540 } 5541 /* 5542 * wpwbot Trees are basically product,order and support 5543 * product tree : asking,showing & shopping part will be covered. 5544 * order tree : showing order list and email to admin option. 5545 * support tree : List of support query-answer including text & video and email to admin option. 5546 */ 5547 wpwTree = { 5548 greeting: function (msg) { 5549 console.log(msg) 5550 /** 5551 * When Enable DialogFlow then or else 5552 */ 5553 if ( 5554 globalwpw.settings.obj.ai_df_enable == 1 && 5555 globalwpw.df_status_lock == 0 5556 ) { 5557 //When intialize 1 and don't have cookies then keep the name of shooper in in cookie 5558 if ( 5559 globalwpw.initialize == 1 && 5560 !localStorage.getItem("shopper") && 5561 globalwpw.wildCard == 0 && 5562 globalwpw.ai_step == 0 5563 ) { 5564 var main_text = msg; 5565 msg = wpwKits.toTitlecase(msg); 5566 if ( 5567 globalwpw.settings.obj.ask_name_confirmation != "" && 5568 localStorage.getItem("shoppername_recognized") 5569 ) { 5570 if (main_text == "yes") { 5571 var fullname = localStorage.getItem("shoppername_recognized"); 5572 globalwpw.settings.obj.ask_name_confirmation = ""; 5573 localStorage.removeItem("shoppername_recognized"); 5574 5575 $.cookie("shopper", fullname, { expires: 365 }); 5576 localStorage.setItem("shopper", fullname);
5577 globalwpw.hasNameCookie = fullname; 5578 //Greeting with name and suggesting the wildcard. 5579 var NameGreeting = 5580 wpwKits.randomMsg(globalwpw.settings.obj.i_am) + 5581 " <strong>" + 5582 wpwKits.render(globalwpw.settings.obj.agent) + 5583 "</strong>! " + 5584 wpwKits.randomMsg(globalwpw.settings.obj.name_greeting); 5585 if (globalwpw.settings.obj.ask_email_wp_greetings == 1) { 5586 var emailsharetext = wpwKits.randomMsg( 5587 globalwpw.settings.obj.asking_emailaddress 5588 ); 5589 if (globalwpw.settings.obj.enable_gdpr) { 5590 wpwMsg.triple_nobg( 5591 NameGreeting, 5592 emailsharetext, 5593 wpwKits.render(globalwpw.settings.obj.gdpr_text) 5594 ); 5595 } else { 5596 wpwMsg.double(NameGreeting, emailsharetext); 5597 } 5598 } else if (globalwpw.settings.obj.ask_phone_wp_greetings == 1) { 5599 var phonesharetext = wpwKits.randomMsg( 5600 globalwpw.settings.obj.asking_phone_gt 5601 ); 5602 if (globalwpw.settings.obj.enable_gdpr) { 5603 wpwMsg.triple_nobg( 5604 NameGreeting, 5605 phonesharetext, 5606 wpwKits.render(globalwpw.settings.obj.gdpr_text) 5607 ); 5608 } else { 5609 wpwMsg.double(NameGreeting, phonesharetext); 5610 } 5611 } else { 5612 //this data should be conditional 5613 var serviceOffer = wpwKits.randomMsg( 5614 globalwpw.settings.obj.wildcard_msg 5615 ); 5616 //After completing two steps messaging showing wildcards. 5617 if ( 5618 globalwpw.settings.obj.show_menu_after_greetings == 1 && 5619 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 5620 typeof globalwpw.wildcards != "undefined" && 5621 globalwpw.wildcards != "" && 5622 globalwpw.settings.obj.qcld_disable_beginning_startmenu != "1" 5623 ) { 5624 wpwMsg.triple_nobg( 5625 NameGreeting, 5626 serviceOffer, 5627 globalwpw.wildcards 5628 ); 5629 } else { 5630 wpwMsg.single(NameGreeting); 5631 } 5632 globalwpw.ai_step = 1; 5633 globalwpw.wildCard = 0; 5634 localStorage.setItem("wildCard", globalwpw.wildCard); 5635 localStorage.setItem("aiStep", globalwpw.ai_step); 5636 } 5637 } else { 5638 localStorage.removeItem("shoppername_recognized"); 5639 wpwMsg.single( 5640 wpwKits.randomMsg(globalwpw.settings.obj.asking_name) 5641 ); 5642 } 5643 } else if ( 5644 globalwpw.settings.obj.ask_name_confirmation != "" || 5645 globalwpw.settings.obj.ask_name_confirmation == "" 5646 ) { 5647 var dfReturns = wpwKits.dailogAIOAction(msg); 5648 if ( 5649 $( 5650 globalwpw.settings.messageLastChild + 5651 " .wp-chatbot-comment-loader" 5652 ).length == 0 5653 ) { 5654 $(globalwpw.settings.messageContainer).append( 5655 wpwKits.botPreloader() 5656 ); 5657 } 5658 dfReturns.done(function (response) { 5659 if (globalwpw.settings.obj.df_api_version == "v2") { 5660 response = $.parseJSON(response); 5661 } 5662 if (wpwKits.responseIsOk(response)) { 5663 var intent = wpwKits.getIntentName(response); 5664 if (intent == "get name") { 5665 var given_name = wpwKits.getParameters(response).given_name; 5666 var last_name = wpwKits.getParameters(response).last_name; 5667 var fullname = given_name + " " + last_name; 5668 if (fullname.length < 2) { 5669 fullname = msg; 5670 } 5671 5672 //if(globalwpw.settings.obj.ask_name_confirmation==''){ 5673 5674 $.cookie("shopper", fullname, { expires: 365 }); 5675 localStorage.setItem("shopper", fullname);
5676 globalwpw.hasNameCookie = fullname; 5677 //Greeting with name and suggesting the wildcard. 5678 var NameGreeting = 5679 wpwKits.randomMsg(globalwpw.settings.obj.i_am) + 5680 " <strong>" + 5681 wpwKits.render(globalwpw.settings.obj.agent) + 5682 "</strong>! " + 5683 wpwKits.randomMsg(globalwpw.settings.obj.name_greeting); 5684 if (globalwpw.settings.obj.ask_email_wp_greetings == 1) { 5685 var emailsharetext = wpwKits.randomMsg( 5686 globalwpw.settings.obj.asking_emailaddress 5687 ); 5688 if (globalwpw.settings.obj.enable_gdpr) { 5689 wpwMsg.triple_nobg( 5690 NameGreeting, 5691 emailsharetext, 5692 wpwKits.render(globalwpw.settings.obj.gdpr_text) 5693 ); 5694 } else { 5695 wpwMsg.double(NameGreeting, emailsharetext); 5696 } 5697 } else if ( 5698 globalwpw.settings.obj.ask_phone_wp_greetings == 1 5699 ) { 5700 var phonesharetext = wpwKits.randomMsg( 5701 globalwpw.settings.obj.asking_phone_gt 5702 ); 5703 if (globalwpw.settings.obj.enable_gdpr) { 5704 wpwMsg.triple_nobg( 5705 NameGreeting, 5706 phonesharetext, 5707 wpwKits.render(globalwpw.settings.obj.gdpr_text) 5708 ); 5709 } else { 5710 wpwMsg.double(NameGreeting, phonesharetext); 5711 } 5712 } else { 5713 //this data should be conditional 5714 var serviceOffer = wpwKits.randomMsg( 5715 globalwpw.settings.obj.wildcard_msg 5716 ); 5717 //After completing two steps messaging showing wildcards. 5718 if ( 5719 globalwpw.settings.obj.show_menu_after_greetings == 1 && 5720 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 5721 typeof globalwpw.wildcards != "undefined" && 5722 globalwpw.wildcards != "" 5723 ) { 5724 wpwMsg.triple_nobg( 5725 NameGreeting, 5726 serviceOffer, 5727 globalwpw.wildcards 5728 ); 5729 } else { 5730 wpwMsg.single(NameGreeting); 5731 } 5732 globalwpw.ai_step = 1; 5733 globalwpw.wildCard = 0; 5734 localStorage.setItem("wildCard", globalwpw.wildCard); 5735 localStorage.setItem("aiStep", globalwpw.ai_step); 5736 } 5737 } else if (intent == "Default Fallback Intent") { 5738 var filterMsg = wpwKits.filterStopWords(msg); 5739 5740 if (filterMsg != "") { 5741 // if(globalwpw.settings.obj.ask_name_confirmation==''){ 5742 5743 $.cookie("shopper", filterMsg, { expires: 365 }); 5744 localStorage.setItem("shopper", filterMsg); 5745 globalwpw.hasNameCookie = filterMsg; 5746 var NameGreeting = 5747 wpwKits.randomMsg(globalwpw.settings.obj.i_am) + 5748 " <strong>" + 5749 wpwKits.render(globalwpw.settings.obj.agent) + 5750 "</strong>! " + 5751 wpwKits.randomMsg(globalwpw.settings.obj.name_greeting); 5752 if (globalwpw.settings.obj.ask_email_wp_greetings == 1) { 5753 var emailsharetext = wpwKits.randomMsg( 5754 globalwpw.settings.obj.asking_emailaddress 5755 ); 5756 if (globalwpw.settings.obj.enable_gdpr) { 5757 wpwMsg.triple( 5758 NameGreeting, 5759 emailsharetext, 5760 wpwKits.render(globalwpw.settings.obj.gdpr_text) 5761 ); 5762 } else { 5763 wpwMsg.double(NameGreeting, emailsharetext); 5764 } 5765 } else if (
5766 globalwpw.settings.obj.ask_phone_wp_greetings == 1 5767 ) { 5768 var phonesharetext = wpwKits.randomMsg( 5769 globalwpw.settings.obj.asking_phone_gt 5770 ); 5771 if (globalwpw.settings.obj.enable_gdpr) { 5772 wpwMsg.triple_nobg( 5773 NameGreeting, 5774 phonesharetext, 5775 wpwKits.render(globalwpw.settings.obj.gdpr_text) 5776 ); 5777 } else { 5778 wpwMsg.double(NameGreeting, phonesharetext); 5779 } 5780 } else { 5781 //this data should be conditional 5782 var serviceOffer = wpwKits.randomMsg( 5783 globalwpw.settings.obj.wildcard_msg 5784 ); 5785 //After completing two steps messaging showing wildcards. 5786 if ( 5787 globalwpw.settings.obj.show_menu_after_greetings == 1 && 5788 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 5789 typeof globalwpw.wildcards != "undefined" && 5790 globalwpw.wildcards != "" && 5791 globalwpw.settings.obj 5792 .qcld_disable_beginning_startmenu != "1" 5793 ) { 5794 wpwMsg.triple_nobg( 5795 NameGreeting, 5796 serviceOffer, 5797 globalwpw.wildcards 5798 ); 5799 } else { 5800 wpwMsg.single(NameGreeting); 5801 } 5802 5803 globalwpw.ai_step = 1; 5804 globalwpw.wildCard = 0; 5805 localStorage.setItem("wildCard", globalwpw.wildCard); 5806 localStorage.setItem("aiStep", globalwpw.ai_step); 5807 } 5808 } else { 5809 $.cookie( 5810 "shopper", 5811 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 5812 { expires: 365 } 5813 ); 5814 localStorage.setItem( 5815 "shopper", 5816 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 5817 ); 5818 globalwpw.hasNameCookie = wpwKits.render( 5819 globalwpw.settings.obj.shopper_demo_name 5820 ); 5821 globalwpw.ai_step = 1; 5822 globalwpw.wildCard = 0; 5823 localStorage.setItem("wildCard", globalwpw.wildCard); 5824 localStorage.setItem("aiStep", globalwpw.ai_step); 5825 var NameGreeting = 5826 wpwKits.render(globalwpw.settings.obj.shopper_call_you) + 5827 " " + 5828 wpwKits.render(globalwpw.settings.obj.shopper_demo_name); 5829 if (globalwpw.settings.obj.ask_email_wp_greetings == 1) { 5830 var emailsharetext = wpwKits.randomMsg( 5831 globalwpw.settings.obj.asking_emailaddress 5832 ); 5833 if (globalwpw.settings.obj.enable_gdpr) { 5834 wpwMsg.triple( 5835 NameGreeting, 5836 emailsharetext, 5837 wpwKits.render(globalwpw.settings.obj.gdpr_text) 5838 ); 5839 } else { 5840 wpwMsg.double(NameGreeting, emailsharetext); 5841 } 5842 } else if ( 5843 globalwpw.settings.obj.ask_phone_wp_greetings == 1 5844 ) { 5845 var phonesharetext = wpwKits.randomMsg( 5846 globalwpw.settings.obj.asking_phone_gt 5847 ); 5848 if (globalwpw.settings.obj.enable_gdpr) { 5849 wpwMsg.triple_nobg( 5850 NameGreeting, 5851 phonesharetext, 5852 wpwKits.render(globalwpw.settings.obj.gdpr_text) 5853 ); 5854 } else { 5855 wpwMsg.double(NameGreeting, phonesharetext); 5856 } 5857 } else { 5858 //this data should be conditional 5859 var serviceOffer = wpwKits.randomMsg(
5860 globalwpw.settings.obj.wildcard_msg 5861 ); 5862 //After completing two steps messaging showing wildcards. 5863 if ( 5864 globalwpw.settings.obj.show_menu_after_greetings == 1 && 5865 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 5866 typeof globalwpw.wildcards != "undefined" && 5867 globalwpw.wildcards != "" 5868 ) { 5869 wpwMsg.triple_nobg( 5870 NameGreeting, 5871 serviceOffer, 5872 globalwpw.wildcards 5873 ); 5874 } else { 5875 wpwMsg.single(NameGreeting); 5876 } 5877 5878 globalwpw.ai_step = 1; 5879 globalwpw.wildCard = 0; 5880 localStorage.setItem("wildCard", globalwpw.wildCard); 5881 localStorage.setItem("aiStep", globalwpw.ai_step); 5882 } 5883 } 5884 } else { 5885 var filterMsg = wpwKits.filterStopWords(msg); 5886 if (msg.length === 1) { 5887 var filterMsg = msg; 5888 } 5889 if (filterMsg != "") { 5890 $.cookie("shopper", filterMsg, { expires: 365 }); 5891 localStorage.setItem("shopper", filterMsg); 5892 globalwpw.hasNameCookie = filterMsg; 5893 var NameGreeting = 5894 wpwKits.randomMsg(globalwpw.settings.obj.i_am) + 5895 " <strong>" + 5896 wpwKits.render(globalwpw.settings.obj.agent) + 5897 "</strong>! " + 5898 wpwKits.randomMsg(globalwpw.settings.obj.name_greeting); 5899 if (globalwpw.settings.obj.ask_email_wp_greetings == 1) { 5900 var emailsharetext = wpwKits.randomMsg( 5901 globalwpw.settings.obj.asking_emailaddress 5902 ); 5903 if (globalwpw.settings.obj.enable_gdpr) { 5904 wpwMsg.triple( 5905 NameGreeting, 5906 emailsharetext, 5907 wpwKits.render(globalwpw.settings.obj.gdpr_text) 5908 ); 5909 } else { 5910 wpwMsg.double(NameGreeting, emailsharetext); 5911 } 5912 } else if ( 5913 globalwpw.settings.obj.ask_phone_wp_greetings == 1 5914 ) { 5915 var phonesharetext = wpwKits.randomMsg( 5916 globalwpw.settings.obj.asking_phone_gt 5917 ); 5918 if (globalwpw.settings.obj.enable_gdpr) { 5919 wpwMsg.triple_nobg( 5920 NameGreeting, 5921 phonesharetext, 5922 wpwKits.render(globalwpw.settings.obj.gdpr_text) 5923 ); 5924 } else { 5925 wpwMsg.double(NameGreeting, phonesharetext); 5926 } 5927 } else { 5928 //this data should be conditional 5929 var serviceOffer = wpwKits.randomMsg( 5930 globalwpw.settings.obj.wildcard_msg 5931 ); 5932 //After completing two steps messaging showing wildcards. 5933 if ( 5934 globalwpw.settings.obj.show_menu_after_greetings == 1 && 5935 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 5936 typeof globalwpw.wildcards != "undefined" && 5937 globalwpw.wildcards != "" 5938 ) { 5939 wpwMsg.triple_nobg( 5940 NameGreeting, 5941 serviceOffer, 5942 globalwpw.wildcards 5943 ); 5944 } else { 5945 wpwMsg.single(NameGreeting); 5946 } 5947
5948 globalwpw.ai_step = 1; 5949 globalwpw.wildCard = 0; 5950 localStorage.setItem("wildCard", globalwpw.wildCard); 5951 localStorage.setItem("aiStep", globalwpw.ai_step); 5952 } 5953 } else { 5954 $.cookie( 5955 "shopper", 5956 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 5957 { expires: 365 } 5958 ); 5959 localStorage.setItem( 5960 "shopper", 5961 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 5962 ); 5963 globalwpw.hasNameCookie = wpwKits.render( 5964 globalwpw.settings.obj.shopper_demo_name 5965 ); 5966 globalwpw.ai_step = 1; 5967 globalwpw.wildCard = 0; 5968 localStorage.setItem("wildCard", globalwpw.wildCard); 5969 localStorage.setItem("aiStep", globalwpw.ai_step); 5970 var NameGreeting = 5971 wpwKits.render(globalwpw.settings.obj.shopper_call_you) + 5972 " " + 5973 wpwKits.render(globalwpw.settings.obj.shopper_demo_name); 5974 if (globalwpw.settings.obj.ask_email_wp_greetings == 1) { 5975 var emailsharetext = wpwKits.randomMsg( 5976 globalwpw.settings.obj.asking_emailaddress 5977 ); 5978 if (globalwpw.settings.obj.enable_gdpr) { 5979 wpwMsg.triple( 5980 NameGreeting, 5981 emailsharetext, 5982 wpwKits.render(globalwpw.settings.obj.gdpr_text) 5983 ); 5984 } else { 5985 wpwMsg.double(NameGreeting, emailsharetext); 5986 } 5987 } else if ( 5988 globalwpw.settings.obj.ask_phone_wp_greetings == 1 5989 ) { 5990 var phonesharetext = wpwKits.randomMsg( 5991 globalwpw.settings.obj.asking_phone_gt 5992 ); 5993 if (globalwpw.settings.obj.enable_gdpr) { 5994 wpwMsg.triple_nobg( 5995 NameGreeting, 5996 phonesharetext, 5997 wpwKits.render(globalwpw.settings.obj.gdpr_text) 5998 ); 5999 } else { 6000 wpwMsg.double(NameGreeting, phonesharetext); 6001 } 6002 } else { 6003 //this data should be conditional 6004 var serviceOffer = wpwKits.randomMsg( 6005 globalwpw.settings.obj.wildcard_msg 6006 ); 6007 //After completing two steps messaging showing wildcards. 6008 if ( 6009 globalwpw.settings.obj.show_menu_after_greetings == 1 && 6010 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 6011 typeof globalwpw.wildcards != "undefined" && 6012 globalwpw.wildcards != "" && 6013 globalwpw.settings.obj 6014 .qcld_disable_beginning_startmenu != "1" 6015 ) { 6016 wpwMsg.triple_nobg( 6017 NameGreeting, 6018 serviceOffer, 6019 globalwpw.wildcards 6020 ); 6021 } else { 6022 wpwMsg.single(NameGreeting); 6023 } 6024 6025 globalwpw.ai_step = 1; 6026 globalwpw.wildCard = 0; 6027 localStorage.setItem("wildCard", globalwpw.wildCard); 6028 localStorage.setItem("aiStep", globalwpw.ai_step); 6029 } 6030 } 6031 } 6032 } else { 6033 //if bad request or limit cross then 6034 //globalwpw.df_status_lock=0; 6035 var filterMsg = wpwKits.filterStopWords(msg); 6036 if (msg.length === 1) { 6037 var filterMsg = msg; 6038 } 6039 if (filterMsg != "") { 6040 if (globalwpw.settings.obj.ask_name_confirmation == "") { 6041 $.cookie("shopper", filterMsg, { expires: 365 }); 6042 localStorage.setItem("shopper", filterMsg);
6043 globalwpw.hasNameCookie = filterMsg; 6044 var NameGreeting = 6045 wpwKits.randomMsg(globalwpw.settings.obj.i_am) + 6046 " <strong>" + 6047 wpwKits.render(globalwpw.settings.obj.agent) + 6048 "</strong>! " + 6049 wpwKits.randomMsg(globalwpw.settings.obj.name_greeting); 6050 if (globalwpw.settings.obj.ask_email_wp_greetings == 1) { 6051 var emailsharetext = wpwKits.randomMsg( 6052 globalwpw.settings.obj.asking_emailaddress 6053 ); 6054 if (globalwpw.settings.obj.enable_gdpr) { 6055 wpwMsg.triple( 6056 NameGreeting, 6057 emailsharetext, 6058 wpwKits.render(globalwpw.settings.obj.gdpr_text) 6059 ); 6060 } else { 6061 wpwMsg.double(NameGreeting, emailsharetext); 6062 } 6063 } else if ( 6064 globalwpw.settings.obj.ask_phone_wp_greetings == 1 6065 ) { 6066 var phonesharetext = wpwKits.randomMsg( 6067 globalwpw.settings.obj.asking_phone_gt 6068 ); 6069 if (globalwpw.settings.obj.enable_gdpr) { 6070 wpwMsg.triple_nobg( 6071 NameGreeting, 6072 phonesharetext, 6073 wpwKits.render(globalwpw.settings.obj.gdpr_text) 6074 ); 6075 } else { 6076 wpwMsg.double(NameGreeting, phonesharetext); 6077 } 6078 } else { 6079 //this data should be conditional 6080 var serviceOffer = wpwKits.randomMsg( 6081 globalwpw.settings.obj.wildcard_msg 6082 ); 6083 //After completing two steps messaging showing wildcards. 6084 if ( 6085 globalwpw.settings.obj.show_menu_after_greetings == 1 && 6086 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 6087 typeof globalwpw.wildcards != "undefined" && 6088 globalwpw.wildcards != "" && 6089 globalwpw.settings.obj 6090 .qcld_disable_beginning_startmenu != "1" 6091 ) { 6092 wpwMsg.triple_nobg( 6093 NameGreeting, 6094 serviceOffer, 6095 globalwpw.wildcards 6096 ); 6097 } else { 6098 wpwMsg.single(NameGreeting); 6099 } 6100 6101 globalwpw.ai_step = 1; 6102 globalwpw.wildCard = 0; 6103 localStorage.setItem("wildCard", globalwpw.wildCard); 6104 localStorage.setItem("aiStep", globalwpw.ai_step); 6105 } 6106 } else { 6107 var arrMsg = 6108 globalwpw.settings.obj.i_understand[ 6109 globalwpw.settings.obj.language 6110 ]; 6111 var i_understand = ""; 6112 var index = Math.floor(Math.random() * arrMsg.length); 6113 if ( 6114 arrMsg[index] != "" && 6115 typeof arrMsg[index] !== "undefined" 6116 ) { 6117 i_understand = arrMsg[index].replace( 6118 "%%username%%", 6119 "<strong>" + filterMsg + "</strong>" 6120 ); 6121 } 6122 localStorage.setItem("shoppername_recognized", filterMsg); 6123 var confirmBtn = 6124 '<span class="qcld-chat-common qcld-name-confirm" data-res="' + 6125 wpwKits.render(globalwpw.settings.obj.yes) + 6126 '" >' + 6127 wpwKits.render(globalwpw.settings.obj.yes) + 6128 "</span> <span> " + 6129 wpwKits.render(globalwpw.settings.obj.or) +
6130 ' </span><span class="qcld-chat-common qcld-name-confirm" data-res="' + 6131 wpwKits.render(globalwpw.settings.obj.no) + 6132 '">' + 6133 wpwKits.render(globalwpw.settings.obj.no) + 6134 "</span>"; 6135 wpwMsg.double_nobg(i_understand, confirmBtn); 6136 } 6137 } else { 6138 $.cookie( 6139 "shopper", 6140 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 6141 { expires: 365 } 6142 ); 6143 localStorage.setItem( 6144 "shopper", 6145 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 6146 ); 6147 globalwpw.hasNameCookie = wpwKits.render( 6148 globalwpw.settings.obj.shopper_demo_name 6149 ); 6150 globalwpw.ai_step = 1; 6151 globalwpw.wildCard = 0; 6152 localStorage.setItem("wildCard", globalwpw.wildCard); 6153 localStorage.setItem("aiStep", globalwpw.ai_step); 6154 var NameGreeting = 6155 wpwKits.render(globalwpw.settings.obj.shopper_call_you) + 6156 " " + 6157 wpwKits.render(globalwpw.settings.obj.shopper_demo_name); 6158 if (globalwpw.settings.obj.ask_email_wp_greetings == 1) { 6159 var emailsharetext = wpwKits.randomMsg( 6160 globalwpw.settings.obj.asking_emailaddress 6161 ); 6162 if (globalwpw.settings.obj.enable_gdpr) { 6163 wpwMsg.triple( 6164 NameGreeting, 6165 emailsharetext, 6166 wpwKits.render(globalwpw.settings.obj.gdpr_text) 6167 ); 6168 } else { 6169 wpwMsg.double(NameGreeting, emailsharetext); 6170 } 6171 } else if ( 6172 globalwpw.settings.obj.ask_phone_wp_greetings == 1 6173 ) { 6174 var phonesharetext = wpwKits.randomMsg( 6175 globalwpw.settings.obj.asking_phone_gt 6176 ); 6177 if (globalwpw.settings.obj.enable_gdpr) { 6178 wpwMsg.triple_nobg( 6179 NameGreeting, 6180 phonesharetext, 6181 wpwKits.render(globalwpw.settings.obj.gdpr_text) 6182 ); 6183 } else { 6184 wpwMsg.double(NameGreeting, phonesharetext); 6185 } 6186 } else { 6187 //this data should be conditional 6188 var serviceOffer = wpwKits.randomMsg( 6189 globalwpw.settings.obj.wildcard_msg 6190 ); 6191 //After completing two steps messaging showing wildcards. 6192 if ( 6193 globalwpw.settings.obj.show_menu_after_greetings == 1 && 6194 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 6195 typeof globalwpw.wildcards != "undefined" && 6196 globalwpw.wildcards != "" && 6197 globalwpw.settings.obj.qcld_disable_beginning_startmenu != 6198 "1" 6199 ) { 6200 wpwMsg.triple_nobg( 6201 NameGreeting, 6202 serviceOffer, 6203 globalwpw.wildcards 6204 ); 6205 } else { 6206 wpwMsg.single(NameGreeting); 6207 } 6208 6209 globalwpw.ai_step = 1; 6210 globalwpw.wildCard = 0; 6211 localStorage.setItem("wildCard", globalwpw.wildCard); 6212 localStorage.setItem("aiStep", globalwpw.ai_step); 6213 } 6214 } 6215 } 6216 }); 6217 } 6218 } 6219 //When returning shopper then greeting with name and wildcards. 6220 else if ( 6221 localStorage.getItem("shopper") &&
6222 globalwpw.wildCard == 0 && 6223 globalwpw.ai_step == 0 6224 ) { 6225 if ( 6226 globalwpw.settings.obj.ask_email_wp_greetings == 1 && 6227 !localStorage.getItem("shopperemail") 6228 ) { 6229 var dfReturns = wpwKits.dailogAIOAction(msg); 6230 if ( 6231 $( 6232 globalwpw.settings.messageLastChild + 6233 " .wp-chatbot-comment-loader" 6234 ).length == 0 6235 ) { 6236 $(globalwpw.settings.messageContainer).append( 6237 wpwKits.botPreloader() 6238 ); 6239 } 6240 dfReturns.done(function (response) { 6241 6242 if (globalwpw.settings.obj.df_api_version == "v2") { 6243 response = $.parseJSON(response); 6244 } 6245 if (wpwKits.responseIsOk(response)) { 6246 var intent = wpwKits.getIntentName(response); 6247 if (intent == "get email") { 6248 var email = wpwKits.getParameters(response).email; 6249 $.cookie("shopperemail", email, { expires: 365 }); 6250 localStorage.setItem("shopperemail", email); 6251 if (email != "") { 6252 var data = { 6253 action: "qcld_wb_chatbot_email_subscription", 6254 name: localStorage.getItem("shopper"), 6255 email: email, 6256 url: window.location.href, 6257 }; 6258 6259 wpwKits.ajax(data).done(function (response) { 6260 //response. 6261 }); 6262 } 6263 var emailgreetings = wpwKits.randomMsg( 6264 globalwpw.settings.obj.got_email 6265 ); 6266 var serviceOffer = wpwKits.randomMsg( 6267 globalwpw.settings.obj.wildcard_msg 6268 ); 6269 //After completing two steps messaging showing wildcards. 6270 6271 if (globalwpw.settings.obj.ask_phone_wp_greetings == 1) { 6272 var phonesharetext = wpwKits.randomMsg( 6273 globalwpw.settings.obj.asking_phone_gt 6274 ); 6275 if (globalwpw.settings.obj.enable_gdpr) { 6276 wpwMsg.triple_nobg( 6277 emailgreetings, 6278 phonesharetext, 6279 wpwKits.render(globalwpw.settings.obj.gdpr_text) 6280 ); 6281 } else { 6282 wpwMsg.double(emailgreetings, phonesharetext); 6283 } 6284 } else { 6285 if ( 6286 (globalwpw.settings.obj.show_menu_after_greetings == 1 || 6287 globalwpw.settings.obj.qcld_disable_start_menu != 6288 "1") && 6289 typeof globalwpw.wildcards != "undefined" && 6290 globalwpw.wildcards != "" && 6291 globalwpw.settings.obj.qcld_disable_beginning_startmenu != 6292 "1" 6293 ) { 6294 wpwMsg.triple_nobg( 6295 emailgreetings, 6296 serviceOffer, 6297 globalwpw.wildcards 6298 ); 6299 } else { 6300 wpwMsg.single(emailgreetings); 6301 } 6302 6303 globalwpw.ai_step = 1; 6304 globalwpw.wildCard = 0; 6305 localStorage.setItem("wildCard", globalwpw.wildCard); 6306 localStorage.setItem("aiStep", globalwpw.ai_step); 6307 } 6308 } else { 6309 var re = 6310 /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; 6311 if (re.test(msg) != true) { 6312 //After asking service show the wildcards. 6313 var noemailtext = wpwKits.randomMsg( 6314 globalwpw.settings.obj.email_ignore 6315 ); 6316 var serviceOffer = wpwKits.randomMsg( 6317 globalwpw.settings.obj.wildcard_msg 6318 ); 6319 localStorage.setItem("shopperemail", "no"); 6320 if (globalwpw.settings.obj.ask_phone_wp_greetings == 1) { 6321 var phonesharetext = wpwKits.randomMsg(
6322 globalwpw.settings.obj.asking_phone_gt 6323 ); 6324 if (globalwpw.settings.obj.enable_gdpr) { 6325 wpwMsg.triple_nobg( 6326 noemailtext, 6327 phonesharetext, 6328 wpwKits.render(globalwpw.settings.obj.gdpr_text) 6329 ); 6330 } else { 6331 wpwMsg.double(noemailtext, phonesharetext); 6332 } 6333 } else { 6334 globalwpw.ai_step = 1; 6335 globalwpw.wildCard = 0; 6336 localStorage.setItem("wildCard", globalwpw.wildCard); 6337 localStorage.setItem("aiStep", globalwpw.ai_step); 6338 6339 if ( 6340 globalwpw.settings.obj.show_menu_after_greetings == 1 && 6341 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 6342 typeof globalwpw.wildcards != "undefined" && 6343 globalwpw.wildcards != "" && 6344 globalwpw.settings.obj 6345 .qcld_disable_beginning_startmenu != "1" 6346 ) { 6347 wpwMsg.triple_nobg( 6348 noemailtext, 6349 serviceOffer, 6350 globalwpw.wildcards 6351 ); 6352 } else { 6353 wpwMsg.single(noemailtext); 6354 } 6355 } 6356 } else { 6357 var email = msg; 6358 $.cookie("shopperemail", email, { expires: 365 }); 6359 localStorage.setItem("shopperemail", email); 6360 if (email != "") { 6361 var data = { 6362 action: "qcld_wb_chatbot_email_subscription", 6363 name: localStorage.getItem("shopper"), 6364 email: email, 6365 url: window.location.href, 6366 }; 6367 6368 wpwKits.ajax(data).done(function (response) { 6369 //response. 6370 }); 6371 } 6372 var emailgreetings = wpwKits.randomMsg( 6373 globalwpw.settings.obj.got_email 6374 ); 6375 var serviceOffer = wpwKits.randomMsg( 6376 globalwpw.settings.obj.wildcard_msg 6377 ); 6378 //After completing two steps messaging showing wildcards. 6379 6380 if (globalwpw.settings.obj.ask_phone_wp_greetings == 1) { 6381 var phonesharetext = wpwKits.randomMsg( 6382 globalwpw.settings.obj.asking_phone_gt 6383 ); 6384 if (globalwpw.settings.obj.enable_gdpr) { 6385 wpwMsg.triple_nobg( 6386 emailgreetings, 6387 phonesharetext, 6388 wpwKits.render(globalwpw.settings.obj.gdpr_text) 6389 ); 6390 } else { 6391 wpwMsg.double(emailgreetings, phonesharetext); 6392 } 6393 } else { 6394 if ( 6395 globalwpw.settings.obj.show_menu_after_greetings == 1 && 6396 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 6397 typeof globalwpw.wildcards != "undefined" && 6398 globalwpw.wildcards != "" && 6399 globalwpw.settings.obj 6400 .qcld_disable_beginning_startmenu != "1" 6401 ) { 6402 wpwMsg.triple_nobg( 6403 emailgreetings, 6404 serviceOffer, 6405 globalwpw.wildcards 6406 ); 6407 } else { 6408 wpwMsg.single(emailgreetings); 6409 } 6410 6411 globalwpw.ai_step = 1; 6412 globalwpw.wildCard = 0; 6413 localStorage.setItem("wildCard", globalwpw.wildCard); 6414 localStorage.setItem("aiStep", globalwpw.ai_step); 6415 } 6416 } 6417 } 6418 } else { 6419 var re =
6420 /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; 6421 if (re.test(msg) != true) { 6422 //After asking service show the wildcards. 6423 var noemailtext = wpwKits.randomMsg( 6424 globalwpw.settings.obj.email_ignore 6425 ); 6426 var serviceOffer = wpwKits.randomMsg( 6427 globalwpw.settings.obj.wildcard_msg 6428 ); 6429 localStorage.setItem("shopperemail", "no"); 6430 if (globalwpw.settings.obj.ask_phone_wp_greetings == 1) { 6431 var phonesharetext = wpwKits.randomMsg( 6432 globalwpw.settings.obj.asking_phone_gt 6433 ); 6434 if (globalwpw.settings.obj.enable_gdpr) { 6435 wpwMsg.triple_nobg( 6436 noemailtext, 6437 phonesharetext, 6438 wpwKits.render(globalwpw.settings.obj.gdpr_text) 6439 ); 6440 } else { 6441 wpwMsg.double(noemailtext, phonesharetext); 6442 } 6443 } else { 6444 globalwpw.ai_step = 1; 6445 globalwpw.wildCard = 0; 6446 localStorage.setItem("wildCard", globalwpw.wildCard); 6447 localStorage.setItem("aiStep", globalwpw.ai_step); 6448 6449 if ( 6450 globalwpw.settings.obj.show_menu_after_greetings == 1 && 6451 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 6452 typeof globalwpw.wildcards != "undefined" && 6453 globalwpw.wildcards != "" && 6454 globalwpw.settings.obj.qcld_disable_beginning_startmenu != 6455 "1" 6456 ) { 6457 wpwMsg.triple_nobg( 6458 noemailtext, 6459 serviceOffer, 6460 globalwpw.wildcards 6461 ); 6462 } else { 6463 wpwMsg.single(noemailtext); 6464 } 6465 } 6466 } else { 6467 var email = msg; 6468 $.cookie("shopperemail", email, { expires: 365 }); 6469 localStorage.setItem("shopperemail", email); 6470 if (email != "") { 6471 var data = { 6472 action: "qcld_wb_chatbot_email_subscription", 6473 name: localStorage.getItem("shopper"), 6474 email: email, 6475 url: window.location.href, 6476 }; 6477 6478 wpwKits.ajax(data).done(function (response) { 6479 //response. 6480 }); 6481 } 6482 var emailgreetings = wpwKits.randomMsg( 6483 globalwpw.settings.obj.got_email 6484 ); 6485 var serviceOffer = wpwKits.randomMsg( 6486 globalwpw.settings.obj.wildcard_msg 6487 ); 6488 //After completing two steps messaging showing wildcards. 6489 6490 if (globalwpw.settings.obj.ask_phone_wp_greetings == 1) { 6491 var phonesharetext = wpwKits.randomMsg( 6492 globalwpw.settings.obj.asking_phone_gt 6493 ); 6494 if (globalwpw.settings.obj.enable_gdpr) { 6495 wpwMsg.triple_nobg( 6496 emailgreetings, 6497 phonesharetext, 6498 wpwKits.render(globalwpw.settings.obj.gdpr_text) 6499 ); 6500 } else { 6501 wpwMsg.double(emailgreetings, phonesharetext); 6502 } 6503 } else { 6504 if ( 6505 globalwpw.settings.obj.show_menu_after_greetings == 1 && 6506 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 6507 typeof globalwpw.wildcards != "undefined" && 6508 globalwpw.wildcards != "" &&
6509 globalwpw.settings.obj.qcld_disable_beginning_startmenu != 6510 "1" 6511 ) { 6512 wpwMsg.triple_nobg( 6513 emailgreetings, 6514 serviceOffer, 6515 globalwpw.wildcards 6516 ); 6517 } else { 6518 wpwMsg.single(emailgreetings); 6519 } 6520 6521 globalwpw.ai_step = 1; 6522 globalwpw.wildCard = 0; 6523 localStorage.setItem("wildCard", globalwpw.wildCard); 6524 localStorage.setItem("aiStep", globalwpw.ai_step); 6525 } 6526 } 6527 } 6528 }); 6529 } else if ( 6530 globalwpw.settings.obj.ask_phone_wp_greetings == 1 && 6531 !localStorage.getItem("shopperphone") 6532 ) { 6533 var phonegreetings = wpwKits.randomMsg( 6534 globalwpw.settings.obj.got_phone 6535 ); 6536 var serviceOffer = wpwKits.randomMsg( 6537 globalwpw.settings.obj.wildcard_msg 6538 ); 6539 var nophonetext = wpwKits.randomMsg( 6540 globalwpw.settings.obj.phone_ignore 6541 ); 6542 6543 var data = { 6544 action: "qcld_wb_chatbot_phone_validate", 6545 name: globalwpw.hasNameCookie, 6546 phone: msg, 6547 }; 6548 wpwKits.ajax(data).done(function (response) { 6549 var json = $.parseJSON(response); 6550 if (json.status == "success") { 6551 localStorage.setItem("shopperphone", msg); 6552 if ( 6553 globalwpw.settings.obj.show_menu_after_greetings == 1 && 6554 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 6555 typeof globalwpw.wildcards != "undefined" && 6556 globalwpw.wildcards != "" && 6557 globalwpw.settings.obj.qcld_disable_beginning_startmenu != "1" 6558 ) { 6559 wpwMsg.triple_nobg( 6560 phonegreetings, 6561 serviceOffer, 6562 globalwpw.wildcards 6563 ); 6564 } else { 6565 wpwMsg.single(phonegreetings); 6566 } 6567 globalwpw.ai_step = 1; 6568 globalwpw.wildCard = 0; 6569 localStorage.setItem("wildCard", globalwpw.wildCard); 6570 localStorage.setItem("aiStep", globalwpw.ai_step); 6571 6572 if (localStorage.getItem("shopperemail")) { 6573 var email = localStorage.getItem("shopperemail"); 6574 } else { 6575 var email = ""; 6576 } 6577 6578 var data = { 6579 action: "qcld_wb_chatbot_email_subscription", 6580 name: localStorage.getItem("shopper"), 6581 email: email, 6582 phone: msg, 6583 url: window.location.href, 6584 }; 6585 6586 wpwKits.ajax(data).done(function (response) { 6587 //response. 6588 }); 6589 } else if (json.status == "invalid") { 6590 if ( 6591 (globalwpw.settings.obj.show_menu_after_greetings == 1 || 6592 globalwpw.settings.obj.qcld_disable_start_menu != "1") && 6593 typeof globalwpw.wildcards != "undefined" && 6594 globalwpw.wildcards != "" 6595 ) { 6596 wpwMsg.triple_nobg( 6597 nophonetext, 6598 serviceOffer, 6599 globalwpw.wildcards 6600 ); 6601 } else { 6602 wpwMsg.single(nophonetext); 6603 } 6604 globalwpw.ai_step = 1; 6605 globalwpw.wildCard = 0; 6606 localStorage.setItem("wildCard", globalwpw.wildCard); 6607 localStorage.setItem("aiStep", globalwpw.ai_step); 6608 } 6609 }); 6610 } else { 6611 //After asking service show the wildcards. 6612 var serviceOffer = wpwKits.randomMsg( 6613 globalwpw.settings.obj.wildcard_msg 6614 );
6615 globalwpw.ai_step = 1; 6616 globalwpw.wildCard = 0; 6617 localStorage.setItem("wildCard", globalwpw.wildCard); 6618 localStorage.setItem("aiStep", globalwpw.ai_step); 6619 wpwMsg.single(serviceOffer); 6620 } 6621 } 6622 //When user asking needs then DialogFlow will given intent after NLP steps. 6623 else if (globalwpw.ai_step == 1) { 6624 //first do site search 6625 if (globalwpw.settings.obj.qc_site_search_priority == "1") { 6626 if (msg != "" && globalwpw.settings.obj.disable_sitesearch == "") { 6627 var data = { 6628 action: "wpbo_search_site", 6629 name: globalwpw.hasNameCookie, 6630 keyword: msg, 6631 language: globalwpw.settings.obj.language, 6632 }; 6633 if ( 6634 $( 6635 globalwpw.settings.messageLastChild + 6636 " .wp-chatbot-comment-loader" 6637 ).length == 0 6638 ) { 6639 $(globalwpw.settings.messageContainer).append( 6640 wpwKits.botPreloader() 6641 ); 6642 } 6643 wpwKits.ajax(data).done(function (response) { 6644 var json = $.parseJSON(response); 6645 var res_element = new DOMParser().parseFromString( 6646 json.html, 6647 "text/xml" 6648 ); 6649 var reselement = res_element.getElementsByTagName("a"); 6650 if (json.status == "success" && reselement.length == 1) { 6651 $( 6652 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 6653 ) 6654 .parent(".wp-chatbot-paragraph") 6655 .hide(); 6656 $('span[data-wildcart="back"]').remove(); 6657 wpwMsg.single_nobg( 6658 json.html + 6659 '<span class="qcld-chatbot-wildcard" data-wildcart="back">' + 6660 wpwKits.randomMsg(globalwpw.settings.obj.back_to_start) + 6661 "</span>" 6662 ); 6663 setTimeout(() => { 6664 $(".wpb-search-result a").first()[0].scrollIntoView(); 6665 }, 600); 6666 } else if ( 6667 globalwpw.settings.obj.ai_df_enable == 1 && 6668 globalwpw.df_status_lock == 0 6669 ) { 6670 var dfReturns = wpwKits.dailogAIOAction(msg); 6671 if ( 6672 $( 6673 globalwpw.settings.messageLastChild + 6674 " .wp-chatbot-comment-loader" 6675 ).length == 0 6676 ) { 6677 $(globalwpw.settings.messageContainer).append( 6678 wpwKits.botPreloader() 6679 ); 6680 } 6681 dfReturns 6682 .done(function (response) { 6683 6684 if (globalwpw.settings.obj.df_api_version == "v2") { 6685 response = $.parseJSON(response); 6686 } 6687 if (wpwKits.responseIsOk(response)) { 6688 var userIntent = wpwKits.getIntentName(response); 6689 if (userIntent == "start") { 6690 globalwpw.wildCard = 0; 6691 var serviceOffer = wpwKits.randomMsg( 6692 globalwpw.settings.obj.wildcard_msg 6693 ); 6694 if ( 6695 globalwpw.settings.obj.qcld_disable_start_menu != 6696 "1" 6697 ) { 6698 wpwMsg.double_nobg( 6699 serviceOffer, 6700 globalwpw.wildcards 6701 ); 6702 } 6703 } else if (userIntent == "welcome") { 6704 var messages = wpwKits.getFulfillmentText(response); 6705 wpwTree.df_reply(response); 6706 } else if (userIntent == "help") { 6707 $(globalwpw.settings.messageWrapper).html( 6708 localStorage.getItem("wpwHitory") 6709 ); 6710 //Showing help message 6711 setTimeout(function () { 6712 wpwKits.scrollTo(); 6713 var helpWelcome = wpwKits.randomMsg(
6714 globalwpw.settings.obj.help_welcome 6715 ); 6716 var helpMsg = wpwKits.randomMsg( 6717 globalwpw.settings.obj.help_msg 6718 ); 6719 wpwMsg.double(helpWelcome, helpMsg); 6720 //dialogflow 6721 if ( 6722 globalwpw.settings.obj.ai_df_enable == 1 && 6723 globalwpw.df_status_lock == 0 6724 ) { 6725 globalwpw.wildCard = 0; 6726 globalwpw.ai_step = 1; 6727 localStorage.setItem( 6728 "wildCard", 6729 globalwpw.wildCard 6730 ); 6731 localStorage.setItem("aiStep", globalwpw.ai_step); 6732 } 6733 }, globalwpw.settings.preLoadingTime); 6734 } else if (userIntent == "reset") { 6735 var restWarning = wpwKits.render( 6736 globalwpw.settings.obj.reset 6737 ); 6738 var confirmBtn = 6739 '<span class="qcld-chatbot-reset-btn" reset-data="yes" >' + 6740 wpwKits.render(globalwpw.settings.obj.yes) + 6741 "</span> <span> " + 6742 wpwKits.render(globalwpw.settings.obj.or) + 6743 ' </span><span class="qcld-chatbot-reset-btn" reset-data="no">' + 6744 wpwKits.render(globalwpw.settings.obj.no) + 6745 "</span>"; 6746 wpwMsg.double_nobg(restWarning, confirmBtn); 6747 } else if (userIntent == "phone") { 6748 if ( 6749 typeof globalwpw.hasNameCookie == "undefined" || 6750 globalwpw.hasNameCookie == "" 6751 ) { 6752 var shopperName = wpwKits.render( 6753 globalwpw.settings.obj.shopper_demo_name 6754 ); 6755 } else { 6756 var shopperName = globalwpw.hasNameCookie; 6757 } 6758 var askEmail = wpwKits.randomMsg( 6759 globalwpw.settings.obj.asking_phone 6760 ); 6761 wpwMsg.single(askEmail); 6762 //Now updating the support part as . 6763 globalwpw.supportStep = "phone"; 6764 globalwpw.wildCard = 1; 6765 //keeping value in localstorage 6766 localStorage.setItem("wildCard", globalwpw.wildCard); 6767 localStorage.setItem( 6768 "supportStep", 6769 globalwpw.supportStep 6770 ); 6771 } else if (userIntent == "email") { 6772 if ( 6773 typeof globalwpw.hasNameCookie == "undefined" || 6774 globalwpw.hasNameCookie == "" 6775 ) { 6776 var shopperName = wpwKits.render( 6777 globalwpw.settings.obj.shopper_demo_name 6778 ); 6779 } else { 6780 var shopperName = globalwpw.hasNameCookie; 6781 } 6782 var askEmail = wpwKits.randomMsg( 6783 globalwpw.settings.obj.asking_email 6784 ); 6785 wpwMsg.single(askEmail); 6786 //Now updating the support part as . 6787 globalwpw.supportStep = "email"; 6788 globalwpw.wildCard = 1; 6789 //keeping value in localstorage 6790 localStorage.setItem("wildCard", globalwpw.wildCard); 6791 localStorage.setItem( 6792 "supportStep",
6793 globalwpw.supportStep 6794 ); 6795 } else if ( 6796 userIntent == 6797 wpwKits.render(globalwpw.settings.obj.site_search) 6798 ) { 6799 var parameters = wpwKits.getParameters(response); 6800 6801 if ( 6802 typeof parameters.products !== "undefined" && 6803 parameters.products != "" 6804 ) { 6805 var searchQuery = parameters.products; 6806 globalwpw.wildCard = 1; 6807 globalwpw.productStep = "search"; 6808 wpwAction.bot(searchQuery); 6809 //keeping value in localstorage 6810 localStorage.setItem( 6811 "wildCard", 6812 globalwpw.wildCard 6813 ); 6814 localStorage.setItem( 6815 "productStep", 6816 globalwpw.productStep 6817 ); 6818 6819 //Now updating the support part as . 6820 } else { 6821 if ( 6822 typeof globalwpw.hasNameCookie == "undefined" || 6823 globalwpw.hasNameCookie == "" 6824 ) { 6825 var shopperName = wpwKits.render( 6826 globalwpw.settings.obj.shopper_demo_name 6827 ); 6828 } else { 6829 var shopperName = globalwpw.hasNameCookie; 6830 } 6831 var askEmail = 6832 "Pleae enter your keyword for searching"; 6833 wpwMsg.single(askEmail); 6834 //Now updating the support part as . 6835 globalwpw.supportStep = "search"; 6836 globalwpw.wildCard = 1; 6837 //keeping value in localstorage 6838 localStorage.setItem( 6839 "wildCard", 6840 globalwpw.wildCard 6841 ); 6842 localStorage.setItem( 6843 "supportStep", 6844 globalwpw.supportStep 6845 ); 6846 } 6847 } else if (userIntent == "get name") { 6848 var given_name = 6849 wpwKits.getParameters(response).given_name; 6850 var last_name = 6851 wpwKits.getParameters(response).last_name; 6852 var fullname = given_name + " " + last_name; 6853 6854 $.cookie("shopper", fullname, { expires: 365 }); 6855 localStorage.setItem("shopper", fullname); 6856 globalwpw.hasNameCookie = fullname; 6857 //Greeting with name and suggesting the wildcard. 6858 var NameGreeting = 6859 wpwKits.randomMsg(globalwpw.settings.obj.i_am) + 6860 " <strong>" + 6861 wpwKits.render(globalwpw.settings.obj.agent) + 6862 "</strong>! " + 6863 wpwKits.randomMsg( 6864 globalwpw.settings.obj.name_greeting 6865 ); 6866 var serviceOffer = wpwKits.randomMsg( 6867 globalwpw.settings.obj.wildcard_msg 6868 ); 6869 //After completing two steps messaging showing wildcards. 6870 6871 if ( 6872 globalwpw.settings.obj.qcld_disable_start_menu != 6873 "1" && 6874 typeof globalwpw.wildcards != "undefined" &&
6875 globalwpw.wildcards != "" && 6876 globalwpw.settings.obj 6877 .qcld_disable_beginning_startmenu != "1" 6878 ) { 6879 wpwMsg.triple_nobg( 6880 NameGreeting, 6881 serviceOffer, 6882 globalwpw.wildcards 6883 ); 6884 } else { 6885 wpwMsg.single(NameGreeting); 6886 } 6887 globalwpw.ai_step = 1; 6888 globalwpw.wildCard = 0; 6889 localStorage.setItem("wildCard", globalwpw.wildCard); 6890 localStorage.setItem("aiStep", globalwpw.ai_step); 6891 } else if (userIntent == "faq") { 6892 globalwpw.wildCard = 1; 6893 globalwpw.supportStep = "welcome"; 6894 wpwAction.bot("from wildcard support"); 6895 //keeping value in localstorage 6896 } else if (userIntent == "email subscription") { 6897 globalwpw.wildCard = 3; 6898 globalwpw.subscriptionStep = "welcome"; 6899 wpwTree.subscription(msg); 6900 } else if ( 6901 userIntent == "product" && 6902 globalwpw.settings.obj.disable_product_search != 1 6903 ) { 6904 var parameters = wpwKits.getParameters(response); 6905 6906 if ( 6907 typeof parameters.products !== "undefined" && 6908 parameters.products != "" 6909 ) { 6910 var searchQuery = parameters.products; 6911 globalwpw.wildCard = 20; 6912 globalwpw.productStep = "search"; 6913 wpwAction.bot(searchQuery); 6914 //keeping value in localstorage 6915 localStorage.setItem( 6916 "wildCard", 6917 globalwpw.wildCard 6918 ); 6919 localStorage.setItem( 6920 "productStep", 6921 globalwpw.productStep 6922 ); 6923 } else { 6924 var searchQuery = wpwKits.queryText(response); 6925 globalwpw.wildCard = 20; 6926 globalwpw.productStep = "search"; 6927 wpwAction.bot(searchQuery); 6928 //keeping value in localstorage 6929 localStorage.setItem( 6930 "wildCard", 6931 globalwpw.wildCard 6932 ); 6933 localStorage.setItem( 6934 "productStep", 6935 globalwpw.productStep 6936 ); 6937 } 6938 } else if ( 6939 userIntent == "catalog" && 6940 globalwpw.settings.obj.disable_catalog != 1 6941 ) { 6942 wpwAction.bot( 6943 (wpwKits 6944 .render(globalwpw.settings.obj.sys_key_catalog) || '') 6945 .toLowerCase() 6946 ); 6947 } else if ( 6948 userIntent == "featured" && 6949 globalwpw.settings.obj.disable_featured_product != 1 6950 ) { 6951 globalwpw.wildCard = 20; 6952 globalwpw.productStep = "featured"; 6953 wpwAction.bot("from wildcard product"); 6954 //keeping value in localstorage 6955 localStorage.setItem("wildCard", globalwpw.wildCard); 6956 localStorage.setItem( 6957 "productStep",
6958 globalwpw.productStep 6959 ); 6960 } else if ( 6961 userIntent == "sale" && 6962 globalwpw.settings.obj.disable_sale_product !== 1 6963 ) { 6964 globalwpw.wildCard = 20; 6965 globalwpw.productStep = "sale"; 6966 wpwAction.bot("from wildcard product"); 6967 //keeping value in localstorage 6968 localStorage.setItem("wildCard", globalwpw.wildCard); 6969 localStorage.setItem( 6970 "productStep", 6971 globalwpw.productStep 6972 ); 6973 } else if ( 6974 userIntent == "order" && 6975 globalwpw.settings.obj.disable_order_status != 1 6976 ) { 6977 globalwpw.wildCard = 21; 6978 globalwpw.orderStep = "welcome"; 6979 wpwAction.bot("from wildcard order"); 6980 //keeping value in localstorage 6981 localStorage.setItem("wildCard", globalwpw.wildCard); 6982 localStorage.setItem( 6983 "orderStep", 6984 globalwpw.orderStep 6985 ); 6986 } else if (userIntent == "Default Fallback Intent") { 6987 if (globalwpw.settings.obj.qcbot_enable_str == "1") { 6988 var data = { 6989 action: "wpbo_search_response", 6990 name: globalwpw.hasNameCookie, 6991 keyword: msg, 6992 language: globalwpw.settings.obj.language, 6993 }; 6994 if ( 6995 $( 6996 globalwpw.settings.messageLastChild + 6997 " .wp-chatbot-comment-loader" 6998 ).length == 0 6999 ) { 7000 7001 $(globalwpw.settings.messageContainer).append( 7002 wpwKits.botPreloader() 7003 ); 7004 } 7005 wpwKits.ajax(data).done(function (respond) { 7006 var json = $.parseJSON(respond); 7007 if (json.status == "success") { 7008 wpwTree.strHandler(msg, json); 7009 } else { 7010 if ( 7011 msg != "" && 7012 globalwpw.settings.obj.disable_sitesearch == 7013 "" && 7014 globalwpw.settings.obj 7015 .qc_site_search_priority != "1" 7016 ) { 7017 var openai_msg = msg; 7018 msg = wpwKits.filterStopWords(msg); 7019 var data = { 7020 action: "wpbo_search_site", 7021 name: globalwpw.hasNameCookie, 7022 keyword: msg, 7023 language: globalwpw.settings.obj.language, 7024 }; 7025 7026 if ( 7027 $( 7028 globalwpw.settings.messageLastChild + 7029 " .wp-chatbot-comment-loader" 7030 ).length == 0 7031 ) { 7032 $( 7033 globalwpw.settings.messageContainer 7034 ).append(wpwKits.botPreloader()); 7035 } 7036 7037 wpwKits.ajax(data).done(function (res) { 7038 var json = $.parseJSON(res); 7039 if (json.status == "success") { 7040 $( 7041 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 7042 )
7043 .parent(".wp-chatbot-paragraph") 7044 .hide(); 7045 $('span[data-wildcart="back"]').remove(); 7046 7047 wpwMsg.single_nobg(json.html); 7048 wpwTree.start_menu_settings(); 7049 setTimeout(() => { 7050 $(".wpb-search-result a") 7051 .first()[0] 7052 .scrollIntoView(); 7053 }, 600); 7054 } else if ( 7055 wp_chatbot_obj.ollama_enabled == "1" || 7056 wp_chatbot_obj.openrouter_enabled == 7057 "1" || 7058 wp_chatbot_obj.open_ai_enable == "1" || 7059 wp_chatbot_obj.mistral_enabled == "1" || 7060 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 7061 wp_chatbot_obj.grok_enabled == "1" || 7062 globalwpw.settings.obj.tvlyai_enabled == 7063 "1" 7064 ) { 7065 wpwMsg.open_ai_message_callback( 7066 openai_msg 7067 ); 7068 } else { 7069 var data = { 7070 action: "wpbo_failed_response", 7071 name: globalwpw.hasNameCookie, 7072 keyword: msg, 7073 }; 7074 7075 wpwKits.ajax(data).done(function (res) { 7076 // 7077 if ( 7078 globalwpw.counter == 7079 globalwpw.settings.obj 7080 .no_result_attempt_count || 7081 globalwpw.settings.obj 7082 .no_result_attempt_count == 0 7083 ) { 7084 wpwMsg.single( 7085 wpwKits.randomMsg(json.html) 7086 ); 7087 wpwTree.start_menu_settings(); 7088 globalwpw.counter = 0; 7089 } else { 7090 globalwpw.counter++; 7091 wpwTree.df_reply(response); 7092 } 7093 }); 7094 } 7095 7096 globalwpw.wildCard = 0; 7097 }); 7098 } else if ( 7099 wp_chatbot_obj.ollama_enabled == "1" || 7100 wp_chatbot_obj.openrouter_enabled == "1" || 7101 wp_chatbot_obj.open_ai_enable == "1" || 7102 wp_chatbot_obj.grok_enabled == "1" || 7103 wp_chatbot_obj.mistral_enabled == "1" || 7104 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 7105 globalwpw.settings.obj.tvlyai_enabled == "1" 7106 ) { 7107 wpwMsg.open_ai_message_callback(openai_msg); 7108 } else if ( 7109 msg != "" && 7110 globalwpw.settings.obj.is_woowbot == 1 7111 ) {
7112 globalwpw.wildCard = 20; 7113 globalwpw.productStep = "search"; 7114 wpwAction.bot(msg); 7115 //keeping value in localstorage 7116 localStorage.setItem( 7117 "wildCard", 7118 globalwpw.wildCard 7119 ); 7120 localStorage.setItem( 7121 "productStep", 7122 globalwpw.productStep 7123 ); 7124 } else { 7125 if ( 7126 globalwpw.counter == 7127 globalwpw.settings.obj 7128 .no_result_attempt_count || 7129 globalwpw.settings.obj 7130 .no_result_attempt_count == 0 7131 ) { 7132 wpwTree.df_reply(response); 7133 if ( 7134 globalwpw.settings.obj 7135 .disable_repeatative != 1 7136 ) { 7137 if ( 7138 wpwKits.render( 7139 globalwpw.settings.obj 7140 .no_result_attempt_message 7141 ) != "" 7142 ) { 7143 setTimeout(function () { 7144 wpwMsg.single( 7145 wpwKits.render( 7146 globalwpw.settings.obj 7147 .no_result_attempt_message 7148 ) 7149 ); 7150 }, globalwpw.settings.preLoadingTime); 7151 } else { 7152 7153 } 7154 } else { 7155 setTimeout(function () { 7156 if ( 7157 globalwpw.settings.obj 7158 .qcld_disable_repited_startmenu != 7159 "1" 7160 ) { 7161 wpwMsg.single_nobg( 7162 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 7163 wpwKits.randomMsg( 7164 globalwpw.settings.obj 7165 .back_to_start 7166 ) + 7167 "</span>" 7168 ); 7169 } 7170 }, globalwpw.settings.preLoadingTime * 2); 7171 } 7172 globalwpw.counter = 0; 7173 } else { 7174 globalwpw.counter++; 7175 wpwTree.df_reply(response); 7176 } 7177 } 7178 } 7179 }); 7180 } else { 7181 if ( 7182 msg != "" && 7183 globalwpw.settings.obj.disable_sitesearch == "" && 7184 globalwpw.settings.obj.qc_site_search_priority != 7185 "1" 7186 ) {
7187 var openai_msg = msg; 7188 msg = wpwKits.filterStopWords(msg); 7189 var data = { 7190 action: "wpbo_search_site", 7191 name: globalwpw.hasNameCookie, 7192 keyword: msg, 7193 language: globalwpw.settings.obj.language, 7194 }; 7195 7196 if ( 7197 $( 7198 globalwpw.settings.messageLastChild + 7199 " .wp-chatbot-comment-loader" 7200 ).length == 0 7201 ) { 7202 $(globalwpw.settings.messageContainer).append( 7203 wpwKits.botPreloader() 7204 ); 7205 } 7206 7207 wpwKits.ajax(data).done(function (res) { 7208 var json = $.parseJSON(res); 7209 if (json.status == "success") { 7210 $( 7211 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 7212 ) 7213 .parent(".wp-chatbot-paragraph") 7214 .hide(); 7215 $('span[data-wildcart="back"]').remove(); 7216 7217 wpwMsg.single_nobg(json.html); 7218 setTimeout(function () { 7219 if ( 7220 globalwpw.settings.obj 7221 .qcld_disable_repited_startmenu != "1" 7222 ) { 7223 wpwMsg.single_nobg( 7224 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 7225 wpwKits.randomMsg( 7226 globalwpw.settings.obj.back_to_start 7227 ) + 7228 "</span>" 7229 ); 7230 } 7231 }, globalwpw.settings.preLoadingTime); 7232 setTimeout(() => { 7233 $(".wpb-search-result a") 7234 .first()[0] 7235 .scrollIntoView(); 7236 }, 600); 7237 } else if ( 7238 wp_chatbot_obj.ollama_enabled == "1" || 7239 wp_chatbot_obj.openrouter_enabled == "1" || 7240 wp_chatbot_obj.open_ai_enable == "1" || 7241 wp_chatbot_obj.grok_enabled == "1" || 7242 wp_chatbot_obj.mistral_enabled == "1" || 7243 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 7244 globalwpw.settings.obj.tvlyai_enabled == "1" 7245 ) { 7246 wpwMsg.open_ai_message_callback(openai_msg); 7247 } else { 7248 var data = { 7249 action: "wpbo_failed_response", 7250 name: globalwpw.hasNameCookie, 7251 keyword: msg, 7252 }; 7253 wpwKits.ajax(data).done(function (res) { 7254 // 7255 if ( 7256 globalwpw.counter == 7257 globalwpw.settings.obj 7258 .no_result_attempt_count || 7259 globalwpw.settings.obj 7260 .no_result_attempt_count == 0 7261 ) { 7262 wpwMsg.single( 7263 wpwKits.randomMsg(json.html) 7264 ); 7265 if (
7266 globalwpw.settings.obj 7267 .disable_repeatative != 1 7268 ) { 7269 if ( 7270 wpwKits.render( 7271 globalwpw.settings.obj 7272 .no_result_attempt_message 7273 ) != "" 7274 ) { 7275 setTimeout(function () { 7276 wpwMsg.single( 7277 wpwKits.render( 7278 globalwpw.settings.obj 7279 .no_result_attempt_message 7280 ) 7281 ); 7282 }, globalwpw.settings.preLoadingTime); 7283 } else { 7284 setTimeout(function () { 7285 var serviceOffer = 7286 wpwKits.randomMsg( 7287 globalwpw.settings.obj 7288 .support_option_again 7289 ); 7290 if ( 7291 globalwpw.settings.obj 7292 .qcld_disable_start_menu != "1" 7293 ) { 7294 if ( 7295 globalwpw.settings.obj 7296 .qcld_disable_repited_startmenu != 7297 "1" 7298 ) { 7299 if ( 7300 typeof globalwpw.wildcards != 7301 "undefined" && 7302 globalwpw.wildcards != "" 7303 ) { 7304 wpwMsg.double_nobg( 7305 serviceOffer, 7306 globalwpw.wildcards 7307 ); 7308 } else { 7309 wpwMsg.single(serviceOffer); 7310 } 7311 } else if ( 7312 globalwpw.settings.obj 7313 .qcld_disable_repited_startmenu != 7314 "1" 7315 ) { 7316 wpwMsg.single_nobg( 7317 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 7318 wpwKits.randomMsg( 7319 globalwpw.settings.obj 7320 .back_to_start 7321 ) + 7322 "</span>" 7323 ); 7324 } 7325 } 7326 }, globalwpw.settings.preLoadingTime); 7327 } 7328 } else { 7329 setTimeout(function () { 7330 if (
7331 globalwpw.settings.obj 7332 .qcld_disable_repited_startmenu != 7333 "1" 7334 ) { 7335 wpwMsg.single_nobg( 7336 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 7337 wpwKits.randomMsg( 7338 globalwpw.settings.obj 7339 .back_to_start 7340 ) + 7341 "</span>" 7342 ); 7343 } 7344 }, globalwpw.settings.preLoadingTime * 7345 2); 7346 } 7347 globalwpw.counter = 0; 7348 } else { 7349 globalwpw.counter++; 7350 wpwTree.df_reply(response); 7351 } 7352 }); 7353 } 7354 7355 globalwpw.wildCard = 0; 7356 }); 7357 } else if ( 7358 wp_chatbot_obj.ollama_enabled == "1" || 7359 wp_chatbot_obj.openrouter_enabled == "1" || 7360 wp_chatbot_obj.open_ai_enable == "1" || 7361 wp_chatbot_obj.grok_enabled == "1" || 7362 wp_chatbot_obj.mistral_enabled == "1" || 7363 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 7364 globalwpw.settings.obj.tvlyai_enabled == "1" 7365 ) { 7366 wpwMsg.open_ai_message_callback(openai_msg); 7367 } else if ( 7368 msg != "" && 7369 globalwpw.settings.obj.is_woowbot == 1 7370 ) { 7371 globalwpw.wildCard = 20; 7372 globalwpw.productStep = "search"; 7373 wpwAction.bot(msg); 7374 //keeping value in localstorage 7375 localStorage.setItem( 7376 "wildCard", 7377 globalwpw.wildCard 7378 ); 7379 localStorage.setItem( 7380 "productStep", 7381 globalwpw.productStep 7382 ); 7383 } else { 7384 if ( 7385 globalwpw.counter == 7386 globalwpw.settings.obj 7387 .no_result_attempt_count || 7388 globalwpw.settings.obj 7389 .no_result_attempt_count == 0 7390 ) { 7391 wpwTree.df_reply(response); 7392 wpwTree.start_menu_settings(); 7393 globalwpw.counter = 0; 7394 } else { 7395 globalwpw.counter++; 7396 wpwTree.df_reply(response); 7397 } 7398 } 7399 } 7400 } else if (wpwKits.getScore(response) != 0) { 7401 // checking is reponsing from dialogflow. 7402 7403 var sTalkAction = wpwKits.getAction(response); 7404 7405 if ( 7406 sTalkAction != "" && 7407 sTalkAction.indexOf("smalltalk") != -1 7408 ) { 7409 var sMgs = wpwKits.getFulfillmentText(response); 7410 wpwMsg.single(sMgs); 7411 } else { 7412 var messages = wpwKits.getFulfillmentText(response); 7413 7414 if ( 7415 userIntent.indexOf(
7416 globalwpw.settings.obj.tag_search_intent 7417 ) > -1 && 7418 wpwKits.isActionComplete(response) && 7419 wpwKits.isConversationEnd(response) 7420 ) { 7421 var tags = []; 7422 $.each( 7423 response.queryResult.parameters, 7424 function (index, value) { 7425 if (value != "") { 7426 tags.push(value); 7427 } 7428 } 7429 ); 7430 7431 if (tags.length > 0) { 7432 var data = { 7433 action: 7434 "qcld_wb_chatbot_search_product_by_tag", 7435 name: globalwpw.hasNameCookie, 7436 tags: tags.join(","), 7437 }; 7438 7439 if ( 7440 $( 7441 globalwpw.settings.messageLastChild + 7442 " .wp-chatbot-comment-loader" 7443 ).length == 0 7444 ) { 7445 $(globalwpw.settings.messageContainer).append( 7446 wpwKits.botPreloader() 7447 ); 7448 } 7449 wpwKits.ajax(data).done(function (presdata) { 7450 if (presdata.product_num == 0) { 7451 var productFail = 7452 wpwKits.randomMsg( 7453 globalwpw.settings.obj.product_fail 7454 ) + 7455 " <strong>" + 7456 tags.join(",") + 7457 "</strong>!"; 7458 7459 wpwMsg.single(productFail); 7460 } else { 7461 var productSucces = 7462 wpwKits.randomMsg( 7463 globalwpw.settings.obj.product_success 7464 ) + 7465 " <strong>" + 7466 tags.join(",") + 7467 "</strong>!"; 7468 wpwMsg.double_nobg( 7469 productSucces, 7470 presdata.html 7471 ); 7472 } 7473 }); 7474 } else { 7475 wpwTree.df_reply(response); 7476 } 7477 } else { 7478 wpwTree.df_reply(response); 7479 } 7480 7481 var emailSent = false; 7482 var emailIntent = ""; 7483 $.each( 7484 globalwpw.settings.obj.custom_intent, 7485 function (index, value) { 7486 if (userIntent.indexOf(value) > -1) { 7487 emailIntent = value; 7488 } 7489 } 7490 ); 7491 7492 if ( 7493 emailIntent != "" && 7494 globalwpw.settings.obj.custom_intent_email[ 7495 globalwpw.settings.obj.custom_intent.indexOf( 7496 emailIntent 7497 ) 7498 ] == "1" 7499 ) { 7500 emailSent = true; 7501 } 7502 7503 if (emailSent == true) {
7504 globalwpw.emailContent.push({ 7505 user: wpwKits.queryText(response), 7506 bot: wpwTree.df_reply2(response), 7507 }); 7508 } 7509 7510 if ( 7511 wpwKits.isActionComplete(response) && 7512 wpwKits.isConversationEnd(response) && 7513 emailSent == true 7514 ) { 7515 var email = ""; 7516 if ( 7517 localStorage.getItem("shopperemail") !== null 7518 ) { 7519 email = localStorage.getItem("shopperemail"); 7520 } 7521 var data = { 7522 action: "qcld_wb_chatbot_send_query", 7523 name: globalwpw.hasNameCookie, 7524 email: email, 7525 data: globalwpw.emailContent, 7526 }; 7527 7528 wpwKits.ajax(data).done(function (resdata) { 7529 var json = $.parseJSON(resdata); 7530 if (json.status == "success") { 7531 var sucMsg = json.message; 7532 7533 setTimeout(function () { 7534 wpwMsg.single(sucMsg); 7535 globalwpw.wildCard = 0; 7536 var orPhoneSuggest = ""; 7537 setTimeout(function () { 7538 if ( 7539 globalwpw.settings.obj.call_sup != 1 7540 ) { 7541 orPhoneSuggest = 7542 '<span class="qcld-chatbot-suggest-phone" >' + 7543 wpwKits.render( 7544 globalwpw.settings.obj.support_phone 7545 ) + 7546 "</span>"; 7547 } 7548 var orEmailSuggest = 7549 '<span class="qcld-chatbot-suggest-email">' + 7550 wpwKits.randomMsg( 7551 globalwpw.settings.obj.support_email 7552 ) + 7553 "</span>"; 7554 if ( 7555 globalwpw.settings.obj 7556 .disable_repeatative != 1 7557 ) { 7558 wpwKits.suggestEmail( 7559 orPhoneSuggest + orEmailSuggest 7560 ); 7561 } else { 7562 setTimeout(function () { 7563 if ( 7564 globalwpw.settings.obj 7565 .qcld_disable_repited_startmenu != 7566 "1" 7567 ) { 7568 wpwMsg.single_nobg( 7569 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 7570 wpwKits.randomMsg( 7571 globalwpw.settings.obj 7572 .back_to_start 7573 ) + 7574 "</span>" 7575 ); 7576 } 7577 }
7577, globalwpw.settings.preLoadingTime * 7578 2); 7579 } 7580 }, globalwpw.settings.wildcardsShowTime); 7581 }, parseInt( 7582 globalwpw.settings.preLoadingTime 7583 ) * 2); 7584 } else { 7585 var failMsg = json.message; 7586 setTimeout(function () { 7587 wpwMsg.single(failMsg); 7588 globalwpw.wildCard = 0; 7589 var orPhoneSuggest = ""; 7590 setTimeout(function () { 7591 if ( 7592 globalwpw.settings.obj.call_sup != 1 7593 ) { 7594 orPhoneSuggest = 7595 '<span class="qcld-chatbot-suggest-phone" >' + 7596 wpwKits.render( 7597 globalwpw.settings.obj.support_phone 7598 ) + 7599 "</span>"; 7600 } 7601 var orEmailSuggest = 7602 '<span class="qcld-chatbot-suggest-email">' + 7603 wpwKits.randomMsg( 7604 globalwpw.settings.obj.support_email 7605 ) + 7606 "</span>"; 7607 if ( 7608 globalwpw.settings.obj 7609 .disable_repeatative != 1 7610 ) { 7611 wpwKits.suggestEmail( 7612 orPhoneSuggest + orEmailSuggest 7613 ); 7614 } else { 7615 setTimeout(function () { 7616 if ( 7617 globalwpw.settings.obj 7618 .qcld_disable_repited_startmenu != 7619 "1" 7620 ) { 7621 wpwMsg.single_nobg( 7622 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 7623 wpwKits.randomMsg( 7624 globalwpw.settings.obj 7625 .back_to_start 7626 ) + 7627 "</span>" 7628 ); 7629 } 7630 }, globalwpw.settings.preLoadingTime * 7631 2); 7632 } 7633 }, globalwpw.settings.preLoadingTime); 7634 }, parseInt( 7635 globalwpw.settings.preLoadingTime 7636 ) * 2); 7637 } 7638 }); 7639 globalwpw.emailContent = []; 7640 } 7641 } 7642 setTimeout(function () { 7643 wpwTree.start_menu_settings(); 7644 }, globalwpw.settings.preLoadingTime); 7645 } else { 7646 var dfDefaultMsg = wpwKits.render( 7647 globalwpw.settings.obj.df_defualt_reply 7648 ); 7649 wpwMsg.double_nobg(dfDefaultMsg, globalwpw.wildcards); 7650 } 7651 } else { 7652 //if bad request or limit cross then 7653 //globalwpw.df_status_lock=0; 7654 var dfDefaultMsg = wpwKits.render(
7655 globalwpw.settings.obj.df_defualt_reply 7656 ); 7657 wpwMsg.double_nobg(dfDefaultMsg, globalwpw.wildcards); 7658 } 7659 }) 7660 .fail(function (error) { 7661 var data = { 7662 action: "wpbo_search_response", 7663 name: globalwpw.hasNameCookie, 7664 keyword: msg, 7665 language: globalwpw.settings.obj.language, 7666 }; 7667 if ( 7668 $( 7669 globalwpw.settings.messageLastChild + 7670 " .wp-chatbot-comment-loader" 7671 ).length == 0 7672 ) { 7673 7674 $(globalwpw.settings.messageContainer).append( 7675 wpwKits.botPreloader() 7676 ); 7677 } 7678 wpwKits.ajax(data).done(function (response) { 7679 var json = $.parseJSON(response); 7680 if (json.status == "success") { 7681 wpwTree.strHandler(msg, json); 7682 } else { 7683 var dfDefaultMsg = wpwKits.render( 7684 globalwpw.settings.obj.df_defualt_reply 7685 ); 7686 wpwMsg.double_nobg(dfDefaultMsg, globalwpw.wildcards); 7687 } 7688 }); 7689 }); 7690 } else { 7691 if (globalwpw.settings.obj.qcbot_enable_str == "1") { 7692 var data = { 7693 action: "wpbo_search_response", 7694 name: globalwpw.hasNameCookie, 7695 keyword: msg, 7696 language: globalwpw.settings.obj.language, 7697 }; 7698 if ( 7699 $( 7700 globalwpw.settings.messageLastChild + 7701 " .wp-chatbot-comment-loader" 7702 ).length == 0 7703 ) { 7704 7705 $(globalwpw.settings.messageContainer).append( 7706 wpwKits.botPreloader() 7707 ); 7708 } 7709 wpwKits.ajax(data).done(function (response) { 7710 var json = $.parseJSON(response); 7711 if (json.status == "success") { 7712 wpwTree.strHandler(msg, json); 7713 } 7714 }); 7715 } 7716 } 7717 globalwpw.wildCard = 0; 7718 }); 7719 } else { 7720 if ( 7721 wp_chatbot_obj.ollama_enabled == "1" || 7722 wp_chatbot_obj.openrouter_enabled == "1" || 7723 wp_chatbot_obj.open_ai_enable == "1" || 7724 wp_chatbot_obj.grok_enabled == "1" || 7725 wp_chatbot_obj.mistral_enabled == "1" || 7726 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 7727 globalwpw.settings.obj.tvlyai_enabled == "1" 7728 ) { 7729 wpwMsg.open_ai_message_callback(openai_msg); 7730 } 7731 globalwpw.wildCard = 0; 7732 wpwMsg.single( 7733 wpwKits.randomMsg(globalwpw.settings.obj.empty_filter_msg) 7734 ); 7735 7736 wpwTree.start_menu_settings(); 7737 } 7738 } 7739 if (globalwpw.settings.obj.qc_site_search_priority != "1") { 7740 if ( 7741 globalwpw.settings.obj.ai_df_enable == 1 && 7742 globalwpw.df_status_lock == 0 7743 ) { 7744 var dfReturns = wpwKits.dailogAIOAction(msg); 7745 if ( 7746 $( 7747 globalwpw.settings.messageLastChild + 7748 " .wp-chatbot-comment-loader" 7749 ).length == 0 7750 ) { 7751 7752 $(globalwpw.settings.messageContainer).append( 7753 wpwKits.botPreloader() 7754 ); 7755 } 7756 dfReturns.done(function (response) { 7757 7758 if (globalwpw.settings.obj.df_api_version == "v2") { 7759 response = $.parseJSON(response); 7760 } 7761 if (wpwKits.responseIsOk(response)) { 7762 var userIntent = wpwKits.getIntentName(response); 7763 7764 if (userIntent == "start") {
7765 globalwpw.wildCard = 0; 7766 var serviceOffer = wpwKits.randomMsg( 7767 globalwpw.settings.obj.wildcard_msg 7768 ); 7769 if (globalwpw.settings.obj.qcld_disable_start_menu != "1") { 7770 wpwMsg.double_nobg(serviceOffer, globalwpw.wildcards); 7771 } 7772 } else if (userIntent == "welcome") { 7773 var messages = wpwKits.getFulfillmentText(response); 7774 7775 wpwTree.df_reply(response); 7776 } else if (userIntent == "help") { 7777 $(globalwpw.settings.messageWrapper).html( 7778 localStorage.getItem("wpwHitory") 7779 ); 7780 7781 //Showing help message 7782 setTimeout(function () { 7783 wpwKits.scrollTo(); 7784 var helpWelcome = wpwKits.randomMsg( 7785 globalwpw.settings.obj.help_welcome 7786 ); 7787 var helpMsg = wpwKits.randomMsg( 7788 globalwpw.settings.obj.help_msg 7789 ); 7790 wpwMsg.double(helpWelcome, helpMsg); 7791 //dialogflow 7792 if ( 7793 globalwpw.settings.obj.ai_df_enable == 1 && 7794 globalwpw.df_status_lock == 0 7795 ) { 7796 globalwpw.wildCard = 0; 7797 globalwpw.ai_step = 1; 7798 localStorage.setItem("wildCard", globalwpw.wildCard); 7799 localStorage.setItem("aiStep", globalwpw.ai_step); 7800 } 7801 }, globalwpw.settings.preLoadingTime); 7802 } else if (userIntent == "reset") { 7803 var restWarning = wpwKits.render( 7804 globalwpw.settings.obj.reset 7805 ); 7806 var confirmBtn = 7807 '<span class="qcld-chatbot-reset-btn" reset-data="yes" >' + 7808 wpwKits.render(globalwpw.settings.obj.yes) + 7809 "</span> <span> " + 7810 wpwKits.render(globalwpw.settings.obj.or) + 7811 ' </span><span class="qcld-chatbot-reset-btn" reset-data="no">' + 7812 wpwKits.render(globalwpw.settings.obj.no) + 7813 "</span>"; 7814 wpwMsg.double_nobg(restWarning, confirmBtn); 7815 } else if (userIntent == "phone") { 7816 if ( 7817 typeof globalwpw.hasNameCookie == "undefined" || 7818 globalwpw.hasNameCookie == "" 7819 ) { 7820 var shopperName = wpwKits.render( 7821 globalwpw.settings.obj.shopper_demo_name 7822 ); 7823 } else { 7824 var shopperName = globalwpw.hasNameCookie; 7825 } 7826 var askEmail = wpwKits.randomMsg( 7827 globalwpw.settings.obj.asking_phone 7828 ); 7829 wpwMsg.single(askEmail); 7830 //Now updating the support part as . 7831 globalwpw.supportStep = "phone"; 7832 globalwpw.wildCard = 1; 7833 //keeping value in localstorage 7834 localStorage.setItem("wildCard", globalwpw.wildCard); 7835 localStorage.setItem("supportStep", globalwpw.supportStep); 7836 } else if (userIntent == "email") { 7837 if ( 7838 typeof globalwpw.hasNameCookie == "undefined" || 7839 globalwpw.hasNameCookie == "" 7840 ) { 7841 var shopperName = wpwKits.render( 7842 globalwpw.settings.obj.shopper_demo_name 7843 ); 7844 } else { 7845 var shopperName = globalwpw.hasNameCookie; 7846 } 7847 var askEmail = wpwKits.randomMsg( 7848 globalwpw.settings.obj.asking_email 7849 ); 7850 wpwMsg.single(askEmail); 7851 //Now updating the support part as .
7852 globalwpw.supportStep = "email"; 7853 globalwpw.wildCard = 1; 7854 //keeping value in localstorage 7855 localStorage.setItem("wildCard", globalwpw.wildCard); 7856 localStorage.setItem("supportStep", globalwpw.supportStep); 7857 } else if ( 7858 userIntent == 7859 wpwKits.render(globalwpw.settings.obj.site_search) 7860 ) { 7861 var parameters = wpwKits.getParameters(response); 7862 7863 if ( 7864 typeof parameters.products !== "undefined" && 7865 parameters.products != "" 7866 ) { 7867 var searchQuery = parameters.products; 7868 globalwpw.wildCard = 1; 7869 globalwpw.productStep = "search"; 7870 wpwAction.bot(searchQuery); 7871 //keeping value in localstorage 7872 localStorage.setItem("wildCard", globalwpw.wildCard); 7873 localStorage.setItem( 7874 "productStep", 7875 globalwpw.productStep 7876 ); 7877 7878 //Now updating the support part as . 7879 } else { 7880 if ( 7881 typeof globalwpw.hasNameCookie == "undefined" || 7882 globalwpw.hasNameCookie == "" 7883 ) { 7884 var shopperName = wpwKits.render( 7885 globalwpw.settings.obj.shopper_demo_name 7886 ); 7887 } else { 7888 var shopperName = globalwpw.hasNameCookie; 7889 } 7890 var askEmail = "Pleae enter your keyword for searching"; 7891 wpwMsg.single(askEmail); 7892 //Now updating the support part as . 7893 globalwpw.supportStep = "search"; 7894 globalwpw.wildCard = 1; 7895 //keeping value in localstorage 7896 localStorage.setItem("wildCard", globalwpw.wildCard); 7897 localStorage.setItem( 7898 "supportStep", 7899 globalwpw.supportStep 7900 ); 7901 } 7902 } else if (userIntent == "get name") { 7903 var given_name = wpwKits.getParameters(response).given_name; 7904 var last_name = wpwKits.getParameters(response).last_name; 7905 var fullname = given_name + " " + last_name; 7906 $.cookie("shopper", fullname, { expires: 365 }); 7907 localStorage.setItem("shopper", fullname); 7908 globalwpw.hasNameCookie = fullname; 7909 //Greeting with name and suggesting the wildcard. 7910 7911 var NameGreeting = 7912 wpwKits.randomMsg(globalwpw.settings.obj.i_am) + 7913 " <strong>" + 7914 wpwKits.render(globalwpw.settings.obj.agent) + 7915 "</strong>! " + 7916 wpwKits.randomMsg(globalwpw.settings.obj.name_greeting); 7917 var serviceOffer = wpwKits.randomMsg( 7918 globalwpw.settings.obj.wildcard_msg 7919 ); 7920 //After completing two steps messaging showing wildcards. 7921 if ( 7922 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 7923 typeof globalwpw.wildcards != "undefined" && 7924 globalwpw.wildcards != "" 7925 ) { 7926 wpwMsg.triple_nobg( 7927 NameGreeting, 7928 serviceOffer, 7929 globalwpw.wildcards 7930 ); 7931 } else { 7932 wpwMsg.single(NameGreeting); 7933 } 7934 7935 globalwpw.ai_step = 1; 7936 globalwpw.wildCard = 0; 7937 localStorage.setItem("wildCard", globalwpw.wildCard); 7938 localStorage.setItem("aiStep", globalwpw.ai_step); 7939 } else if (userIntent == "faq") {
7940 globalwpw.wildCard = 1; 7941 globalwpw.supportStep = "welcome"; 7942 wpwAction.bot("from wildcard support"); 7943 //keeping value in localstorage 7944 } else if (userIntent == "email subscription") { 7945 globalwpw.wildCard = 3; 7946 globalwpw.subscriptionStep = "welcome"; 7947 wpwTree.subscription(msg); 7948 } else if ( 7949 userIntent == "product" && 7950 globalwpw.settings.obj.disable_product_search != 1 7951 ) { 7952 var parameters = wpwKits.getParameters(response); 7953 7954 if ( 7955 typeof parameters.products !== "undefined" && 7956 parameters.products != "" 7957 ) { 7958 var searchQuery = parameters.products; 7959 globalwpw.wildCard = 20; 7960 globalwpw.productStep = "search"; 7961 wpwAction.bot(searchQuery); 7962 //keeping value in localstorage 7963 localStorage.setItem("wildCard", globalwpw.wildCard); 7964 localStorage.setItem( 7965 "productStep", 7966 globalwpw.productStep 7967 ); 7968 } else { 7969 var searchQuery = wpwKits.queryText(response); 7970 globalwpw.wildCard = 20; 7971 globalwpw.productStep = "search"; 7972 wpwAction.bot(searchQuery); 7973 //keeping value in localstorage 7974 localStorage.setItem("wildCard", globalwpw.wildCard); 7975 localStorage.setItem( 7976 "productStep", 7977 globalwpw.productStep 7978 ); 7979 } 7980 } else if ( 7981 userIntent == "catalog" && 7982 globalwpw.settings.obj.disable_catalog != 1 7983 ) { 7984 wpwAction.bot( 7985 (wpwKits 7986 .render(globalwpw.settings.obj.sys_key_catalog) || '') 7987 .toLowerCase() 7988 ); 7989 } else if ( 7990 userIntent == "featured" && 7991 globalwpw.settings.obj.disable_featured_product != 1 7992 ) { 7993 globalwpw.wildCard = 20; 7994 globalwpw.productStep = "featured"; 7995 wpwAction.bot("from wildcard product"); 7996 //keeping value in localstorage 7997 localStorage.setItem("wildCard", globalwpw.wildCard); 7998 localStorage.setItem("productStep", globalwpw.productStep); 7999 } else if ( 8000 userIntent == "sale" && 8001 globalwpw.settings.obj.disable_sale_product !== 1 8002 ) { 8003 globalwpw.wildCard = 20; 8004 globalwpw.productStep = "sale"; 8005 wpwAction.bot("from wildcard product"); 8006 //keeping value in localstorage 8007 localStorage.setItem("wildCard", globalwpw.wildCard); 8008 localStorage.setItem("productStep", globalwpw.productStep); 8009 } else if ( 8010 userIntent == "order" && 8011 globalwpw.settings.obj.disable_order_status != 1 8012 ) { 8013 globalwpw.wildCard = 21; 8014 globalwpw.orderStep = "welcome"; 8015 wpwAction.bot("from wildcard order"); 8016 //keeping value in localstorage 8017 localStorage.setItem("wildCard", globalwpw.wildCard); 8018 localStorage.setItem("orderStep", globalwpw.orderStep); 8019 } else if (userIntent == "Default Fallback Intent") { 8020 if (globalwpw.settings.obj.qcbot_enable_str == "1") { 8021 var data = { 8022 action: "wpbo_search_response", 8023 name: globalwpw.hasNameCookie, 8024 keyword: msg, 8025 language: globalwpw.settings.obj.language, 8026 }; 8027 if ( 8028 $(
8029 globalwpw.settings.messageLastChild + 8030 " .wp-chatbot-comment-loader" 8031 ).length == 0 8032 ) { 8033 8034 $(globalwpw.settings.messageContainer).append( 8035 wpwKits.botPreloader() 8036 ); 8037 } 8038 wpwKits.ajax(data).done(function (respond) { 8039 var json = $.parseJSON(respond); 8040 if (json.status == "success") { 8041 wpwTree.strHandler(msg, json); 8042 } else { 8043 8044 if ( 8045 msg != "" && 8046 globalwpw.settings.obj.disable_sitesearch == "" && 8047 globalwpw.settings.obj.qc_site_search_priority != 8048 "1" 8049 ) { 8050 var openai_msg = msg; 8051 msg = wpwKits.filterStopWords(msg); 8052 var data = { 8053 action: "wpbo_search_site", 8054 name: globalwpw.hasNameCookie, 8055 keyword: msg, 8056 language: globalwpw.settings.obj.language, 8057 }; 8058 8059 if ( 8060 $( 8061 globalwpw.settings.messageLastChild + 8062 " .wp-chatbot-comment-loader" 8063 ).length == 0 8064 ) { 8065 8066 $(globalwpw.settings.messageContainer).append( 8067 wpwKits.botPreloader() 8068 ); 8069 } 8070 8071 wpwKits.ajax(data).done(function (res) { 8072 var json = $.parseJSON(res); 8073 if (json.status == "success") { 8074 $('span[data-wildcart="back"]').remove(); 8075 8076 wpwMsg.single_nobg(json.html); 8077 setTimeout(function () { 8078 if ( 8079 globalwpw.settings.obj 8080 .qcld_disable_repited_startmenu != "1" 8081 ) { 8082 wpwMsg.single_nobg( 8083 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 8084 wpwKits.randomMsg( 8085 globalwpw.settings.obj.back_to_start 8086 ) + 8087 "</span>" 8088 ); 8089 } 8090 setTimeout(() => { 8091 $(".wpb-search-result a") 8092 .first()[0] 8093 .scrollIntoView(); 8094 }, 600); 8095 }, globalwpw.settings.preLoadingTime); 8096 } else if ( 8097 wp_chatbot_obj.ollama_enabled == "1" || 8098 wp_chatbot_obj.openrouter_enabled == "1" || 8099 wp_chatbot_obj.open_ai_enable == "1" || 8100 wp_chatbot_obj.grok_enabled == "1" || 8101 wp_chatbot_obj.mistral_enabled == "1" || 8102 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 8103 globalwpw.settings.obj.tvlyai_enabled == "1" 8104 ) { 8105 wpwMsg.open_ai_message_callback(openai_msg); 8106 } else { 8107 var data = { 8108 action: "wpbo_failed_response", 8109 name: globalwpw.hasNameCookie, 8110 keyword: msg, 8111 }; 8112 wpwKits.ajax(data).done(function (res) { 8113 // 8114 if (
8115 globalwpw.counter == 8116 globalwpw.settings.obj 8117 .no_result_attempt_count || 8118 globalwpw.settings.obj 8119 .no_result_attempt_count == 0 8120 ) { 8121 wpwMsg.single(wpwKits.randomMsg(json.html)); 8122 if ( 8123 globalwpw.settings.obj 8124 .disable_repeatative != 1 8125 ) { 8126 if ( 8127 wpwKits.render( 8128 globalwpw.settings.obj 8129 .no_result_attempt_message 8130 ) != "" 8131 ) { 8132 setTimeout(function () { 8133 wpwMsg.single( 8134 wpwKits.render( 8135 globalwpw.settings.obj 8136 .no_result_attempt_message 8137 ) 8138 ); 8139 }, globalwpw.settings.preLoadingTime); 8140 } else { 8141 setTimeout(function () { 8142 wpwTree.start_menu_settings(); 8143 }, globalwpw.settings.preLoadingTime); 8144 } 8145 } 8146 globalwpw.counter = 0; 8147 } else { 8148 globalwpw.counter++; 8149 wpwTree.df_reply(response); 8150 } 8151 }); 8152 } 8153 8154 globalwpw.wildCard = 0; 8155 }); 8156 } else if ( 8157 wp_chatbot_obj.ollama_enabled == "1" || 8158 wp_chatbot_obj.openrouter_enabled == "1" || 8159 wp_chatbot_obj.open_ai_enable == "1" || 8160 wp_chatbot_obj.grok_enabled == "1" || 8161 wp_chatbot_obj.mistral_enabled == "1" || 8162 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 8163 globalwpw.settings.obj.tvlyai_enabled == "1" 8164 ) { 8165 wpwMsg.open_ai_message_callback(openai_msg); 8166 } else if ( 8167 msg != "" && 8168 globalwpw.settings.obj.is_woowbot == 1 8169 ) { 8170 globalwpw.wildCard = 20; 8171 globalwpw.productStep = "search"; 8172 wpwAction.bot(msg); 8173 //keeping value in localstorage 8174 localStorage.setItem( 8175 "wildCard", 8176 globalwpw.wildCard 8177 ); 8178 localStorage.setItem( 8179 "productStep", 8180 globalwpw.productStep 8181 ); 8182 } else { 8183 8184 if ( 8185 globalwpw.counter < 8186 globalwpw.settings.obj 8187 .no_result_attempt_count || 8188 globalwpw.settings.obj.no_result_attempt_count == 8189 0 8190 ) { 8191 wpwTree.df_reply(response); 8192 wpwTree.start_menu_settings();
8193 globalwpw.counter = 0; 8194 } else { 8195 globalwpw.counter++; 8196 wpwTree.df_reply(response); 8197 } 8198 } 8199 } 8200 }); 8201 } else { 8202 if ( 8203 msg != "" && 8204 globalwpw.settings.obj.disable_sitesearch == "" && 8205 globalwpw.settings.obj.qc_site_search_priority != "1" 8206 ) { 8207 var openai_msg = msg; 8208 msg = wpwKits.filterStopWords(msg); 8209 var data = { 8210 action: "wpbo_search_site", 8211 name: globalwpw.hasNameCookie, 8212 keyword: msg, 8213 language: globalwpw.settings.obj.language, 8214 }; 8215 8216 if ( 8217 $( 8218 globalwpw.settings.messageLastChild + 8219 " .wp-chatbot-comment-loader" 8220 ).length == 0 8221 ) { 8222 $(globalwpw.settings.messageContainer).append( 8223 wpwKits.botPreloader() 8224 ); 8225 } 8226 8227 wpwKits.ajax(data).done(function (res) { 8228 var json = $.parseJSON(res); 8229 if (json.status == "success") { 8230 $('span[data-wildcart="back"]').remove(); 8231 8232 wpwMsg.single_nobg(json.html); 8233 setTimeout(function () { 8234 if ( 8235 globalwpw.settings.obj 8236 .qcld_disable_repited_startmenu != "1" 8237 ) { 8238 wpwMsg.single_nobg( 8239 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 8240 wpwKits.randomMsg( 8241 globalwpw.settings.obj.back_to_start 8242 ) + 8243 "</span>" 8244 ); 8245 } 8246 setTimeout(() => { 8247 $(".wpb-search-result a") 8248 .first()[0] 8249 .scrollIntoView(); 8250 }, 600); 8251 }, globalwpw.settings.preLoadingTime); 8252 } else if ( 8253 wp_chatbot_obj.ollama_enabled == "1" || 8254 wp_chatbot_obj.openrouter_enabled == "1" || 8255 wp_chatbot_obj.open_ai_enable == "1" || 8256 wp_chatbot_obj.grok_enabled == "1" || 8257 wp_chatbot_obj.mistral_enabled == "1" || 8258 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 8259 globalwpw.settings.obj.tvlyai_enabled == "1" 8260 ) { 8261 wpwMsg.open_ai_message_callback(openai_msg); 8262 } else { 8263 var data = { 8264 action: "wpbo_failed_response", 8265 name: globalwpw.hasNameCookie, 8266 keyword: msg, 8267 }; 8268 wpwKits.ajax(data).done(function (res) { 8269 // 8270 if ( 8271 globalwpw.counter == 8272 globalwpw.settings.obj 8273 .no_result_attempt_count || 8274 globalwpw.settings.obj 8275 .no_result_attempt_count == 0 8276 ) { 8277 wpwMsg.single(wpwKits.randomMsg(json.html)); 8278 wpwTree.start_menu_settings();
8279 globalwpw.counter = 0; 8280 } else { 8281 globalwpw.counter++; 8282 wpwTree.df_reply(response); 8283 } 8284 }); 8285 } 8286 8287 globalwpw.wildCard = 0; 8288 }); 8289 } else if ( 8290 wp_chatbot_obj.ollama_enabled == "1" || 8291 wp_chatbot_obj.openrouter_enabled == "1" || 8292 wp_chatbot_obj.open_ai_enable == "1" || 8293 wp_chatbot_obj.grok_enabled == "1" || 8294 wp_chatbot_obj.mistral_enabled == "1" || 8295 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 8296 globalwpw.settings.obj.tvlyai_enabled == "1" 8297 ) { 8298 wpwMsg.open_ai_message_callback(openai_msg); 8299 } else if ( 8300 msg != "" && 8301 globalwpw.settings.obj.is_woowbot == 1 8302 ) { 8303 globalwpw.wildCard = 20; 8304 globalwpw.productStep = "search"; 8305 wpwAction.bot(msg); 8306 //keeping value in localstorage 8307 localStorage.setItem("wildCard", globalwpw.wildCard); 8308 localStorage.setItem( 8309 "productStep", 8310 globalwpw.productStep 8311 ); 8312 } else { 8313 8314 if ( 8315 globalwpw.counter < globalwpw.settings.obj.no_result_attempt_count || 8316 globalwpw.settings.obj.no_result_attempt_count == 0 8317 ) { 8318 wpwTree.df_reply(response); 8319 wpwTree.start_menu_settings(); 8320 globalwpw.counter = 0; 8321 } else { 8322 globalwpw.counter++; 8323 wpwTree.df_reply(response); 8324 } 8325 } 8326 } 8327 } else if (wpwKits.getScore(response) != 0) { 8328 // checking is reponsing from dialogflow. 8329 8330 var sTalkAction = wpwKits.getAction(response); 8331 8332 if ( 8333 sTalkAction != "" && 8334 sTalkAction.indexOf("smalltalk") != -1 8335 ) { 8336 var sMgs = wpwKits.getFulfillmentText(response); 8337 wpwMsg.single(sMgs); 8338 8339 } else { 8340 var messages = wpwKits.getFulfillmentText(response); 8341 8342 if ( 8343 typeof response.queryResult.knowledgeAnswers != 8344 "undefined" && 8345 response.queryResult.knowledgeAnswers.answers != "" 8346 ) { 8347 wpwMsg.single( 8348 response.alternativeQueryResults[0].fulfillmentText 8349 ); 8350 } else if ( 8351 userIntent.indexOf( 8352 globalwpw.settings.obj.tag_search_intent 8353 ) > -1 && 8354 wpwKits.isActionComplete(response) && 8355 wpwKits.isConversationEnd(response) 8356 ) { 8357 var tags = []; 8358 $.each( 8359 response.queryResult.parameters, 8360 function (index, value) { 8361 if (value != "") { 8362 tags.push(value); 8363 } 8364 } 8365 ); 8366 8367 if (tags.length > 0) { 8368 var data = { 8369 action: "qcld_wb_chatbot_search_product_by_tag", 8370 name: globalwpw.hasNameCookie, 8371 tags: tags.join(","), 8372 }; 8373 8374 if ( 8375 $(
8376 globalwpw.settings.messageLastChild + 8377 " .wp-chatbot-comment-loader" 8378 ).length == 0 8379 ) { 8380 $(globalwpw.settings.messageContainer).append( 8381 wpwKits.botPreloader() 8382 ); 8383 } 8384 wpwKits.ajax(data).done(function (presdata) { 8385 if (presdata.product_num == 0) { 8386 var productFail = 8387 wpwKits.randomMsg( 8388 globalwpw.settings.obj.product_fail 8389 ) + 8390 " <strong>" + 8391 tags.join(",") + 8392 "</strong>!"; 8393 8394 wpwMsg.single(productFail); 8395 } else { 8396 var productSucces = 8397 wpwKits.randomMsg( 8398 globalwpw.settings.obj.product_success 8399 ) + 8400 " <strong>" + 8401 tags.join(",") + 8402 "</strong>!"; 8403 wpwMsg.double_nobg(productSucces, presdata.html); 8404 } 8405 }); 8406 } else { 8407 wpwTree.df_reply(response); 8408 } 8409 } else { 8410 wpwTree.df_reply(response); 8411 } 8412 8413 var emailSent = false; 8414 var emailIntent = ""; 8415 $.each( 8416 globalwpw.settings.obj.custom_intent, 8417 function (index, value) { 8418 if (userIntent.indexOf(value) > -1) { 8419 emailIntent = value; 8420 } 8421 } 8422 ); 8423 8424 if ( 8425 emailIntent != "" && 8426 globalwpw.settings.obj.custom_intent_email[ 8427 globalwpw.settings.obj.custom_intent.indexOf( 8428 emailIntent 8429 ) 8430 ] == "1" 8431 ) { 8432 emailSent = true; 8433 } 8434 8435 if (emailSent == true) { 8436 globalwpw.emailContent.push({ 8437 user: wpwKits.queryText(response), 8438 bot: wpwTree.df_reply2(response), 8439 }); 8440 } 8441 8442 if ( 8443 wpwKits.isActionComplete(response) && 8444 wpwKits.isConversationEnd(response) && 8445 emailSent == true 8446 ) { 8447 var email = ""; 8448 if (localStorage.getItem("shopperemail") !== null) { 8449 email = localStorage.getItem("shopperemail"); 8450 } 8451 var data = { 8452 action: "qcld_wb_chatbot_send_query", 8453 name: globalwpw.hasNameCookie, 8454 email: email, 8455 data: globalwpw.emailContent, 8456 }; 8457 8458 wpwKits.ajax(data).done(function (resdata) { 8459 var json = $.parseJSON(resdata); 8460 if (json.status == "success") { 8461 var sucMsg = json.message; 8462 8463 setTimeout(function () { 8464 wpwMsg.single(sucMsg); 8465 globalwpw.wildCard = 0; 8466 var orPhoneSuggest = ""; 8467 setTimeout(function () { 8468 if (globalwpw.settings.obj.call_sup != 1) { 8469 orPhoneSuggest = 8470 '<span class="qcld-chatbot-suggest-phone" >' + 8471 wpwKits.render(
8472 globalwpw.settings.obj.support_phone 8473 ) + 8474 "</span>"; 8475 } 8476 var orEmailSuggest = 8477 '<span class="qcld-chatbot-suggest-email">' + 8478 wpwKits.randomMsg( 8479 globalwpw.settings.obj.support_email 8480 ) + 8481 "</span>"; 8482 wpwTree.start_menu_settings(); 8483 }, globalwpw.settings.wildcardsShowTime); 8484 }, parseInt(globalwpw.settings.preLoadingTime) * 2); 8485 } else { 8486 var failMsg = json.message; 8487 setTimeout(function () { 8488 wpwMsg.single(failMsg); 8489 globalwpw.wildCard = 0; 8490 var orPhoneSuggest = ""; 8491 setTimeout(function () { 8492 if (globalwpw.settings.obj.call_sup != 1) { 8493 orPhoneSuggest = 8494 '<span class="qcld-chatbot-suggest-phone" >' + 8495 wpwKits.render( 8496 globalwpw.settings.obj.support_phone 8497 ) + 8498 "</span>"; 8499 } 8500 var orEmailSuggest = 8501 '<span class="qcld-chatbot-suggest-email">' + 8502 wpwKits.randomMsg( 8503 globalwpw.settings.obj.support_email 8504 ) + 8505 "</span>"; 8506 wpwTree.start_menu_settings(); 8507 }, globalwpw.settings.preLoadingTime); 8508 }, parseInt(globalwpw.settings.preLoadingTime) * 2); 8509 } 8510 }); 8511 globalwpw.emailContent = []; 8512 } 8513 } 8514 setTimeout(function () { 8515 wpwTree.start_menu_settings(); 8516 }, globalwpw.settings.preLoadingTime); 8517 } else { 8518 var dfDefaultMsg = wpwKits.render( 8519 globalwpw.settings.obj.df_defualt_reply 8520 ); 8521 wpwMsg.double_nobg(dfDefaultMsg, globalwpw.wildcards); 8522 } 8523 } else { 8524 if (globalwpw.settings.obj.qcbot_enable_str == "1") { 8525 var data = { 8526 action: "wpbo_search_response", 8527 name: globalwpw.hasNameCookie, 8528 keyword: msg, 8529 language: globalwpw.settings.obj.language, 8530 }; 8531 if ( 8532 $( 8533 globalwpw.settings.messageLastChild + 8534 " .wp-chatbot-comment-loader" 8535 ).length == 0 8536 ) { 8537 8538 $(globalwpw.settings.messageContainer).append( 8539 wpwKits.botPreloader() 8540 ); 8541 } 8542 wpwKits.ajax(data).done(function (response) { 8543 var json = $.parseJSON(response); 8544 if (json.status == "success") { 8545 var all_html = []; 8546 var count_result = 0; 8547 wpwTree.strHandler(msg, json); 8548 } else { 8549 var all_html = []; 8550 var count_result = 0; 8551 //Default intents site search 8552 var openai_msg = msg; 8553 msg = wpwKits.filterStopWords(msg); 8554 var wppt_post_types =
8555 globalwpw.settings.obj.wppt_post_types; 8556 var woo_search_active = false; 8557 var post_types_array = (Array.isArray(wppt_post_types)) ? wppt_post_types : Object.values(wppt_post_types); 8558 if ( 8559 globalwpw.settings.obj.woocommerce && 8560 typeof globalwpw.settings.obj.wppt_post_types !== 8561 "undefined" 8562 ) { 8563 if ( 8564 post_types_array.indexOf( 8565 wpwKits 8566 .render(globalwpw.settings.obj.sys_key_product) 8567 .toLowerCase() 8568 ) > -1 && 8569 woo_search_active 8570 ) { 8571 woo_search_active = true; 8572 } else { 8573 woo_search_active = false; 8574 } 8575 } 8576 if ( 8577 globalwpw.settings.obj.woocommerce && 8578 woo_search_active 8579 ) { 8580 var data = { 8581 action: "qcld_wb_chatbot_keyword", 8582 keyword: msg, 8583 language: globalwpw.settings.obj.language, 8584 }; 8585 //Products by string search ajax handler. 8586 if ( 8587 $( 8588 globalwpw.settings.messageLastChild + 8589 " .wp-chatbot-comment-loader" 8590 ).length == 0 8591 ) { 8592 8593 $(globalwpw.settings.messageContainer).append( 8594 wpwKits.botPreloader() 8595 ); 8596 } 8597 wpwKits.ajax(data).done(function (response) { 8598 if (response.product_num == 0) { 8599 if ( 8600 msg != "" && 8601 globalwpw.settings.obj.disable_sitesearch == 8602 "" && 8603 globalwpw.settings.obj 8604 .qc_site_search_priority != "1" 8605 ) { 8606 var data = { 8607 action: "wpbo_search_site", 8608 name: globalwpw.hasNameCookie, 8609 keyword: msg, 8610 language: globalwpw.settings.obj.language, 8611 }; 8612 if ( 8613 $( 8614 globalwpw.settings.messageLastChild + 8615 " .wp-chatbot-comment-loader" 8616 ).length == 0 8617 ) { 8618 $(globalwpw.settings.messageContainer).append( 8619 wpwKits.botPreloader() 8620 ); 8621 } 8622 wpwKits.ajax(data).done(function (response) { 8623 var json = $.parseJSON(response); 8624 if (json.status == "success") { 8625 $( 8626 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 8627 ) 8628 .parent(".wp-chatbot-paragraph") 8629 .hide(); 8630 $('span[data-wildcart="back"]').remove(); 8631 wpwMsg.single_nobg(json.html); 8632 setTimeout(() => { 8633 $(".wpb-search-result a") 8634 .first()[0] 8635 .scrollIntoView(); 8636 }, 600); 8637 } else if ( 8638 wp_chatbot_obj.ollama_enabled == "1" || 8639 wp_chatbot_obj.openrouter_enabled == "1" || 8640 wp_chatbot_obj.open_ai_enable == "1" || 8641 wp_chatbot_obj.grok_enabled == "1" || 8642 wp_chatbot_obj.mistral_enabled == "1" || 8643 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
8644 globalwpw.settings.obj.tvlyai_enabled == "1" 8645 ) { 8646 wpwMsg.open_ai_message_callback(openai_msg); 8647 } else { 8648 var data = { 8649 action: "wpbo_failed_response", 8650 name: globalwpw.hasNameCookie, 8651 keyword: msg, 8652 }; 8653 wpwKits.ajax(data).done(function (res) { 8654 // 8655 if ( 8656 globalwpw.counter == 8657 globalwpw.settings.obj 8658 .no_result_attempt_count || 8659 globalwpw.settings.obj 8660 .no_result_attempt_count == 0 8661 ) { 8662 wpwMsg.single( 8663 wpwKits.randomMsg(json.html) 8664 ); 8665 8666 if ( 8667 wpwKits.render( 8668 globalwpw.settings.obj 8669 .no_result_attempt_message 8670 ) != "" 8671 ) { 8672 setTimeout(function () { 8673 wpwMsg.single( 8674 wpwKits.render( 8675 globalwpw.settings.obj 8676 .no_result_attempt_message 8677 ) 8678 ); 8679 }, globalwpw.settings.preLoadingTime); 8680 } else { 8681 wpwTree.start_menu_settings(); 8682 } 8683 8684 globalwpw.counter = 0; 8685 } else { 8686 globalwpw.counter++; 8687 wpwMsg.single( 8688 wpwKits.randomMsg(json.html) 8689 ); 8690 } 8691 }); 8692 } 8693 globalwpw.wildCard = 0; 8694 }); 8695 } else if ( 8696 wp_chatbot_obj.ollama_enabled == "1" || 8697 wp_chatbot_obj.openrouter_enabled == "1" || 8698 wp_chatbot_obj.open_ai_enable == "1" || 8699 wp_chatbot_obj.grok_enabled == "1" || 8700 wp_chatbot_obj.mistral_enabled == "1" || 8701 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 8702 globalwpw.settings.obj.tvlyai_enabled == "1" 8703 ) { 8704 wpwMsg.open_ai_message_callback(openai_msg); 8705 } else { 8706 globalwpw.wildCard = 0; 8707 wpwMsg.single( 8708 wpwKits.randomMsg( 8709 globalwpw.settings.obj.empty_filter_msg 8710 ) 8711 ); 8712 8713 wpwTree.start_menu_settings(); 8714 } 8715 } else { 8716 var productSucces = 8717 wpwKits.randomMsg(
8718 globalwpw.settings.obj.product_success 8719 ) + 8720 " <strong>" + 8721 msg + 8722 "</strong>!"; 8723 wpwMsg.double_nobg(productSucces, response.html); 8724 8725 if (response.per_page >= response.product_num) { 8726 setTimeout(function () { 8727 var searchAgain = wpwKits.randomMsg( 8728 globalwpw.settings.obj.product_infinite 8729 ); 8730 wpwMsg.double_nobg( 8731 searchAgain, 8732 '<span class="qcld-chatbot-wildcard" data-wildcart="back">' + 8733 wpwKits.randomMsg( 8734 globalwpw.settings.obj.back_to_start 8735 ) + 8736 "</span>" 8737 ); 8738 //keeping value in localstorage 8739 globalwpw.wildCard = 0; 8740 globalwpw.productStep = "search"; 8741 localStorage.setItem( 8742 "productStep", 8743 globalwpw.productStep 8744 ); 8745 }, globalwpw.settings.wildcardsShowTime); 8746 } 8747 } 8748 }); 8749 } else { 8750 if ( 8751 msg != "" && 8752 globalwpw.settings.obj.disable_sitesearch != "1" 8753 ) { 8754 var data = { 8755 action: "wpbo_search_site", 8756 name: globalwpw.hasNameCookie, 8757 keyword: msg, 8758 language: globalwpw.settings.obj.language, 8759 }; 8760 if ( 8761 $( 8762 globalwpw.settings.messageLastChild + 8763 " .wp-chatbot-comment-loader" 8764 ).length == 0 8765 ) { 8766 $(globalwpw.settings.messageContainer).append( 8767 wpwKits.botPreloader() 8768 ); 8769 } 8770 wpwKits.ajax(data).done(function (response) { 8771 var json = $.parseJSON(response); 8772 8773 if (json.status == "success") { 8774 $( 8775 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 8776 ) 8777 .parent(".wp-chatbot-paragraph") 8778 .hide(); 8779 $('span[data-wildcart="back"]').remove(); 8780 wpwMsg.single_nobg(json.html); 8781 // setTimeout(() => { 8782 // $(".wpb-search-result a").first()[0].scrollIntoView(); 8783 // }, 600); 8784 } else if ( 8785 globalwpw.settings.obj.open_ai_enable == "1" || 8786 globalwpw.settings.obj.tvlyai_enabled == "1" 8787 ) { 8788 wpwMsg.open_ai_message_callback(openai_msg); 8789 } else { 8790 var data = { 8791 action: "wpbo_failed_response", 8792 name: globalwpw.hasNameCookie, 8793 keyword: msg, 8794 }; 8795 wpwKits.ajax(data).done(function (res) { 8796 if (
8797 globalwpw.counter == 8798 globalwpw.settings.obj 8799 .no_result_attempt_count || 8800 globalwpw.settings.obj 8801 .no_result_attempt_count == 0 8802 ) { 8803 if ( 8804 wpwKits.render( 8805 globalwpw.settings.obj 8806 .no_result_attempt_message 8807 ) != "" 8808 ) { 8809 setTimeout(function () { 8810 wpwMsg.single( 8811 wpwKits.render( 8812 globalwpw.settings.obj 8813 .no_result_attempt_message 8814 ) 8815 ); 8816 }, globalwpw.settings.preLoadingTime); 8817 wpwTree.start_menu_settings(); 8818 } else { 8819 wpwTree.start_menu_settings(); 8820 } 8821 8822 globalwpw.counter = 0; 8823 } else { 8824 globalwpw.counter++; 8825 8826 if ( 8827 globalwpw.settings.obj 8828 .qcld_disable_repited_startmenu == "1" 8829 ) { 8830 wpwMsg.double_nobg( 8831 wpwKits.randomMsg( 8832 globalwpw.settings.obj.no_result 8833 ), 8834 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 8835 wpwKits.randomMsg( 8836 globalwpw.settings.obj.back_to_start 8837 ) + 8838 "</span>" 8839 ); 8840 } else { 8841 wpwMsg.double_nobg( 8842 wpwKits.randomMsg( 8843 globalwpw.settings.obj.no_result 8844 ), 8845 globalwpw.wildcards 8846 ); 8847 // wpwMsg.single_nobg('<span class="qcld-chatbot-wildcard" data-wildcart="back">' + + '</span>'); 8848 } 8849 } 8850 }); 8851 } 8852 globalwpw.wildCard = 0; 8853 }); 8854 } else if ( 8855 wp_chatbot_obj.ollama_enabled == "1" || 8856 wp_chatbot_obj.openrouter_enabled == "1" || 8857 wp_chatbot_obj.open_ai_enable == "1" || 8858 wp_chatbot_obj.grok_enabled == "1" || 8859 wp_chatbot_obj.mistral_enabled == "1" || 8860 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 8861 globalwpw.settings.obj.tvlyai_enabled == "1" 8862 ) { 8863 wpwMsg.open_ai_message_callback(openai_msg); 8864 } else { 8865 wpwTree.start_menu_settings(); 8866 } 8867 } 8868 } 8869 }); 8870 } else { 8871 var all_html = []; 8872 var count_result = 0; 8873 //Default intents site search
8874 var openai_msg = msg; 8875 msg = wpwKits.filterStopWords(msg); 8876 var wppt_post_types = 8877 globalwpw.settings.obj.wppt_post_types; 8878 var woo_search_active = false; 8879 var post_types_array = (Array.isArray(wppt_post_types)) ? wppt_post_types : Object.values(wppt_post_types); 8880 if ( 8881 globalwpw.settings.obj.woocommerce && 8882 typeof globalwpw.settings.obj.wppt_post_types !== 8883 "undefined" 8884 ) { 8885 if ( 8886 post_types_array.indexOf( 8887 wpwKits 8888 .render(globalwpw.settings.obj.sys_key_product) 8889 .toLowerCase() 8890 ) > -1 && 8891 woo_search_active 8892 ) { 8893 woo_search_active = true; 8894 } else { 8895 woo_search_active = false; 8896 } 8897 } 8898 if ( 8899 globalwpw.settings.obj.woocommerce && 8900 woo_search_active 8901 ) { 8902 var data = { 8903 action: "qcld_wb_chatbot_keyword", 8904 keyword: msg, 8905 language: globalwpw.settings.obj.language, 8906 }; 8907 //Products by string search ajax handler. 8908 if ( 8909 $( 8910 globalwpw.settings.messageLastChild + 8911 " .wp-chatbot-comment-loader" 8912 ).length == 0 8913 ) { 8914 $(globalwpw.settings.messageContainer).append( 8915 wpwKits.botPreloader() 8916 ); 8917 } 8918 wpwKits.ajax(data).done(function (response) { 8919 if (response.product_num == 0) { 8920 if ( 8921 msg != "" && 8922 globalwpw.settings.obj.disable_sitesearch == "" && 8923 globalwpw.settings.obj.qc_site_search_priority != 8924 "1" 8925 ) { 8926 var data = { 8927 action: "wpbo_search_site", 8928 name: globalwpw.hasNameCookie, 8929 keyword: msg, 8930 language: globalwpw.settings.obj.language, 8931 }; 8932 if ( 8933 $( 8934 globalwpw.settings.messageLastChild + 8935 " .wp-chatbot-comment-loader" 8936 ).length == 0 8937 ) { 8938 $(globalwpw.settings.messageContainer).append( 8939 wpwKits.botPreloader() 8940 ); 8941 } 8942 wpwKits.ajax(data).done(function (response) { 8943 var json = $.parseJSON(response); 8944 if (json.status == "success") { 8945 $( 8946 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 8947 ) 8948 .parent(".wp-chatbot-paragraph") 8949 .hide(); 8950 $('span[data-wildcart="back"]').remove(); 8951 wpwMsg.single_nobg(json.html); 8952 setTimeout(() => { 8953 $(".wpb-search-result a") 8954 .first()[0] 8955 .scrollIntoView(); 8956 }, 600); 8957 } else if ( 8958 wp_chatbot_obj.ollama_enabled == "1" || 8959 wp_chatbot_obj.openrouter_enabled == "1" || 8960 wp_chatbot_obj.open_ai_enable == "1" || 8961 wp_chatbot_obj.grok_enabled == "1" || 8962 wp_chatbot_obj.mistral_enabled == "1" || 8963 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
8964 globalwpw.settings.obj.tvlyai_enabled == "1" 8965 ) { 8966 wpwMsg.open_ai_message_callback(openai_msg); 8967 } else { 8968 var data = { 8969 action: "wpbo_failed_response", 8970 name: globalwpw.hasNameCookie, 8971 keyword: msg, 8972 }; 8973 wpwKits.ajax(data).done(function (res) { 8974 // 8975 if ( 8976 globalwpw.counter == 8977 globalwpw.settings.obj 8978 .no_result_attempt_count || 8979 globalwpw.settings.obj 8980 .no_result_attempt_count == 0 8981 ) { 8982 wpwMsg.single(wpwKits.randomMsg(json.html)); 8983 8984 if ( 8985 wpwKits.render( 8986 globalwpw.settings.obj 8987 .no_result_attempt_message 8988 ) != "" 8989 ) { 8990 setTimeout(function () { 8991 wpwMsg.single( 8992 wpwKits.render( 8993 globalwpw.settings.obj 8994 .no_result_attempt_message 8995 ) 8996 ); 8997 }, globalwpw.settings.preLoadingTime); 8998 } else { 8999 wpwTree.start_menu_settings(); 9000 } 9001 9002 globalwpw.counter = 0; 9003 } else { 9004 globalwpw.counter++; 9005 wpwMsg.single(wpwKits.randomMsg(json.html)); 9006 } 9007 }); 9008 } 9009 globalwpw.wildCard = 0; 9010 }); 9011 } else if ( 9012 wp_chatbot_obj.ollama_enabled == "1" || 9013 wp_chatbot_obj.openrouter_enabled == "1" || 9014 wp_chatbot_obj.open_ai_enable == "1" || 9015 wp_chatbot_obj.grok_enabled == "1" || 9016 wp_chatbot_obj.mistral_enabled == "1" || 9017 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 9018 globalwpw.settings.obj.tvlyai_enabled == "1" 9019 ) { 9020 wpwMsg.open_ai_message_callback(openai_msg); 9021 } else { 9022 globalwpw.wildCard = 0; 9023 wpwMsg.single( 9024 wpwKits.randomMsg( 9025 globalwpw.settings.obj.empty_filter_msg 9026 ) 9027 ); 9028 9029 wpwTree.start_menu_settings(); 9030 } 9031 } else { 9032 var productSucces = 9033 wpwKits.randomMsg( 9034 globalwpw.settings.obj.product_success 9035 ) + 9036 " <strong>" + 9037 msg + 9038 "</strong>!"; 9039 wpwMsg.double_nobg(productSucces, response.html); 9040 9041 if (response.per_page >= response.product_num) { 9042 setTimeout(function () { 9043 var searchAgain = wpwKits.randomMsg(
9044 globalwpw.settings.obj.product_infinite 9045 ); 9046 wpwMsg.double_nobg( 9047 searchAgain, 9048 '<span class="qcld-chatbot-wildcard" data-wildcart="back">' + 9049 wpwKits.randomMsg( 9050 globalwpw.settings.obj.back_to_start 9051 ) + 9052 "</span>" 9053 ); 9054 //keeping value in localstorage 9055 globalwpw.wildCard = 20; 9056 globalwpw.productStep = "search"; 9057 localStorage.setItem( 9058 "productStep", 9059 globalwpw.productStep 9060 ); 9061 }, globalwpw.settings.wildcardsShowTime); 9062 } 9063 } 9064 }); 9065 } else { 9066 if ( 9067 msg != "" && 9068 globalwpw.settings.obj.disable_sitesearch != "1" 9069 ) { 9070 var data = { 9071 action: "wpbo_search_site", 9072 name: globalwpw.hasNameCookie, 9073 keyword: msg, 9074 language: globalwpw.settings.obj.language, 9075 }; 9076 if ( 9077 $( 9078 globalwpw.settings.messageLastChild + 9079 " .wp-chatbot-comment-loader" 9080 ).length == 0 9081 ) { 9082 $(globalwpw.settings.messageContainer).append( 9083 wpwKits.botPreloader() 9084 ); 9085 } 9086 wpwKits.ajax(data).done(function (response) { 9087 var json = $.parseJSON(response); 9088 9089 if (json.status == "success") { 9090 $( 9091 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 9092 ) 9093 .parent(".wp-chatbot-paragraph") 9094 .hide(); 9095 $('span[data-wildcart="back"]').remove(); 9096 wpwMsg.single_nobg(json.html); 9097 // setTimeout(() => { 9098 // $(".wpb-search-result a").first()[0].scrollIntoView(); 9099 // }, 600); 9100 } else if ( 9101 globalwpw.settings.obj.open_ai_enable == "1" || 9102 globalwpw.settings.obj.tvlyai_enabled == "1" 9103 ) { 9104 wpwMsg.open_ai_message_callback(openai_msg); 9105 } else { 9106 var data = { 9107 action: "wpbo_failed_response", 9108 name: globalwpw.hasNameCookie, 9109 keyword: msg, 9110 }; 9111 wpwKits.ajax(data).done(function (res) { 9112 if ( 9113 globalwpw.counter == 9114 globalwpw.settings.obj 9115 .no_result_attempt_count || 9116 globalwpw.settings.obj 9117 .no_result_attempt_count == 0 9118 ) { 9119 if ( 9120 wpwKits.render( 9121 globalwpw.settings.obj 9122 .no_result_attempt_message 9123 ) != "" 9124 ) { 9125 setTimeout(function () { 9126 wpwMsg.single( 9127 wpwKits.render(
9128 globalwpw.settings.obj 9129 .no_result_attempt_message 9130 ) 9131 ); 9132 }, globalwpw.settings.preLoadingTime); 9133 wpwTree.start_menu_settings(); 9134 } else { 9135 wpwTree.start_menu_settings(); 9136 } 9137 setTimeout(function () { 9138 wpwMsg.single( 9139 wpwKits.randomMsg( 9140 '<span class="qcld-chatbot-wildcard" data-wildcart="back">' + 9141 wpwKits.randomMsg( 9142 globalwpw.settings.obj.back_to_start 9143 ) + 9144 "</span>" 9145 ) 9146 ); 9147 }); 9148 9149 globalwpw.counter = 0; 9150 } else { 9151 globalwpw.counter++; 9152 9153 if ( 9154 globalwpw.settings.obj 9155 .qcld_disable_repited_startmenu == "1" 9156 ) { 9157 wpwMsg.double_nobg( 9158 wpwKits.randomMsg( 9159 globalwpw.settings.obj.no_result 9160 ), 9161 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 9162 wpwKits.randomMsg( 9163 globalwpw.settings.obj.back_to_start 9164 ) + 9165 "</span>" 9166 ); 9167 } else { 9168 wpwMsg.double_nobg( 9169 wpwKits.randomMsg( 9170 globalwpw.settings.obj.no_result 9171 ), 9172 globalwpw.wildcards 9173 ); 9174 // wpwMsg.single_nobg('<span class="qcld-chatbot-wildcard" data-wildcart="back">' + + '</span>'); 9175 } 9176 } 9177 }); 9178 } 9179 globalwpw.wildCard = 0; 9180 }); 9181 } else if ( 9182 wp_chatbot_obj.ollama_enabled == "1" || 9183 wp_chatbot_obj.openrouter_enabled == "1" || 9184 wp_chatbot_obj.open_ai_enable == "1" || 9185 wp_chatbot_obj.grok_enabled == "1" || 9186 wp_chatbot_obj.mistral_enabled == "1" || 9187 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 9188 globalwpw.settings.obj.tvlyai_enabled == "1" 9189 ) { 9190 wpwMsg.open_ai_message_callback(openai_msg); 9191 } else { 9192 wpwTree.start_menu_settings(); 9193 } 9194 } 9195 } 9196 } 9197 }); 9198 } else { 9199 if (globalwpw.settings.obj.qcbot_enable_str == "1") { 9200 var data = { 9201 action: "wpbo_search_response", 9202 name: globalwpw.hasNameCookie, 9203 keyword: msg, 9204 language: globalwpw.settings.obj.language, 9205 }; 9206 if ( 9207 $( 9208 globalwpw.settings.messageLastChild + 9209 " .wp-chatbot-comment-loader" 9210 ).length == 0 9211 ) { 9212 $(globalwpw.settings.messageContainer).append( 9213 wpwKits.botPreloader() 9214 ); 9215 } 9216 wpwKits.ajax(data).done(function (response) { 9217 var json = $.parseJSON(response); 9218 if (json.status == "success") { 9219 var all_html = []; 9220 var count_result = 0; 9221 wpwTree.strHandler(msg, json); 9222 } else { 9223 var all_html = []; 9224 var count_result = 0; 9225 //Default intents site search
9226 var openai_msg = msg; 9227 msg = wpwKits.filterStopWords(msg); 9228 var wppt_post_types = 9229 globalwpw.settings.obj.wppt_post_types; 9230 var woo_search_active = false; 9231 var post_types_array = (Array.isArray(wppt_post_types)) ? wppt_post_types : Object.values(wppt_post_types); 9232 if ( 9233 globalwpw.settings.obj.woocommerce && 9234 typeof globalwpw.settings.obj.wppt_post_types !== 9235 "undefined" 9236 ) { 9237 if ( 9238 post_types_array.indexOf( 9239 wpwKits 9240 .render(globalwpw.settings.obj.sys_key_product) 9241 .toLowerCase() 9242 ) > -1 && 9243 woo_search_active 9244 ) { 9245 woo_search_active = true; 9246 } else { 9247 woo_search_active = false; 9248 } 9249 } 9250 if ( 9251 globalwpw.settings.obj.woocommerce && 9252 woo_search_active 9253 ) { 9254 var data = { 9255 action: "qcld_wb_chatbot_keyword", 9256 keyword: msg, 9257 language: globalwpw.settings.obj.language, 9258 }; 9259 //Products by string search ajax handler. 9260 if ( 9261 $( 9262 globalwpw.settings.messageLastChild + 9263 " .wp-chatbot-comment-loader" 9264 ).length == 0 9265 ) { 9266 $(globalwpw.settings.messageContainer).append( 9267 wpwKits.botPreloader() 9268 ); 9269 } 9270 wpwKits.ajax(data).done(function (response) { 9271 if (response.product_num == 0) { 9272 if ( 9273 msg != "" && 9274 globalwpw.settings.obj.disable_sitesearch == "" && 9275 globalwpw.settings.obj.qc_site_search_priority != 9276 "1" 9277 ) { 9278 var data = { 9279 action: "wpbo_search_site", 9280 name: globalwpw.hasNameCookie, 9281 keyword: msg, 9282 language: globalwpw.settings.obj.language, 9283 }; 9284 if ( 9285 $( 9286 globalwpw.settings.messageLastChild + 9287 " .wp-chatbot-comment-loader" 9288 ).length == 0 9289 ) { 9290 $(globalwpw.settings.messageContainer).append( 9291 wpwKits.botPreloader() 9292 ); 9293 } 9294 wpwKits.ajax(data).done(function (response) { 9295 var json = $.parseJSON(response); 9296 9297 if (json.status == "success") { 9298 $( 9299 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 9300 ) 9301 .parent(".wp-chatbot-paragraph") 9302 .hide(); 9303 $('span[data-wildcart="back"]').remove(); 9304 wpwMsg.single_nobg(json.html); 9305 setTimeout(() => { 9306 $(".wpb-search-result a") 9307 .first()[0] 9308 .scrollIntoView(); 9309 }, 600); 9310 } else if ( 9311 wp_chatbot_obj.ollama_enabled == "1" || 9312 wp_chatbot_obj.openrouter_enabled == "1" || 9313 wp_chatbot_obj.open_ai_enable == "1" || 9314 wp_chatbot_obj.grok_enabled == "1" || 9315 wp_chatbot_obj.mistral_enabled == "1" || 9316 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
9317 globalwpw.settings.obj.tvlyai_enabled == "1" 9318 ) { 9319 wpwMsg.open_ai_message_callback(openai_msg); 9320 } else { 9321 var data = { 9322 action: "wpbo_failed_response", 9323 name: globalwpw.hasNameCookie, 9324 keyword: msg, 9325 }; 9326 wpwKits.ajax(data).done(function (res) { 9327 // 9328 if ( 9329 globalwpw.counter == 9330 globalwpw.settings.obj 9331 .no_result_attempt_count || 9332 globalwpw.settings.obj 9333 .no_result_attempt_count == 0 9334 ) { 9335 wpwMsg.single(wpwKits.randomMsg(json.html)); 9336 9337 if ( 9338 wpwKits.render( 9339 globalwpw.settings.obj 9340 .no_result_attempt_message 9341 ) != "" 9342 ) { 9343 setTimeout(function () { 9344 wpwMsg.single( 9345 wpwKits.render( 9346 globalwpw.settings.obj 9347 .no_result_attempt_message 9348 ) 9349 ); 9350 }, globalwpw.settings.preLoadingTime); 9351 } else { 9352 wpwTree.start_menu_settings(); 9353 } 9354 9355 globalwpw.counter = 0; 9356 } else { 9357 globalwpw.counter++; 9358 wpwMsg.single(wpwKits.randomMsg(json.html)); 9359 } 9360 }); 9361 } 9362 globalwpw.wildCard = 0; 9363 }); 9364 } else if ( 9365 wp_chatbot_obj.ollama_enabled == "1" || 9366 wp_chatbot_obj.openrouter_enabled == "1" || 9367 wp_chatbot_obj.open_ai_enable == "1" || 9368 wp_chatbot_obj.grok_enabled == "1" || 9369 wp_chatbot_obj.mistral_enabled == "1" || 9370 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 9371 globalwpw.settings.obj.tvlyai_enabled == "1" 9372 ) { 9373 wpwMsg.open_ai_message_callback(openai_msg); 9374 } else { 9375 globalwpw.wildCard = 0; 9376 wpwMsg.single( 9377 wpwKits.randomMsg( 9378 globalwpw.settings.obj.empty_filter_msg 9379 ) 9380 ); 9381 9382 wpwTree.start_menu_settings(); 9383 } 9384 } else { 9385 var productSucces = 9386 wpwKits.randomMsg( 9387 globalwpw.settings.obj.product_success 9388 ) + 9389 " <strong>" + 9390 msg + 9391 "</strong>!"; 9392 wpwMsg.double_nobg(productSucces, response.html); 9393 9394 if (response.per_page >= response.product_num) { 9395 setTimeout(function () { 9396 var searchAgain = wpwKits.randomMsg(
9397 globalwpw.settings.obj.product_infinite 9398 ); 9399 wpwMsg.single( 9400 searchAgain 9401 ); 9402 wpwTree.start_menu_settings(); 9403 //keeping value in localstorage 9404 globalwpw.wildCard = 20; 9405 globalwpw.productStep = "search"; 9406 localStorage.setItem( 9407 "productStep", 9408 globalwpw.productStep 9409 ); 9410 }, globalwpw.settings.wildcardsShowTime); 9411 } 9412 } 9413 }); 9414 } else { 9415 if ( 9416 msg != "" && 9417 globalwpw.settings.obj.disable_sitesearch != "1" 9418 ) { 9419 var data = { 9420 action: "wpbo_search_site", 9421 name: globalwpw.hasNameCookie, 9422 keyword: msg, 9423 language: globalwpw.settings.obj.language, 9424 }; 9425 if ( 9426 $( 9427 globalwpw.settings.messageLastChild + 9428 " .wp-chatbot-comment-loader" 9429 ).length == 0 9430 ) { 9431 $(globalwpw.settings.messageContainer).append( 9432 wpwKits.botPreloader() 9433 ); 9434 } 9435 wpwKits.ajax(data).done(function (response) { 9436 var json = $.parseJSON(response); 9437 if (json.status == "success") { 9438 $('span[data-wildcart="back"]').remove(); 9439 $( 9440 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 9441 ) 9442 .parent(".wp-chatbot-paragraph") 9443 .hide(); 9444 wpwMsg.single_nobg(json.html); 9445 // setTimeout(() => { 9446 // $(".wpb-search-result a").first()[0].scrollIntoView(); 9447 // }, 600); 9448 } else if ( 9449 globalwpw.settings.obj.open_ai_enable == "1" || 9450 globalwpw.settings.obj.tvlyai_enabled == "1" || 9451 globalwpw.settings.obj.ollama_enabled == "1" || 9452 globalwpw.settings.obj.openrouter_enabled == "1" || 9453 globalwpw.settings.obj.mistral_enabled == "1" || 9454 globalwpw.settings.obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" 9455 ) { 9456 //new update 9457 9458 wpwMsg.open_ai_message_callback(openai_msg); 9459 } else { 9460 var data = { 9461 action: "wpbo_failed_response", 9462 name: globalwpw.hasNameCookie, 9463 keyword: msg, 9464 }; 9465 wpwKits.ajax(data).done(function (res) { 9466 if ( 9467 globalwpw.counter == 9468 globalwpw.settings.obj 9469 .no_result_attempt_count || 9470 globalwpw.settings.obj 9471 .no_result_attempt_count == 0 9472 ) { 9473 if ( 9474 wpwKits.render( 9475 globalwpw.settings.obj 9476 .no_result_attempt_message 9477 ) != "" 9478 ) { 9479 setTimeout(function () { 9480 wpwMsg.single( 9481 wpwKits.render(
9482 globalwpw.settings.obj 9483 .no_result_attempt_message 9484 ) 9485 ); 9486 }, globalwpw.settings.preLoadingTime); 9487 wpwTree.start_menu_settings(); 9488 } else { 9489 wpwTree.start_menu_settings(); 9490 } 9491 if ( 9492 globalwpw.settings.obj 9493 .qcld_disable_repited_startmenu == "1" 9494 ) { 9495 setTimeout(function () { 9496 wpwMsg.single( 9497 wpwKits.randomMsg( 9498 '<span class="qcld-chatbot-wildcard" data-wildcart="back">' + 9499 wpwKits.randomMsg( 9500 globalwpw.settings.obj.back_to_start 9501 ) + 9502 "</span>" 9503 ) 9504 ); 9505 }); 9506 globalwpw.counter = 0; 9507 } 9508 } else { 9509 globalwpw.counter++; 9510 9511 if ( 9512 globalwpw.settings.obj 9513 .qcld_disable_repited_startmenu == "1" 9514 ) { 9515 wpwMsg.double_nobg( 9516 wpwKits.randomMsg( 9517 globalwpw.settings.obj.no_result 9518 ), 9519 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 9520 wpwKits.randomMsg( 9521 globalwpw.settings.obj.back_to_start 9522 ) + 9523 "</span>" 9524 ); 9525 } else { 9526 wpwMsg.single( 9527 wpwKits.randomMsg( 9528 globalwpw.settings.obj.no_result 9529 ) 9530 ); 9531 // wpwMsg.single_nobg('<span class="qcld-chatbot-wildcard" data-wildcart="back">' + + '</span>'); 9532 } 9533 } 9534 }); 9535 } 9536 globalwpw.wildCard = 0; 9537 }); 9538 } else if ( 9539 wp_chatbot_obj.ollama_enabled == "1" || 9540 wp_chatbot_obj.openrouter_enabled == "1" || 9541 wp_chatbot_obj.open_ai_enable == "1" || 9542 wp_chatbot_obj.grok_enabled == "1" || 9543 wp_chatbot_obj.mistral_enabled == "1" || 9544 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 9545 globalwpw.settings.obj.tvlyai_enabled == "1" 9546 ) { 9547 wpwMsg.open_ai_message_callback(openai_msg); 9548 } else { 9549 wpwTree.start_menu_settings(); 9550 } 9551 } 9552 } 9553 }); 9554 } else { 9555 var all_html = []; 9556 var count_result = 0; 9557 //Default intents site search 9558 var openai_msg = msg; 9559 msg = wpwKits.filterStopWords(msg); 9560 var wppt_post_types = globalwpw.settings.obj.wppt_post_types; 9561 var woo_search_active = false; 9562 var post_types_array = (Array.isArray(wppt_post_types)) ? wppt_post_types : Object.values(wppt_post_types); 9563 if (
9564 globalwpw.settings.obj.woocommerce && 9565 typeof globalwpw.settings.obj.wppt_post_types !== "undefined" 9566 ) { 9567 var sysKeyProductRendered = wpwKits.render( 9568 globalwpw.settings.obj.sys_key_product 9569 ); 9570 if ( 9571 typeof sysKeyProductRendered !== "undefined" && 9572 sysKeyProductRendered !== null && 9573 post_types_array.indexOf( 9574 sysKeyProductRendered.toLowerCase() 9575 ) > -1 && 9576 woo_search_active 9577 ) { 9578 woo_search_active = true; 9579 } else { 9580 woo_search_active = false; 9581 } 9582 } 9583 if (globalwpw.settings.obj.woocommerce && woo_search_active) { 9584 var data = { 9585 action: "qcld_wb_chatbot_keyword", 9586 keyword: msg, 9587 language: globalwpw.settings.obj.language, 9588 }; 9589 //Products by string search ajax handler. 9590 if ( 9591 $( 9592 globalwpw.settings.messageLastChild + 9593 " .wp-chatbot-comment-loader" 9594 ).length == 0 9595 ) { 9596 $(globalwpw.settings.messageContainer).append( 9597 wpwKits.botPreloader() 9598 ); 9599 } 9600 wpwKits.ajax(data).done(function (response) { 9601 if (response.product_num == 0) { 9602 if ( 9603 msg != "" && 9604 globalwpw.settings.obj.disable_sitesearch == "" && 9605 globalwpw.settings.obj.qc_site_search_priority != "1" 9606 ) { 9607 var data = { 9608 action: "wpbo_search_site", 9609 name: globalwpw.hasNameCookie, 9610 keyword: msg, 9611 language: globalwpw.settings.obj.language, 9612 }; 9613 if ( 9614 $( 9615 globalwpw.settings.messageLastChild + 9616 " .wp-chatbot-comment-loader" 9617 ).length == 0 9618 ) { 9619 $(globalwpw.settings.messageContainer).append( 9620 wpwKits.botPreloader() 9621 ); 9622 } 9623 wpwKits.ajax(data).done(function (response) { 9624 var json = $.parseJSON(response); 9625 9626 if (json.status == "success") { 9627 $( 9628 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 9629 ) 9630 .parent(".wp-chatbot-paragraph") 9631 .hide(); 9632 $('span[data-wildcart="back"]').remove(); 9633 wpwMsg.single_nobg(json.html); 9634 setTimeout(() => { 9635 $(".wpb-search-result a") 9636 .first()[0] 9637 .scrollIntoView(); 9638 }, 600); 9639 } else if ( 9640 wp_chatbot_obj.ollama_enabled == "1" || 9641 wp_chatbot_obj.openrouter_enabled == "1" || 9642 wp_chatbot_obj.open_ai_enable == "1" || 9643 wp_chatbot_obj.grok_enabled == "1" || 9644 wp_chatbot_obj.mistral_enabled == "1" || 9645 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 9646 globalwpw.settings.obj.tvlyai_enabled == "1" 9647 ) { 9648 wpwMsg.open_ai_message_callback(openai_msg); 9649 } else { 9650 var data = { 9651 action: "wpbo_failed_response", 9652 name: globalwpw.hasNameCookie, 9653 keyword: msg, 9654 }; 9655 wpwKits.ajax(data).done(function (res) { 9656 // 9657 if (
9658 globalwpw.counter == 9659 globalwpw.settings.obj 9660 .no_result_attempt_count || 9661 globalwpw.settings.obj 9662 .no_result_attempt_count == 0 9663 ) { 9664 wpwMsg.single(wpwKits.randomMsg(json.html)); 9665 9666 if ( 9667 wpwKits.render( 9668 globalwpw.settings.obj 9669 .no_result_attempt_message 9670 ) != "" 9671 ) { 9672 setTimeout(function () { 9673 wpwMsg.single( 9674 wpwKits.render( 9675 globalwpw.settings.obj 9676 .no_result_attempt_message 9677 ) 9678 ); 9679 }, globalwpw.settings.preLoadingTime); 9680 } else { 9681 wpwTree.start_menu_settings(); 9682 } 9683 9684 globalwpw.counter = 0; 9685 } else { 9686 globalwpw.counter++; 9687 wpwMsg.single(wpwKits.randomMsg(json.html)); 9688 } 9689 }); 9690 } 9691 globalwpw.wildCard = 0; 9692 }); 9693 } else if ( 9694 wp_chatbot_obj.ollama_enabled == "1" || 9695 wp_chatbot_obj.open_ai_enable == "1" || 9696 wp_chatbot_obj.grok_enabled == "1" || 9697 wp_chatbot_obj.openrouter_enabled == "1" || 9698 wp_chatbot_obj.mistral_enabled == "1" || 9699 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 9700 globalwpw.settings.obj.tvlyai_enabled == "1" 9701 ) { 9702 wpwMsg.open_ai_message_callback(openai_msg); 9703 } else { 9704 globalwpw.wildCard = 0; 9705 wpwMsg.single( 9706 wpwKits.randomMsg( 9707 globalwpw.settings.obj.empty_filter_msg 9708 ) 9709 ); 9710 9711 wpwTree.start_menu_settings(); 9712 } 9713 } else { 9714 var productSucces = 9715 wpwKits.randomMsg( 9716 globalwpw.settings.obj.product_success 9717 ) + 9718 " <strong>" + 9719 msg + 9720 "</strong>!"; 9721 wpwMsg.double_nobg(productSucces, response.html); 9722 9723 if (response.per_page >= response.product_num) { 9724 setTimeout(function () { 9725 var searchAgain = wpwKits.randomMsg( 9726 globalwpw.settings.obj.product_infinite 9727 ); 9728 if ( 9729 globalwpw.settings.obj 9730 .qcld_disable_repited_startmenu == "1" 9731 ) { 9732 wpwMsg.single( 9733 searchAgain 9734 ); 9735 wpwTree.start_menu_settings(); 9736 } else { 9737 wpwMsg.single(searchAgain); 9738 } 9739 //keeping value in localstorage 9740 globalwpw.wildCard = 20; 9741 globalwpw.productStep = "search"; 9742 localStorage.setItem( 9743 "productStep",
9744 globalwpw.productStep 9745 ); 9746 }, globalwpw.settings.wildcardsShowTime); 9747 } 9748 } 9749 }); 9750 } else { 9751 if ( 9752 msg != "" && 9753 globalwpw.settings.obj.disable_sitesearch != "1" 9754 ) { 9755 var data = { 9756 action: "wpbo_search_site", 9757 name: globalwpw.hasNameCookie, 9758 keyword: msg, 9759 language: globalwpw.settings.obj.language, 9760 }; 9761 if ( 9762 $( 9763 globalwpw.settings.messageLastChild + 9764 " .wp-chatbot-comment-loader" 9765 ).length == 0 9766 ) { 9767 $(globalwpw.settings.messageContainer).append( 9768 wpwKits.botPreloader() 9769 ); 9770 } 9771 wpwKits.ajax(data).done(function (response) { 9772 var json = $.parseJSON(response); 9773 if (json.status == "success") { 9774 $('span[data-wildcart="back"]').remove(); 9775 $( 9776 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 9777 ) 9778 .parent(".wp-chatbot-paragraph") 9779 .hide(); 9780 wpwMsg.single_nobg(json.html); 9781 // setTimeout(() => { 9782 // $(".wpb-search-result a").first()[0].scrollIntoView(); 9783 // }, 600); 9784 } else if ( 9785 globalwpw.settings.obj.open_ai_enable == "1" || 9786 globalwpw.settings.obj.tvlyai_enabled == "1" 9787 ) { 9788 wpwMsg.open_ai_message_callback(openai_msg); 9789 } else { 9790 var data = { 9791 action: "wpbo_failed_response", 9792 name: globalwpw.hasNameCookie, 9793 keyword: msg, 9794 }; 9795 wpwKits.ajax(data).done(function (res) { 9796 9797 if ( 9798 globalwpw.counter < globalwpw.settings.obj.no_result_attempt_count || 9799 globalwpw.settings.obj.no_result_attempt_count == 0 9800 ) { 9801 if ( 9802 wpwKits.render( 9803 globalwpw.settings.obj.no_result_attempt_message 9804 ) != "" 9805 ) { 9806 setTimeout(function () { 9807 wpwMsg.single( 9808 wpwKits.render( 9809 globalwpw.settings.obj 9810 .no_result_attempt_message 9811 ) 9812 ); 9813 }, globalwpw.settings.preLoadingTime); 9814 wpwTree.start_menu_settings(); 9815 } else { 9816 wpwTree.start_menu_settings(); 9817 } 9818 setTimeout(function () { 9819 if ( 9820 globalwpw.settings.obj 9821 .qcld_disable_repited_startmenu == "1" 9822 ) { 9823 wpwMsg.single( 9824 wpwKits.randomMsg( 9825 '<span class="qcld-chatbot-wildcard" data-wildcart="back">' + 9826 wpwKits.randomMsg( 9827 globalwpw.settings.obj.back_to_start 9828 ) + 9829 "</span>" 9830 ) 9831 ); 9832 } 9833 }); 9834
9835 globalwpw.counter = 0; 9836 } else { 9837 globalwpw.counter++; 9838 9839 if ( 9840 globalwpw.settings.obj 9841 .qcld_disable_repited_startmenu == "1" 9842 ) { 9843 wpwMsg.double_nobg( 9844 wpwKits.randomMsg( 9845 globalwpw.settings.obj.no_result 9846 ), 9847 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 9848 wpwKits.randomMsg( 9849 globalwpw.settings.obj.back_to_start 9850 ) + 9851 "</span>" 9852 ); 9853 } else { 9854 wpwMsg.double_nobg( 9855 wpwKits.randomMsg( 9856 globalwpw.settings.obj.no_result 9857 ), 9858 globalwpw.wildcards 9859 ); 9860 // wpwMsg.single_nobg('<span class="qcld-chatbot-wildcard" data-wildcart="back">' + + '</span>'); 9861 } 9862 } 9863 }); 9864 } 9865 globalwpw.wildCard = 0; 9866 }); 9867 } else if ( 9868 wp_chatbot_obj.ollama_enabled == "1" || 9869 wp_chatbot_obj.openrouter_enabled == "1" || 9870 wp_chatbot_obj.open_ai_enable == "1" || 9871 wp_chatbot_obj.grok_enabled == "1" || 9872 wp_chatbot_obj.mistral_enabled == "1" || 9873 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 9874 globalwpw.settings.obj.tvlyai_enabled == "1" 9875 ) { 9876 wpwMsg.open_ai_message_callback(openai_msg); 9877 } else { 9878 wpwTree.start_menu_settings(); 9879 } 9880 } 9881 } 9882 } 9883 9884 } 9885 } 9886 } else { 9887 //When intialize 1 and don't have cookies then keep the name of shooper in in cookie 9888 if ( 9889 globalwpw.initialize == 1 && 9890 !localStorage.getItem("shopper") && 9891 globalwpw.wildCard == 0 9892 ) { 9893 var mainmsg = msg; 9894 // msg=wpwKits.toTitlecase(wpwKits.filterStopWords(msg)); 9895 if (msg != "" && typeof msg != "undefined") { 9896 if (msg.length === 1) { 9897 msg = wpwKits.toTitlecase(msg); 9898 } else { 9899 msg = wpwKits.toTitlecase(msg); 9900 } 9901 } 9902 if ( 9903 (globalwpw.settings.obj.ask_name_confirmation == "" || 9904 globalwpw.settings.obj.ask_name_auto_confirmation == "") && 9905 localStorage.getItem("shoppername_recognized") 9906 ) { 9907 if (mainmsg == wpwKits.render(globalwpw.settings.obj.yes)) { 9908 var name = localStorage.getItem("shoppername_recognized"); 9909 globalwpw.settings.obj.ask_name_confirmation = ""; 9910 localStorage.removeItem("shoppername_recognized"); 9911 wpwTree.greeting(name); 9912 } else { 9913 localStorage.removeItem("shoppername_recognized"); 9914 wpwMsg.single( 9915 wpwKits.randomMsg(globalwpw.settings.obj.asking_name) 9916 ); 9917 } 9918 } else if ( 9919 globalwpw.settings.obj.ask_name_confirmation == "" && 9920 globalwpw.settings.obj.ask_name_auto_confirmation != "1" && 9921 globalwpw.settings.obj.skip_wp_greetings != "1" 9922 ) { 9923 $.cookie("shopper", msg, { expires: 365 }); 9924 localStorage.setItem("shopper", msg); 9925 globalwpw.hasNameCookie = msg; 9926 //Greeting with name and suggesting the wildcard. 9927 var NameGreeting = 9928 wpwKits.randomMsg(globalwpw.settings.obj.i_am) + 9929 " <strong>" + 9930 wpwKits.render(globalwpw.settings.obj.agent) + 9931 "</strong>! " + 9932 wpwKits.randomMsg(globalwpw.settings.obj.name_greeting); 9933 var serviceOffer = wpwKits.randomMsg(
9934 globalwpw.settings.obj.wildcard_msg 9935 ); 9936 //After completing two steps messaging showing wildcards. 9937 if (globalwpw.settings.obj.ask_email_wp_greetings == 1) { 9938 localStorage.setItem("default_asking_email", 1); 9939 var emailsharetext = wpwKits.randomMsg( 9940 globalwpw.settings.obj.asking_emailaddress 9941 ); 9942 if (globalwpw.settings.obj.enable_gdpr) { 9943 wpwMsg.triple_nobg( 9944 NameGreeting, 9945 emailsharetext, 9946 wpwKits.render(globalwpw.settings.obj.gdpr_text) 9947 ); 9948 } else { 9949 wpwMsg.double(NameGreeting, emailsharetext); 9950 } 9951 } else if (globalwpw.settings.obj.ask_phone_wp_greetings == 1) { 9952 localStorage.setItem("default_asking_phone", 1); 9953 var phonesharetext = wpwKits.randomMsg( 9954 globalwpw.settings.obj.asking_phone_gt 9955 ); 9956 if (globalwpw.settings.obj.enable_gdpr) { 9957 wpwMsg.triple_nobg( 9958 NameGreeting, 9959 phonesharetext, 9960 wpwKits.render(globalwpw.settings.obj.gdpr_text) 9961 ); 9962 } else { 9963 wpwMsg.double(NameGreeting, phonesharetext); 9964 } 9965 } else { 9966 if ( 9967 globalwpw.settings.obj.show_menu_after_greetings == 1 && 9968 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 9969 typeof globalwpw.wildcards != "undefined" && 9970 globalwpw.wildcards != "" && 9971 globalwpw.settings.obj.qcld_disable_beginning_startmenu != "1" 9972 ) { 9973 wpwMsg.triple_nobg( 9974 NameGreeting, 9975 serviceOffer, 9976 globalwpw.wildcards 9977 ); 9978 } else { 9979 wpwMsg.single(NameGreeting); 9980 } 9981 } 9982 } else if ( 9983 globalwpw.settings.obj.ask_name_confirmation == "1" || 9984 globalwpw.settings.obj.ask_name_auto_confirmation == "1" 9985 ) { 9986 var arrMsg = 9987 globalwpw.settings.obj.i_understand[ 9988 globalwpw.settings.obj.language 9989 ]; 9990 var i_understand = ""; 9991 var index = Math.floor(Math.random() * arrMsg.length); 9992 var res = msg.split(" "); 9993 9994 localStorage.setItem("openai_name", msg); 9995 localStorage.setItem("shoppername_recognized", msg); 9996 if (res.length >= 2) { 9997 var openai_msg = msg; 9998 msg = wpwKits.filterStopWords(msg); 9999 } 10000 if (arrMsg[index] != "" && typeof arrMsg[index] !== "undefined") { 10001 i_understand = arrMsg[index].replace( 10002 "%%username%%", 10003 "<strong>" + msg + "</strong>" 10004 ); 10005 } 10006 if (globalwpw.settings.obj.ask_name_auto_confirmation == "1") { 10007 var openai_name_sting = localStorage.getItem("openai_name"); 10008 var keyword = 10009 "Does the following words contain a person name in any language? Answer with only the name part or no only for first time. The words are " + 10010 openai_name_sting; 10011 var data = { 10012 action: "openai_name_checker", 10013 name: globalwpw.hasNameCookie, 10014 keyword: keyword, 10015 nonce: wp_chatbot_obj.ajax_nonce, 10016 }; 10017 wpwKits.ajax(data).done(function (res) { 10018 var json = $.parseJSON(res); 10019 if (json.status == "success") { 10020 if (json.message.toLowerCase() == "no") { 10021 globalwpw.settings.obj.skip_wp_greetings = "1"; 10022 wpwMsg.open_ai_message_callback(openai_name_sting); 10023 } else { 10024 wpwMsg.shopper_choice(json.message.toUpperCase()); 10025 wpwAction.bot(json.message.toUpperCase()); 10026 globalwpw.settings.obj.ask_name_confirmation = "";
10027 globalwpw.settings.obj.ask_name_auto_confirmation = ""; 10028 wpwMsg.shopper_choice(json.message); 10029 wpwAction.bot(json.message); 10030 } 10031 } else { 10032 globalwpw.settings.obj.ask_name_confirmation = ""; 10033 globalwpw.settings.obj.ask_name_auto_confirmation = ""; 10034 localStorage.setItem("shoppername_recognized", msg); 10035 var confirmBtn = 10036 '<span class="qcld-chat-common qcld-name-confirm" data-res="' + 10037 wpwKits.render(globalwpw.settings.obj.yes) + 10038 '" >' + 10039 wpwKits.render(globalwpw.settings.obj.yes) + 10040 "</span> <span> " + 10041 wpwKits.render(globalwpw.settings.obj.or) + 10042 ' </span><span class="qcld-chat-common qcld-name-confirm" data-res="' + 10043 wpwKits.render(globalwpw.settings.obj.no) + 10044 '">' + 10045 wpwKits.render(globalwpw.settings.obj.no) + 10046 "</span>"; 10047 wpwMsg.double_nobg(i_understand, confirmBtn); 10048 } 10049 }); 10050 } else { 10051 localStorage.setItem("shoppername_recognized", msg); 10052 var confirmBtn = 10053 '<span class="qcld-chat-common qcld-name-confirm" data-res="' + 10054 wpwKits.render(globalwpw.settings.obj.yes) + 10055 '" >' + 10056 wpwKits.render(globalwpw.settings.obj.yes) + 10057 "</span> <span> " + 10058 wpwKits.render(globalwpw.settings.obj.or) + 10059 ' </span><span class="qcld-chat-common qcld-name-confirm" data-res="' + 10060 wpwKits.render(globalwpw.settings.obj.no) + 10061 '">' + 10062 wpwKits.render(globalwpw.settings.obj.no) + 10063 "</span>"; 10064 wpwMsg.double_nobg(i_understand, confirmBtn); 10065 } 10066 } 10067 } 10068 //When returning shopper then greeting with name and wildcards. 10069 else if (localStorage.getItem("shopper") && globalwpw.wildCard == 0) { 10070 if ( 10071 globalwpw.settings.obj.ask_email_wp_greetings == 1 && 10072 !localStorage.getItem("shopperemail") 10073 ) { 10074 var re = 10075 /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; 10076 if (re.test(msg) != true) { 10077 var email = msg + " " + localStorage.getItem("shopper"); 10078 $.cookie("shopperemail", email, { expires: 365 }); 10079 localStorage.setItem("shopperemail", email); 10080 //After asking service show the wildcards. 10081 var noemailtext = wpwKits.randomMsg( 10082 globalwpw.settings.obj.email_ignore 10083 ); 10084 var serviceOffer = wpwKits.randomMsg( 10085 globalwpw.settings.obj.wildcard_msg 10086 ); 10087 globalwpw.wildCard = 0; 10088 if (email != "") { 10089 var data = { 10090 action: "qcld_wb_chatbot_email_subscription", 10091 name: localStorage.getItem("shopper"), 10092 email: email, 10093 url: window.location.href, 10094 }; 10095 wpwKits.ajax(data).done(function (response) { 10096 //response. 10097 }); 10098 } 10099 if (globalwpw.settings.obj.ask_phone_wp_greetings == 1) { 10100 localStorage.setItem("default_asking_phone", 1); 10101 var phonesharetext = wpwKits.randomMsg( 10102 globalwpw.settings.obj.asking_phone_gt 10103 ); 10104 if (globalwpw.settings.obj.enable_gdpr) { 10105 wpwMsg.triple_nobg( 10106 noemailtext, 10107 phonesharetext, 10108 wpwKits.render(globalwpw.settings.obj.gdpr_text) 10109 ); 10110 } else { 10111 wpwMsg.double(noemailtext, phonesharetext); 10112 } 10113 } else { 10114 localStorage.setItem("wildCard", globalwpw.wildCard); 10115 if (
10116 globalwpw.settings.obj.show_menu_after_greetings == 1 && 10117 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 10118 typeof globalwpw.wildcards != "undefined" && 10119 globalwpw.wildcards != "" && 10120 globalwpw.settings.obj.qcld_disable_beginning_startmenu != "1" 10121 ) { 10122 wpwMsg.triple_nobg( 10123 noemailtext, 10124 serviceOffer, 10125 globalwpw.wildcards 10126 ); 10127 } else { 10128 wpwMsg.single(noemailtext); 10129 } 10130 } 10131 localStorage.removeItem("default_asking_email"); 10132 } else { 10133 var email = msg; 10134 $.cookie("shopperemail", email, { expires: 365 }); 10135 localStorage.setItem("shopperemail", email); 10136 10137 if (email != "") { 10138 var data = { 10139 action: "qcld_wb_chatbot_email_subscription", 10140 name: localStorage.getItem("shopper"), 10141 email: email, 10142 url: window.location.href, 10143 }; 10144 10145 wpwKits.ajax(data).done(function (response) { 10146 //response. 10147 }); 10148 } 10149 var emailgreetings = wpwKits.randomMsg( 10150 globalwpw.settings.obj.got_email 10151 ); 10152 var serviceOffer = wpwKits.randomMsg( 10153 globalwpw.settings.obj.wildcard_msg 10154 ); 10155 //After completing two steps messaging showing wildcards. 10156 10157 if (globalwpw.settings.obj.ask_phone_wp_greetings == 1) { 10158 localStorage.setItem("default_asking_phone", 1); 10159 var phonesharetext = wpwKits.randomMsg( 10160 globalwpw.settings.obj.asking_phone_gt 10161 ); 10162 if (globalwpw.settings.obj.enable_gdpr) { 10163 wpwMsg.triple_nobg( 10164 emailgreetings, 10165 phonesharetext, 10166 wpwKits.render(globalwpw.settings.obj.gdpr_text) 10167 ); 10168 } else { 10169 wpwMsg.double(emailgreetings, phonesharetext); 10170 } 10171 } else { 10172 if ( 10173 globalwpw.settings.obj.show_menu_after_greetings == 1 && 10174 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 10175 typeof globalwpw.wildcards != "undefined" && 10176 globalwpw.wildcards != "" && 10177 globalwpw.settings.obj.qcld_disable_beginning_startmenu != "1" 10178 ) { 10179 wpwMsg.triple_nobg( 10180 emailgreetings, 10181 serviceOffer, 10182 globalwpw.wildcards 10183 ); 10184 } else { 10185 wpwMsg.single(emailgreetings); 10186 } 10187 10188 globalwpw.wildCard = 0; 10189 localStorage.setItem("wildCard", globalwpw.wildCard); 10190 } 10191 localStorage.removeItem("default_asking_email"); 10192 } 10193 localStorage.removeItem("default_asking_email"); 10194 } else if ( 10195 globalwpw.settings.obj.ask_phone_wp_greetings == 1 && 10196 !localStorage.getItem("shopperphone") 10197 ) { 10198 var phonegreetings = wpwKits.randomMsg( 10199 globalwpw.settings.obj.got_phone 10200 ); 10201 var serviceOffer = wpwKits.randomMsg( 10202 globalwpw.settings.obj.wildcard_msg 10203 ); 10204 var nophonetext = wpwKits.randomMsg( 10205 globalwpw.settings.obj.phone_ignore 10206 ); 10207 10208 var data = { 10209 action: "qcld_wb_chatbot_phone_validate", 10210 name: globalwpw.hasNameCookie, 10211 phone: msg, 10212 }; 10213 if ( 10214 $( 10215 globalwpw.settings.messageLastChild + 10216 " .wp-chatbot-comment-loader" 10217 ).length == 0 10218 ) { 10219 $(globalwpw.settings.messageContainer).append( 10220 wpwKits.botPreloader() 10221 ); 10222 } 10223 wpwKits.ajax(data).done(function (response) { 10224 var json = $.parseJSON(response); 10225 if (json.status == "success") { 10226 localStorage.setItem("shopperphone", msg); 10227 if (
10228 globalwpw.settings.obj.show_menu_after_greetings == 1 && 10229 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 10230 typeof globalwpw.wildcards != "undefined" && 10231 globalwpw.wildcards != "" && 10232 globalwpw.settings.obj.qcld_disable_beginning_startmenu != "1" 10233 ) { 10234 wpwMsg.triple_nobg( 10235 phonegreetings, 10236 serviceOffer, 10237 globalwpw.wildcards 10238 ); 10239 } else { 10240 wpwMsg.single(phonegreetings); 10241 } 10242 10243 globalwpw.wildCard = 0; 10244 localStorage.setItem("wildCard", globalwpw.wildCard); 10245 10246 if (localStorage.getItem("shopperemail")) { 10247 var email = localStorage.getItem("shopperemail"); 10248 } else { 10249 var email = ""; 10250 } 10251 10252 var data = { 10253 action: "qcld_wb_chatbot_email_subscription", 10254 name: localStorage.getItem("shopper"), 10255 email: email, 10256 phone: msg, 10257 url: window.location.href, 10258 }; 10259 10260 wpwKits.ajax(data).done(function (response) { 10261 //response. 10262 }); 10263 } else if (json.status == "invalid") { 10264 if ( 10265 globalwpw.settings.obj.show_menu_after_greetings == 1 && 10266 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 10267 typeof globalwpw.wildcards != "undefined" && 10268 globalwpw.wildcards != "" && 10269 globalwpw.settings.obj.qcld_disable_beginning_startmenu != "1" 10270 ) { 10271 wpwMsg.triple_nobg( 10272 nophonetext, 10273 serviceOffer, 10274 globalwpw.wildcards 10275 ); 10276 } else { 10277 wpwMsg.single(nophonetext); 10278 } 10279 10280 globalwpw.wildCard = 0; 10281 localStorage.setItem("wildCard", globalwpw.wildCard); 10282 } 10283 localStorage.removeItem("default_asking_phone"); 10284 }); 10285 } else { 10286 //After asking service show the wildcards. 10287 var serviceOffer = wpwKits.randomMsg( 10288 globalwpw.settings.obj.wildcard_msg 10289 ); 10290 wpwTree.start_menu_settings(); 10291 } 10292 } 10293 } 10294 }, 10295 df_multi_handle: function (array) { 10296 if (array.length > 0) { 10297 setTimeout(function () { 10298 wpwMsg.single(array[0]); 10299 array.splice(0, 1); 10300 if (array.length > 0) { 10301 setTimeout(function () { 10302 wpwTree.df_multi_handle(array); 10303 }, globalwpw.settings.preLoadingTime); 10304 } 10305 }, globalwpw.settings.preLoadingTime); 10306 } else { 10307 wpwTree.start_menu_settings(); 10308 } 10309 }, 10310 df_reply: function (response) { 10311 //checking for facebook platform 10312 var i = 0; 10313 var html = ""; 10314 var responses = []; 10315 console.log(response) 10316 if (globalwpw.settings.obj.df_api_version == "v1") { 10317 var messages = response.result.fulfillment.messages; 10318 var action = response.result.actionIncomplete; 10319 jQuery.each(messages, function (key, message) { 10320 html = ""; 10321 i += 1; 10322 if (message.type == 2) { 10323 html += "<p>" + message.title + "</p>"; 10324 var index = 0; 10325 for (index; index < message.replies.length; index++) { 10326 html += 10327 '<span class="wpb-quick-reply qcld-chat-common">' + 10328 message.replies[index] + 10329 "</span>"; 10330 } 10331 } 10332 //check for default reply 10333 else if (message.type == 0 && message.speech != "") { 10334 html += wpwTree.replace_url_from_content(message.speech); 10335 } else if (message.type == 1) { 10336 html += '<div class="wpbot_card_wraper">'; 10337 html += '<div class="wpbot_card_image">'; 10338 if (message.imageUrl != "") { 10339 html += '<img src="' + message.imageUrl + '" />'; 10340 } 10341 html += '<div class="wpbot_card_caption">'; 10342 if (message.title != "") { 10343 html += "<h2>" + message.title + "</h2>"; 10344 } 10345 if (message.subtitle != "") { 10346 html += "<p>" + message.subtitle + "</p>"; 10347 } 10348 html += "</div>"; 10349 html += "</div>"; 10350 if (typeof message.buttons !== "undefined") { 10351 if (message.buttons.length > 0) { 10352 jQuery.each(message.buttons, function (k, btn) { 10353 html += 10354 '<a href="' + 10355 btn.postback + 10356 '" target="_blank"><i class="fa fa-external-link"></i> ' + 10357 btn.text + 10358 "</a>"; 10359 }); 10360 } 10361 } 10362 10363 html += "</div>"; 10364 } else if (message.type == "simple_response") { 10365 html += message.textToSpeech; 10366 } 10367 10368 if (html != "") { 10369 responses.push(html); 10370 } 10371 /* 10372 if(i==messages.length){ 10373 wpwMsg.single(html); 10374 //For back to start button 10375 if(action===false && !html.includes("?") && !html.includes("wpb-quick-reply")){ 10376 setTimeout(function(){ 10377 //wpwMsg.single('<span class="qcld-chatbot-wildcard" data-wildcart="back">' + wpwKits.randomMsg(globalwpw.settings.obj.back_to_start) + '</span>'); 10378 }
10378, globalwpw.settings.preLoadingTime*2) 10379 } 10380 10381 } 10382 */ 10383 }); 10384 } else { 10385 var messages = response.queryResult.fulfillmentMessages; 10386 var actioncomplete = response.queryResult.allRequiredParamsPresent; 10387 jQuery.each(messages, function (key, message) { 10388 html = ""; 10389 i += 1; 10390 //handeling quickreplies 10391 if (typeof message.quickReplies !== "undefined") { 10392 if (typeof message.quickReplies.title !== "undefined") { 10393 html += "<p>" + message.quickReplies.title + "</p>"; 10394 } 10395 if (typeof message.quickReplies.quickReplies !== "undefined") { 10396 var index = 0; 10397 for ( 10398 index; 10399 index < message.quickReplies.quickReplies.length; 10400 index++ 10401 ) { 10402 html += 10403 '<span class="wpb-quick-reply qcld-chat-common">' + 10404 message.quickReplies.quickReplies[index] + 10405 "</span>"; 10406 } 10407 } 10408 } 10409 //handleing default response 10410 else if (typeof message.text !== "undefined") { 10411 if ( 10412 typeof message.text.text !== "undefined" && 10413 message.text.text.length > 0 10414 ) { 10415 html += message.text.text[0]; 10416 // html += wpwTree.replace_url_from_content( message.text.text[0] ); 10417 } 10418 } else if (typeof message.payload !== "undefined") { 10419 if (message.payload.richContent[0][0].options.length > 0) { 10420 jQuery.each( 10421 message.payload.richContent[0][0].options, 10422 function (k, btn) { 10423 html += 10424 '<span class="wpb-quick-reply qcld-chat-common">' + 10425 btn.text + 10426 "</span>"; 10427 } 10428 ); 10429 } 10430 } else if (typeof message.card !== "undefined") { 10431 html += '<div class="wpbot_card_wraper">'; 10432 html += '<div class="wpbot_card_image">'; 10433 if ( 10434 message.card.imageUri !== "undefined" && 10435 message.card.imageUri != "" 10436 ) { 10437 html += '<img src="' + message.card.imageUri + '" />'; 10438 } 10439 html += '<div class="wpbot_card_caption">'; 10440 if ( 10441 message.card.title !== "undefined" && 10442 message.card.title != "" 10443 ) { 10444 html += "<h2>" + message.card.title + "</h2>"; 10445 } 10446 if ( 10447 message.card.subtitle !== "undefined" && 10448 message.card.subtitle != "" 10449 ) { 10450 html += "<p>" + message.card.subtitle + "</p>"; 10451 } 10452 html += "</div>"; 10453 html += "</div>"; 10454 10455 if (typeof message.card.buttons !== "undefined") { 10456 if (message.card.buttons.length > 0) { 10457 jQuery.each(message.card.buttons, function (k, btn) { 10458 html += 10459 '<a href="' + 10460 btn.postback + 10461 '" target="' + 10462 (globalwpw.settings.obj.df_cardlink_open == 1 10463 ? "" 10464 : "_blank") + 10465 '"><i class="fa fa-external-link"></i> ' + 10466 btn.text + 10467 "</a>"; 10468 }); 10469 } 10470 } 10471 10472 html += "</div>"; 10473 } else if (typeof message.image !== "undefined") { 10474 html += '<div class="wpbot_card_wraper">'; 10475 html += '<div class="wpbot_card_image">'; 10476 if ( 10477 message.image.imageUri !== "undefined" && 10478 message.image.imageUri != "" 10479 ) { 10480 html += '<img src="' + message.image.imageUri + '" />'; 10481 } 10482 html += "</div>"; 10483 html += "</div>"; 10484 } 10485 10486 if (html != "") { 10487 responses.push(html); 10488 } 10489 }); 10490 } 10491 wpwTree.df_multi_handle(responses); 10492 }, 10493 df_cx_reply: function (response) { 10494 var i = 0; 10495 var html = ""; 10496 var responses = []; 10497 var messages = response.queryResult.responseMessages; 10498 var actioncomplete = response.queryResult.allRequiredParamsPresent; 10499 10500 jQuery.each(messages, function (key, message) { 10501 html = ""; 10502 i += 1; 10503 //handeling quickreplies 10504 if (typeof message.quickReplies !== "undefined") { 10505 if (typeof message.quickReplies.title !== "undefined") { 10506 html += "<p>" + message.quickReplies.title + "</p>"; 10507 } 10508 if (typeof message.quickReplies.quickReplies !== "undefined") { 10509 var index = 0; 10510 for ( 10511 index; 10512 index < message.quickReplies.quickReplies.length; 10513 index++ 10514 ) { 10515 html += 10516 '<span class="wpb-quick-reply qcld-chat-common">' + 10517 message.quickReplies.quickReplies[index] + 10518 "</span>"; 10519 } 10520 } 10521 } 10522 //handleing default response 10523 else if (typeof message.text !== "undefined") { 10524 if ( 10525 typeof message.text.text !== "undefined" && 10526 message.text.text.length > 0 10527 ) { 10528 html += wpwTree.replace_url_from_content(message.text.text[0]); 10529 } 10530 } else if (typeof message.card !== "undefined") { 10531 html += '<div class="wpbot_card_wraper">'; 10532 html += '<div class="wpbot_card_image">'; 10533 if ( 10534 message.card.imageUri !== "undefined" && 10535 message.card.imageUri != "" 10536 ) { 10537 html += '<img src="' + message.card.imageUri + '" />'; 10538 } 10539 html += '<div class="wpbot_card_caption">'; 10540 if (message.card.title !== "undefined" && message.card.title != "") { 10541 html += "<h2>" + message.card.title + "</h2>"; 10542 } 10543 if ( 10544 message.card.subtitle !== "undefined" && 10545 message.card.subtitle != "" 10546 ) { 10547 html += "<p>" + message.card.subtitle + "</p>"; 10548 } 10549 html += "</div>"; 10550 html += "</div>"; 10551 10552 if (typeof message.card.buttons !== "undefined") { 10553 if (message.card.buttons.length > 0) { 10554 jQuery.each(message.card.buttons, function (k, btn) { 10555 html += 10556 '<a href="' + 10557 btn.postback + 10558 '" target="' +
10559 (globalwpw.settings.obj.df_cardlink_open == 1 10560 ? "" 10561 : "_blank") + 10562 '"><i class="fa fa-external-link"></i> ' + 10563 btn.text + 10564 "</a>"; 10565 }); 10566 } 10567 } 10568 10569 html += "</div>"; 10570 } else if (typeof message.image !== "undefined") { 10571 html += '<div class="wpbot_card_wraper">'; 10572 html += '<div class="wpbot_card_image">'; 10573 if ( 10574 message.image.imageUri !== "undefined" && 10575 message.image.imageUri != "" 10576 ) { 10577 html += '<img src="' + message.image.imageUri + '" />'; 10578 } 10579 html += "</div>"; 10580 html += "</div>"; 10581 } 10582 10583 if (html != "") { 10584 responses.push(html); 10585 } 10586 }); 10587 10588 wpwTree.df_multi_handle(responses); 10589 }, 10590 ollama_reply: function (response) { 10591 // const response = await fetch("https://example.org/post", { 10592 // method: "POST", 10593 // body: JSON.stringify({ username: "example" }), 10594 // }) 10595 }, 10596 df_reply2: function (response) { 10597 if (globalwpw.settings.obj.df_api_version == "v1") { 10598 var messages = response.result.fulfillment.messages; 10599 switch (messages[0].type) { 10600 case 0: // text response 10601 return wpwTree.replace_url_from_content(messages[0].speech); 10602 break; 10603 case 1: // TODO card response 10604 break; 10605 case 2: // quick replies 10606 return messages[0].title; 10607 10608 break; 10609 case 3: // image response 10610 break; 10611 case 3: // custom payload 10612 break; 10613 default: 10614 } 10615 } else { 10616 var messages = response.queryResult.fulfillmentMessages; 10617 if (typeof messages[0].text !== "undefined") { 10618 if ( 10619 typeof messages[0].text.text !== "undefined" && 10620 messages[0].text.text.length > 0 10621 ) { 10622 return wpwTree.replace_url_from_content(messages[0].text.text[0]); 10623 } 10624 } else if (typeof messages[0].quickReplies !== "undefined") { 10625 if (typeof messages[0].quickReplies.title !== "undefined") { 10626 return messages[0].quickReplies.title; 10627 } 10628 } 10629 } 10630 }, 10631 validateYouTubeUrl: function (urlToParse) { 10632 if (urlToParse) { 10633 var regExp = 10634 /^(?:https?:\/\/)?(?:m\.|www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/; 10635 if (urlToParse.match(regExp)) { 10636 return true; 10637 } 10638 } 10639 return false; 10640 }, 10641 replace_url_from_content: function (content) { 10642 if (wpwTree.validateYouTubeUrl(content)) { 10643 return content; 10644 } 10645 10646 if (content.indexOf("iframe") > 0) { 10647 return content; 10648 } 10649 10650 if (content.indexOf("<a href") > 0) { 10651 return content; 10652 } 10653 var exp_match = 10654 /(\b(https?|):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi; 10655 10656 return content.replace(exp_match, (url) => { 10657 if (wpwTree.validateYouTubeUrl(url)) { 10658 return url; 10659 } 10660 10661 //mp3 url parse 10662 var regExp = /https?:\/\/.+\.mp3/; 10663 if (url.match(regExp)) { 10664 return ( 10665 '<audio controls autoplay><source src="' + 10666 url + 10667 '" type="audio/mpeg"></audio>' 10668 ); 10669 } 10670 10671 //mp4 url parse support 10672 var regExp = /https?:\/\/.+\.mp4/; 10673 if (url.match(regExp)) { 10674 return ( 10675 '<video controls autoplay><source src="' + 10676 url + 10677 '" type="video/mp4"></video>' 10678 ); 10679 } 10680 10681 return ( 10682 "<a href='" + 10683 url + 10684 "' target='" + 10685 (globalwpw.settings.obj.df_cardlink_open == 1 ? "" : "_blank") + 10686 "'>" + 10687 url + 10688 "</a>" 10689 ); 10690 }); 10691 }, 10692 product: function (msg) { 10693 var wppt_post_types = globalwpw.settings.obj.wppt_post_types; 10694 var serviceOffer = wpwKits.randomMsg(globalwpw.settings.obj.wildcard_msg);
10695 if (globalwpw.wildCard == 20 && globalwpw.productStep == "asking") { 10696 var askingProduct = wpwKits.randomMsg( 10697 globalwpw.settings.obj.product_asking 10698 ); 10699 if ( 10700 globalwpw.counter == globalwpw.settings.obj.no_result_attempt_count || 10701 globalwpw.settings.obj.no_result_attempt_count == 0 10702 ) { 10703 wpwMsg.single(askingProduct); 10704 wpwTree.start_menu_settings(); 10705 } else { 10706 globalwpw.counter++; 10707 wpwMsg.single(askingProduct); 10708 globalwpw.productStep = "search"; 10709 } 10710 } else if ( 10711 globalwpw.wildCard == 20 && 10712 globalwpw.productStep == "search" 10713 ) { 10714 msg = wpwKits.filterStopWords(msg); 10715 if (msg != "") { 10716 var data = { 10717 action: "qcld_wb_chatbot_keyword", 10718 keyword: msg, 10719 language: globalwpw.settings.obj.language, 10720 }; 10721 //Products by string search ajax handler. 10722 if ( 10723 $( 10724 globalwpw.settings.messageLastChild + 10725 " .wp-chatbot-comment-loader" 10726 ).length == 0 10727 ) { 10728 $(globalwpw.settings.messageContainer).append( 10729 wpwKits.botPreloader() 10730 ); 10731 } 10732 wpwKits.ajax(data).done(function (response) { 10733 if (response.product_num == 0) { 10734 var productFail = 10735 wpwKits.randomMsg(globalwpw.settings.obj.product_fail) + 10736 " <strong>" + 10737 msg + 10738 "</strong>!"; 10739 //var productSuggest=wpwKits.randomMsg(globalwpw.settings.obj.product_suggest); 10740 10741 // wpwMsg.single(productFail); 10742 if ( 10743 typeof globalwpw.wildcards != "undefined" && 10744 globalwpw.wildcards != "" 10745 ) { 10746 wpwMsg.triple_nobg( 10747 productFail, 10748 serviceOffer, 10749 globalwpw.wildcards 10750 ); 10751 } else { 10752 wpwMsg.double(productFail, serviceOffer); 10753 } 10754 10755 //Suggesting category. 10756 } else { 10757 var productSucces = 10758 wpwKits.randomMsg(globalwpw.settings.obj.product_success) + 10759 " <strong>" + 10760 msg + 10761 "</strong>!"; 10762 wpwMsg.double_nobg(productSucces, response.html); 10763 10764 if (response.per_page >= response.product_num) { 10765 setTimeout(function () { 10766 var searchAgain = wpwKits.randomMsg( 10767 globalwpw.settings.obj.product_infinite 10768 ); 10769 wpwMsg.double_nobg( 10770 searchAgain, 10771 '<span class="qcld-chatbot-wildcard" data-wildcart="back">' + 10772 wpwKits.randomMsg(globalwpw.settings.obj.back_to_start) + 10773 "</span>" 10774 ); 10775 //keeping value in localstorage 10776 globalwpw.wildCard = 0; 10777 globalwpw.productStep = "search"; 10778 localStorage.setItem("productStep", globalwpw.productStep); 10779 }, globalwpw.settings.wildcardsShowTime); 10780 } 10781 } 10782 }); 10783 } else { 10784 var askingProduct = wpwKits.randomMsg( 10785 globalwpw.settings.obj.product_asking 10786 ); 10787 if ( 10788 globalwpw.counter == 10789 globalwpw.settings.obj.no_result_attempt_count || 10790 globalwpw.settings.obj.no_result_attempt_count == 0 10791 ) { 10792 wpwMsg.single(askingProduct); 10793 if ( 10794 typeof globalwpw.wildcards != "undefined" && 10795 globalwpw.wildcards != "" 10796 ) { 10797 wpwMsg.double_nobg(serviceOffer, globalwpw.wildcards); 10798 } else { 10799 wpwMsg.single(serviceOffer); 10800 } 10801 } else { 10802 globalwpw.counter++; 10803 wpwMsg.single(askingProduct); 10804 globalwpw.productStep = "search"; 10805 } 10806 } 10807 } else if ( 10808 globalwpw.wildCard == 20 &&
10809 globalwpw.productStep == "category" 10810 ) { 10811 var msg = msg.split("#"); 10812 var categoryTitle = msg[0]; 10813 var categoryId = msg[1]; 10814 var data = { 10815 action: "qcld_wb_chatbot_category_products", 10816 category: categoryId, 10817 }; 10818 if ( 10819 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 10820 .length == 0 10821 ) { 10822 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 10823 } 10824 //Product by category ajax handler. 10825 wpwKits.ajax(data).done(function (response) { 10826 if (response.product_num == 0) { 10827 //Since product does not found then show message and suggesting infinity search 10828 var productFail = 10829 wpwKits.randomMsg(globalwpw.settings.obj.product_fail) + 10830 " <strong>" + 10831 categoryTitle + 10832 "</strong>!"; 10833 var searchAgain = wpwKits.randomMsg( 10834 globalwpw.settings.obj.product_infinite 10835 ); 10836 wpwMsg.double(productFail, searchAgain); 10837 globalwpw.productStep = "search"; 10838 //keeping value in localstorage 10839 localStorage.setItem("productStep", globalwpw.productStep); 10840 } else { 10841 //Now show chat message to choose the product. 10842 var productSuccess = 10843 wpwKits.randomMsg(globalwpw.settings.obj.product_success) + 10844 " <strong>" + 10845 categoryTitle + 10846 "</strong>!"; 10847 var products = response.html; 10848 wpwMsg.double_nobg(productSuccess, products); 10849 //Infinite asking to break dead end. 10850 if (response.per_page >= response.product_num) { 10851 setTimeout(function () { 10852 var searchAgain = wpwKits.randomMsg( 10853 globalwpw.settings.obj.product_infinite 10854 ); 10855 wpwMsg.double_nobg( 10856 searchAgain, 10857 '<span class="qcld-chatbot-wildcard" data-wildcart="back">' + 10858 wpwKits.randomMsg(globalwpw.settings.obj.back_to_start) + 10859 "</span>" 10860 ); 10861 globalwpw.productStep = "search"; 10862 //keeping value in localstorage 10863 localStorage.setItem("productStep", globalwpw.productStep); 10864 }, globalwpw.settings.wildcardsShowTime); 10865 } 10866 } 10867 }); 10868 } else if ( 10869 globalwpw.wildCard == 20 && 10870 globalwpw.productStep == "featured" 10871 ) { 10872 var data = { action: "qcld_wb_chatbot_featured_products" }; 10873 if ( 10874 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 10875 .length == 0 10876 ) { 10877 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 10878 } 10879 //Products by string search ajax handler. 10880 wpwKits.ajax(data).done(function (response) { 10881 if (response.product_num == 0) { 10882 var productFail = 10883 wpwKits.randomMsg(globalwpw.settings.obj.product_fail) + 10884 " <strong>Featured Products</strong>!"; 10885 //var productSuggest=wpwKits.randomMsg(globalwpw.settings.obj.product_suggest); 10886 wpwMsg.single(productFail); 10887 10888 //Suggesting category. 10889 setTimeout(function () { 10890 wpwKits.sugestCat(); 10891 }, parseInt(globalwpw.settings.preLoadingTime * 2.1)); 10892 } else { 10893 var productSucces = 10894 wpwKits.randomMsg(globalwpw.settings.obj.product_success) + 10895 " <strong>Featured Products</strong>!"; 10896 wpwMsg.double_nobg(productSucces, response.html); 10897 //Infinite asking to break dead end. 10898 if (response.per_page >= response.product_num) { 10899 setTimeout(function () { 10900 var searchAgain = wpwKits.randomMsg( 10901 globalwpw.settings.obj.product_infinite 10902 ); 10903 wpwMsg.double_nobg( 10904 searchAgain, 10905 '<span class="qcld-chatbot-wildcard" data-wildcart="back">' + 10906 wpwKits.randomMsg(globalwpw.settings.obj.back_to_start) + 10907 "</span>" 10908 ); 10909 //For Dialogflow or else 10910 if (
10911 globalwpw.settings.obj.ai_df_enable == 1 && 10912 globalwpw.df_status_lock == 0 10913 ) { 10914 globalwpw.wildCard = 0; 10915 globalwpw.ai_step = 1; 10916 localStorage.setItem("wildCard", globalwpw.wildCard); 10917 localStorage.setItem("aiStep", globalwpw.ai_step); 10918 } else { 10919 //keeping value in localstorage 10920 globalwpw.productStep = "search"; 10921 localStorage.setItem("wildCard", globalwpw.wildCard); 10922 localStorage.setItem("productStep", globalwpw.productStep); 10923 } 10924 }, globalwpw.settings.wildcardsShowTime); 10925 } else { 10926 //For Dialogflow or else 10927 if ( 10928 globalwpw.settings.obj.ai_df_enable == 1 && 10929 globalwpw.df_status_lock == 0 10930 ) { 10931 globalwpw.wildCard = 0; 10932 globalwpw.ai_step = 1; 10933 localStorage.setItem("wildCard", globalwpw.wildCard); 10934 localStorage.setItem("aiStep", globalwpw.ai_step); 10935 } 10936 } 10937 } 10938 }); 10939 } else if (globalwpw.wildCard == 20 && globalwpw.productStep == "sale") { 10940 var data = { action: "qcld_wb_chatbot_sale_products" }; 10941 if ( 10942 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 10943 .length == 0 10944 ) { 10945 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 10946 } 10947 //Products by string search ajax handler. 10948 wpwKits.ajax(data).done(function (response) { 10949 if (response.product_num == 0) { 10950 var productFail = 10951 wpwKits.randomMsg(globalwpw.settings.obj.product_fail) + 10952 "<strong>" + 10953 wpwKits.randomMsg(globalwpw.settings.obj.sale_products) + 10954 "</strong>!"; 10955 //var productSuggest=wpwKits.randomMsg(globalwpw.settings.obj.product_suggest); 10956 wpwMsg.single(productFail); 10957 10958 //Suggesting category. 10959 setTimeout(function () { 10960 wpwKits.sugestCat(); 10961 }, parseInt(globalwpw.settings.preLoadingTime * 2.1)); 10962 } else { 10963 var productSucces = 10964 wpwKits.randomMsg(globalwpw.settings.obj.product_success) + 10965 " <strong>" + 10966 wpwKits.randomMsg(globalwpw.settings.obj.sale_products) + 10967 "</strong>!"; 10968 wpwMsg.double_nobg(productSucces, response.html); 10969 //Infinite asking to break dead end. 10970 if (response.per_page >= response.product_num) { 10971 setTimeout(function () { 10972 var searchAgain = wpwKits.randomMsg( 10973 globalwpw.settings.obj.product_infinite 10974 ); 10975 wpwMsg.double_nobg( 10976 searchAgain, 10977 '<span class="qcld-chatbot-wildcard" data-wildcart="back">' + 10978 wpwKits.randomMsg(globalwpw.settings.obj.back_to_start) + 10979 "</span>" 10980 ); 10981 globalwpw.wildCard = 0; 10982 globalwpw.ai_step = 1; 10983 localStorage.setItem("wildCard", globalwpw.wildCard); 10984 localStorage.setItem("aiStep", globalwpw.ai_step); 10985 }, globalwpw.settings.wildcardsShowTime); 10986 } else { 10987 //For Dialogflow or else 10988 if ( 10989 globalwpw.settings.obj.ai_df_enable == 1 && 10990 globalwpw.df_status_lock == 0 10991 ) { 10992 globalwpw.wildCard = 0; 10993 globalwpw.ai_step = 1; 10994 localStorage.setItem("wildCard", globalwpw.wildCard); 10995 localStorage.setItem("aiStep", globalwpw.ai_step); 10996 } 10997 } 10998 } 10999 }); 11000 } 11001 }, 11002 11003 order: function (msg) { 11004 //If user already logged In then 11005 if (globalwpw.settings.obj.order_login == 1) { 11006 var orderWelcome = wpwKits.render(globalwpw.settings.obj.order_welcome); 11007 var data = { action: "qcld_wb_chatbot_loged_in_user_orders" }; 11008 //Orders for logged in user ajax handler. 11009 wpwKits.ajax(data).done(function (response) { 11010 if (response.order_num > 0) { 11011 var orderSucMsg = response.message; 11012 var orderSucHtml = response.html; 11013 //Calling the email to admin part 11014 if (globalwpw.settings.obj.disable_repeatative != 1) { 11015 wpwMsg.double(orderSucMsg, orderSucHtml); 11016 setTimeout(function () { 11017 var orPhoneSuggest = 11018 '<span class="qcld-chatbot-suggest-phone" >' + 11019 wpwKits.render(globalwpw.settings.obj.support_phone) + 11020 "</span>"; 11021 var orEmailSuggest = 11022 '<span class="qcld-chatbot-suggest-email">' + 11023 wpwKits.randomMsg(
11024 globalwpw.settings.obj.order_email_support 11025 ) + 11026 "</span>"; 11027 wpwKits.suggestEmail(orEmailSuggest + orPhoneSuggest); 11028 }, globalwpw.settings.wildcardsShowTime * 2); 11029 } else { 11030 setTimeout(function () { 11031 if ( 11032 globalwpw.settings.obj.qcld_disable_repited_startmenu != "1" 11033 ) { 11034 wpwMsg.triple( 11035 orderSucMsg, 11036 orderSucHtml, 11037 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 11038 wpwKits.randomMsg(globalwpw.settings.obj.back_to_start) + 11039 "</span>" 11040 ); 11041 } 11042 }, globalwpw.settings.preLoadingTime * 4); 11043 } 11044 } else { 11045 var orderFailMsg = response.message; 11046 var orderFailHtml = response.html; 11047 //Calling the email to admin part 11048 if (globalwpw.settings.obj.disable_repeatative != 1) { 11049 wpwMsg.double(orderFailMsg, orderFailHtml); 11050 setTimeout(function () { 11051 var orPhoneSuggest = 11052 '<span class="qcld-chatbot-suggest-phone" >' + 11053 wpwKits.render(globalwpw.settings.obj.support_phone) + 11054 "</span>"; 11055 var orEmailSuggest = 11056 '<span class="qcld-chatbot-suggest-email">' + 11057 wpwKits.randomMsg( 11058 globalwpw.settings.obj.order_email_support 11059 ) + 11060 "</span>"; 11061 wpwKits.suggestEmail(orEmailSuggest + orPhoneSuggest); 11062 }, globalwpw.settings.wildcardsShowTime * 2); 11063 } else { 11064 setTimeout(function () { 11065 if ( 11066 globalwpw.settings.obj.qcld_disable_repited_startmenu != "1" 11067 ) { 11068 wpwMsg.triple( 11069 orderFailMsg, 11070 orderFailHtml, 11071 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 11072 wpwKits.randomMsg(globalwpw.settings.obj.back_to_start) + 11073 "</span>" 11074 ); 11075 } 11076 }, globalwpw.settings.preLoadingTime * 4); 11077 } 11078 } 11079 }); 11080 } 11081 //If user is not logged In then 11082 else { 11083 if (globalwpw.settings.obj.order_status_without_login == 1) { 11084 if (globalwpw.wildCard == 21 && globalwpw.orderStep == "welcome") { 11085 var orderWelcome = wpwKits.randomMsg( 11086 globalwpw.settings.obj.order_welcome 11087 ); 11088 var userNameAsking = wpwKits.randomMsg( 11089 globalwpw.settings.obj.order_email_asking 11090 ); 11091 11092 wpwMsg.double(orderWelcome, userNameAsking); 11093 //updating the order steps 11094 globalwpw.orderStep = "orderid"; 11095 //keeping value in localstorage 11096 localStorage.setItem("orderStep", globalwpw.orderStep); 11097 } else if ( 11098 globalwpw.wildCard == 21 && 11099 globalwpw.orderStep == "orderid" 11100 ) { 11101 globalwpw.orderemail = msg; 11102 var orderidasking = wpwKits.randomMsg( 11103 globalwpw.settings.obj.order_id_asking 11104 ); 11105 11106 wpwMsg.single(orderidasking); 11107 //updating the order steps 11108 globalwpw.orderStep = "orderstatus"; 11109 //keeping value in localstorage 11110 localStorage.setItem("orderStep", globalwpw.orderStep); 11111 } else if ( 11112 globalwpw.wildCard == 21 && 11113 globalwpw.orderStep == "orderstatus" 11114 ) { 11115 var data = { 11116 action: "qcld_wb_chatbot_order_status_check", 11117 order_email: globalwpw.orderemail, 11118 order_id: msg, 11119 security: globalwpw.settings.obj.order_nonce, 11120 }; 11121 //user loginajax handler. 11122 wpwKits.ajax(data).done(function (response) { 11123 if (response.status == "success") { 11124 if (response.order_num > 0) { 11125 var loginSucMsg = response.message; 11126 var orderHtml = response.html; 11127 wpwMsg.double_nobg(loginSucMsg, orderHtml); 11128 //Now keep the user as login in by updating obj
11129 globalwpw.wildCard = 0; 11130 globalwpw.orderStep = "welcome"; 11131 //Calling the email to admin part 11132 if (globalwpw.settings.obj.disable_repeatative != 1) { 11133 setTimeout(function () { 11134 var orPhoneSuggest = 11135 '<span class="qcld-chatbot-suggest-phone" >' + 11136 wpwKits.render(globalwpw.settings.obj.support_phone) + 11137 "</span>"; 11138 var orEmailSuggest = 11139 '<span class="qcld-chatbot-suggest-email">' + 11140 wpwKits.randomMsg( 11141 globalwpw.settings.obj.order_email_support 11142 ) + 11143 "</span>"; 11144 wpwKits.suggestEmail(orEmailSuggest + orPhoneSuggest); 11145 }, globalwpw.settings.wildcardsShowTime * 2); 11146 } 11147 } else { 11148 var loginFailcMsg = response.message; 11149 var orderNoHtml = response.html; 11150 wpwMsg.double(loginFailcMsg, orderNoHtml); 11151 //Now keep the user as login in by updating obj 11152 globalwpw.wildCard = 0; 11153 globalwpw.orderStep = "welcome"; 11154 //Calling the email to admin part 11155 if (globalwpw.settings.obj.disable_repeatative != 1) { 11156 setTimeout(function () { 11157 var orPhoneSuggest = 11158 '<span class="qcld-chatbot-suggest-phone" >' + 11159 wpwKits.render(globalwpw.settings.obj.support_phone) + 11160 "</span>"; 11161 var orEmailSuggest = 11162 '<span class="qcld-chatbot-suggest-email">' + 11163 wpwKits.randomMsg( 11164 globalwpw.settings.obj.order_email_support 11165 ) + 11166 "</span>"; 11167 wpwKits.suggestEmail(orEmailSuggest + orPhoneSuggest); 11168 }, globalwpw.settings.wildcardsShowTime * 2); 11169 } 11170 } 11171 } 11172 }); 11173 } 11174 } else { 11175 if (globalwpw.wildCard == 21 && globalwpw.orderStep == "welcome") { 11176 var orderWelcome = wpwKits.randomMsg( 11177 globalwpw.settings.obj.order_welcome 11178 ); 11179 var userNameAsking = wpwKits.randomMsg( 11180 globalwpw.settings.obj.order_username_asking 11181 ); 11182 11183 wpwMsg.double(orderWelcome, userNameAsking); 11184 //updating the order steps 11185 globalwpw.orderStep = "user"; 11186 //keeping value in localstorage 11187 localStorage.setItem("orderStep", globalwpw.orderStep); 11188 } else if ( 11189 globalwpw.wildCard == 21 && 11190 globalwpw.orderStep == "user" 11191 ) { 11192 globalwpw.shopperUserName = msg; 11193 var data = { 11194 action: "qcld_wb_chatbot_check_user", 11195 user_name: globalwpw.shopperUserName, 11196 }; 11197 //Username checking ajax handler. 11198 wpwKits.ajax(data).done(function (response) { 11199 if (response.status == "success") { 11200 var successMgs = response.message; 11201 var sucessHtml = response.html; 11202 wpwMsg.double(successMgs, sucessHtml); 11203 globalwpw.orderStep = "password"; 11204 //keeping value in localstorage 11205 localStorage.setItem("orderStep", globalwpw.orderStep); 11206 } else { 11207 var failMsg = response.message; 11208 wpwMsg.single(failMsg); 11209 globalwpw.orderStep = "user"; 11210 //keeping value in localstorage 11211 localStorage.setItem("orderStep", globalwpw.orderStep); 11212 } 11213 }); 11214 } else if ( 11215 globalwpw.wildCard == 21 && 11216 globalwpw.orderStep == "password" 11217 ) { 11218 var data = { 11219 action: "qcld_wb_chatbot_login_user", 11220 user_name: globalwpw.shopperUserName, 11221 user_pass: msg, 11222 security: globalwpw.settings.obj.order_nonce, 11223 }; 11224 //user loginajax handler. 11225 wpwKits.ajax(data).done(function (response) { 11226 if (response.status == "success") { 11227 if (response.order_num > 0) { 11228 var loginSucMsg = response.message; 11229 var orderHtml = response.html; 11230 wpwMsg.double_nobg(loginSucMsg, orderHtml); 11231 //Now keep the user as login in by updating obj
11232 globalwpw.settings.obj.order_login = 1; 11233 //Calling the email to admin part 11234 if (globalwpw.settings.obj.disable_repeatative != 1) { 11235 setTimeout(function () { 11236 var orPhoneSuggest = 11237 '<span class="qcld-chatbot-suggest-phone" >' + 11238 wpwKits.render(globalwpw.settings.obj.support_phone) + 11239 "</span>"; 11240 var orEmailSuggest = 11241 '<span class="qcld-chatbot-suggest-email">' + 11242 wpwKits.randomMsg( 11243 globalwpw.settings.obj.order_email_support 11244 ) + 11245 "</span>"; 11246 wpwKits.suggestEmail(orEmailSuggest + orPhoneSuggest); 11247 }, globalwpw.settings.wildcardsShowTime * 2); 11248 } 11249 } else { 11250 var loginFailcMsg = response.message; 11251 var orderNoHtml = response.html; 11252 wpwMsg.double(loginFailcMsg, orderNoHtml); 11253 //Now keep the user as login in by updating obj 11254 globalwpw.settings.obj.order_login = 1; 11255 //Calling the email to admin part 11256 if (globalwpw.settings.obj.disable_repeatative != 1) { 11257 setTimeout(function () { 11258 var orPhoneSuggest = 11259 '<span class="qcld-chatbot-suggest-phone" >' + 11260 wpwKits.render(globalwpw.settings.obj.support_phone) + 11261 "</span>"; 11262 var orEmailSuggest = 11263 '<span class="qcld-chatbot-suggest-email">' + 11264 wpwKits.randomMsg( 11265 globalwpw.settings.obj.order_email_support 11266 ) + 11267 "</span>"; 11268 wpwKits.suggestEmail(orEmailSuggest + orPhoneSuggest); 11269 }, globalwpw.settings.wildcardsShowTime * 2); 11270 } 11271 } 11272 } else { 11273 var loginFail = response.message; 11274 wpwMsg.single(loginFail); 11275 globalwpw.orderStep == "password"; 11276 //keeping value in localstorage 11277 localStorage.setItem("orderStep", globalwpw.orderStep); 11278 } 11279 }); 11280 } 11281 } 11282 } 11283 }, 11284 unsubscription: function (msg) { 11285 if ($(".chatbot_intent_reload").length == 0) { 11286 $("#wp-chatbot-editor-container").append( 11287 '<span class="chatbot_intent_reload" title="Restart the current intent" data-wildcard="6" data-step="welcome" data-intent-type="unsubscription" data-intent="unsubscription"><i class="fa fa-refresh" aria-hidden="true"></i></span>' 11288 ); 11289 } 11290 11291 if ( 11292 globalwpw.wildCard == 6 && 11293 globalwpw.unsubscriptionStep == "welcome" 11294 ) { 11295 var restWarning = wpwKits.randomMsg( 11296 globalwpw.settings.obj.do_you_want_to_unsubscribe 11297 ); 11298 var confirmBtn = 11299 '<span class="qcld-chat-common qcld_unsubscribe_confirm" unsubscription="yes" >' + 11300 wpwKits.render(globalwpw.settings.obj.yes) + 11301 "</span> <span> " + 11302 wpwKits.render(globalwpw.settings.obj.or) + 11303 ' </span><span class="qcld-chat-common qcld_unsubscribe_confirm" unsubscription="no">' + 11304 wpwKits.render(globalwpw.settings.obj.no) + 11305 "</span>"; 11306 wpwMsg.double_nobg(restWarning, confirmBtn); 11307 } else if ( 11308 globalwpw.wildCard == 6 && 11309 globalwpw.unsubscriptionStep == "getemail" 11310 ) { 11311 if ( 11312 typeof globalwpw.hasNameCookie == "undefined" || 11313 globalwpw.hasNameCookie == "" 11314 ) { 11315 var shopperName = wpwKits.render( 11316 globalwpw.settings.obj.shopper_demo_name 11317 ); 11318 } else { 11319 var shopperName = globalwpw.hasNameCookie; 11320 } 11321 11322 var askEmail = wpwKits.randomMsg(globalwpw.settings.obj.asking_email); 11323 wpwMsg.single(askEmail);
11324 globalwpw.unsubscriptionStep = "collectemailunsubscribe"; 11325 } else if ( 11326 globalwpw.wildCard == 6 && 11327 globalwpw.unsubscriptionStep == "collectemailunsubscribe" 11328 ) { 11329 var validate = ""; 11330 var re = 11331 /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; 11332 if (re.test(msg) != true) { 11333 validate = 11334 validate + wpwKits.randomMsg(globalwpw.settings.obj.invalid_email); 11335 } 11336 11337 if (validate == "") { 11338 var data = { 11339 action: "qcld_wb_chatbot_email_unsubscription", 11340 email: msg, 11341 }; 11342 wpwKits.ajax(data).done(function (response) { 11343 var json = $.parseJSON(response); 11344 if (json.status == "success") { 11345 wpwMsg.single( 11346 wpwKits.randomMsg( 11347 globalwpw.settings.obj.you_have_successfully_unsubscribe 11348 ) 11349 ); 11350 if ($(".chatbot_intent_reload").length > 0) { 11351 $(".chatbot_intent_reload").remove(); 11352 } 11353 setTimeout(function () { 11354 var orPhoneSuggest = ""; 11355 if (globalwpw.settings.obj.call_sup == "") { 11356 orPhoneSuggest = 11357 '<span class="qcld-chatbot-suggest-phone" >' + 11358 globalwpw.wpwKits.render(settings.obj.support_phone) + 11359 "</span>"; 11360 } 11361 var orEmailSuggest = 11362 '<span class="qcld-chatbot-suggest-email" >' + 11363 wpwKits.randomMsg(globalwpw.settings.obj.support_email) + 11364 "</span>"; 11365 if (globalwpw.settings.obj.disable_repeatative != 1) { 11366 wpwKits.suggestEmail(orEmailSuggest + orPhoneSuggest); 11367 } else { 11368 setTimeout(function () { 11369 if ( 11370 globalwpw.settings.obj.qcld_disable_repited_startmenu != 11371 "1" 11372 ) { 11373 wpwMsg.single_nobg( 11374 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 11375 wpwKits.randomMsg( 11376 globalwpw.settings.obj.back_to_start 11377 ) + 11378 "</span>" 11379 ); 11380 } 11381 }, globalwpw.settings.preLoadingTime * 2); 11382 } 11383 globalwpw.wildCard = 0; 11384 }, globalwpw.settings.preLoadingTime); 11385 } else { 11386 var restWarning = wpwKits.randomMsg( 11387 globalwpw.settings.obj.we_do_not_have_your_email 11388 ); 11389 var confirmBtn = 11390 '<span class="qcld-chat-common qcld_unsubscribe_again" >Try again?</span>'; 11391 wpwMsg.double_nobg(restWarning, confirmBtn); 11392 if ($(".chatbot_intent_reload").length > 0) { 11393 $(".chatbot_intent_reload").remove(); 11394 } 11395 } 11396 }); 11397 //wpwMsg.single('Collected valid email and trying to unsubscribe'); 11398 } else { 11399 globalwpw.unsubscriptionStep = "collectemailunsubscribe"; 11400 wpwMsg.single(validate); 11401 } 11402 } 11403 }, 11404 subscription: function (msg) { 11405 if ($(".chatbot_intent_reload").length == 0) { 11406 $("#wp-chatbot-editor-container").append( 11407 '<span class="chatbot_intent_reload" title="Restart the current intent" data-wildcard="3" data-step="welcome" data-intent-type="subscription" data-intent="subscription"><i class="fa fa-refresh" aria-hidden="true"></i></span>' 11408 ); 11409 } 11410 11411 if (globalwpw.subscriptionStep == "welcome") { 11412 var restWarning = wpwKits.randomMsg( 11413 globalwpw.settings.obj.do_you_want_to_subscribe 11414 ); 11415 var confirmBtn = 11416 '<span class="qcld-chat-common qcld_subscribe_confirm" subscription="yes" >' + 11417 wpwKits.render(globalwpw.settings.obj.yes) + 11418 "</span> <span> " + 11419 wpwKits.render(globalwpw.settings.obj.or) +
11420 ' </span><span class="qcld-chat-common qcld_subscribe_confirm" subscription="no">' + 11421 wpwKits.render(globalwpw.settings.obj.no) + 11422 "</span>"; 11423 if (globalwpw.settings.obj.enable_gdpr) { 11424 wpwMsg.triple_nobg( 11425 restWarning, 11426 wpwKits.render(globalwpw.settings.obj.gdpr_text), 11427 confirmBtn 11428 ); 11429 setTimeout(function () { 11430 wpwKits.disableEditor(""); 11431 }, 2000); 11432 } else { 11433 wpwMsg.double_nobg(restWarning, confirmBtn); 11434 setTimeout(function () { 11435 wpwKits.disableEditor(""); 11436 }, 1500); 11437 } 11438 } else if (globalwpw.subscriptionStep == "getname") { 11439 if ( 11440 typeof globalwpw.hasNameCookie == "undefined" || 11441 globalwpw.hasNameCookie == "" 11442 ) { 11443 var shopperName = wpwKits.render( 11444 globalwpw.settings.obj.shopper_demo_name 11445 ); 11446 } else { 11447 var shopperName = globalwpw.hasNameCookie; 11448 } 11449 11450 var askEmail = wpwKits.randomMsg(globalwpw.settings.obj.asking_email); 11451 wpwMsg.single(askEmail); 11452 globalwpw.subscriptionStep = "getemail"; 11453 } else if (globalwpw.subscriptionStep == "getemail") { 11454 globalwpw.shopperEmail = msg; 11455 var validate = ""; 11456 var re = 11457 /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; 11458 if (re.test(globalwpw.shopperEmail) != true) { 11459 validate = 11460 validate + wpwKits.randomMsg(globalwpw.settings.obj.invalid_email); 11461 } 11462 if (validate == "") { 11463 if ( 11464 typeof globalwpw.hasNameCookie == "undefined" || 11465 globalwpw.hasNameCookie == "" 11466 ) { 11467 var shopperName = wpwKits.render( 11468 globalwpw.settings.obj.shopper_demo_name 11469 ); 11470 } else { 11471 var shopperName = globalwpw.hasNameCookie; 11472 } 11473 11474 var data = { 11475 action: "qcld_wb_chatbot_email_subscription", 11476 name: shopperName, 11477 email: globalwpw.shopperEmail, 11478 url: window.location.href, 11479 }; 11480 11481 wpwKits.ajax(data).done(function (response) { 11482 var json = $.parseJSON(response); 11483 11484 if (json.status == "success") { 11485 var sucMsg = json.msg; 11486 wpwMsg.single(sucMsg); 11487 if ($(".chatbot_intent_reload").length > 0) { 11488 $(".chatbot_intent_reload").remove(); 11489 } 11490 setTimeout(function () { 11491 var orPhoneSuggest = ""; 11492 if (globalwpw.settings.obj.call_sup == "") { 11493 orPhoneSuggest = 11494 '<span class="qcld-chatbot-suggest-phone" >' + 11495 wpwKits.render(globalwpw.settings.obj.support_phone) + 11496 "</span>"; 11497 } 11498 var orEmailSuggest = 11499 '<span class="qcld-chatbot-suggest-email" >' + 11500 wpwKits.randomMsg(globalwpw.settings.obj.support_email) + 11501 "</span>"; 11502 wpwTree.start_menu_settings(); 11503 globalwpw.wildCard = 0; 11504 }, globalwpw.settings.preLoadingTime); 11505 } else { 11506 var failMsg = json.msg; 11507 wpwMsg.single(failMsg); 11508 if ($(".chatbot_intent_reload").length > 0) { 11509 $(".chatbot_intent_reload").remove(); 11510 } 11511 setTimeout(function () { 11512 wpwAction.bot( 11513 (wpwKits 11514 .render(globalwpw.settings.obj.sys_key_help) || '') 11515 .toLowerCase() 11516 ); 11517 }, globalwpw.settings.preLoadingTime); 11518 } 11519 }); 11520 } else { 11521 globalwpw.subscriptionStep = "getemail"; 11522 wpwMsg.single(validate); 11523 } 11524 } 11525 }, 11526 support: function (msg) { 11527 if (globalwpw.wildCard == 1 && globalwpw.supportStep == "welcome") { 11528 var welcomeMsg = wpwKits.randomMsg( 11529 globalwpw.settings.obj.support_welcome 11530 ); 11531 11532 var orPhoneSuggest = ""; 11533 if (
11534 globalwpw.settings.obj.support_query[globalwpw.settings.obj.language] 11535 .length > 0 11536 ) { 11537 var supportsItems = ""; 11538 var messenger = ""; 11539 if (globalwpw.settings.obj.enable_messenger == 1) { 11540 messenger += 11541 '<span class="qcld-chatbot-wildcard" data-wildcart="messenger">' + 11542 wpwKits.randomMsg(globalwpw.settings.obj.messenger_label) + 11543 "</span>"; 11544 } 11545 if (globalwpw.settings.obj.enable_whats == 1) { 11546 messenger += 11547 '<span class="qcld-chatbot-wildcard" data-wildcart="whatsapp">' + 11548 wpwKits.randomMsg(globalwpw.settings.obj.whats_label) + 11549 "</span>"; 11550 } 11551 if (globalwpw.settings.obj.disable_feedback == "") { 11552 messenger += 11553 '<span class="qcld-chatbot-suggest-email" >' + 11554 wpwKits.randomMsg(globalwpw.settings.obj.feedback_label) + 11555 "</span>"; 11556 } 11557 $.each( 11558 globalwpw.settings.obj.support_query[ 11559 globalwpw.settings.obj.language 11560 ], 11561 function (i, obj) { 11562 supportsItems += 11563 '<span class="qcld-chatbot-support-items" data-query-index="' + 11564 i + 11565 '">' + 11566 obj + 11567 "</span>"; 11568 } 11569 ); 11570 var orEmailSuggest = 11571 '<span class="qcld-chatbot-suggest-email" >' + 11572 wpwKits.randomMsg(globalwpw.settings.obj.support_email) + 11573 "</span>"; 11574 11575 if (globalwpw.settings.obj.call_sup == "") { 11576 orPhoneSuggest = 11577 '<span class="qcld-chatbot-suggest-phone" >' + 11578 wpwKits.render(globalwpw.settings.obj.support_phone) + 11579 "</span>"; 11580 } 11581 11582 var queryOrEmail = supportsItems; 11583 } else { 11584 if (globalwpw.settings.obj.call_sup == "") { 11585 orPhoneSuggest = 11586 '<span class="qcld-chatbot-suggest-phone" >' + 11587 wpwKits.render(globalwpw.settings.obj.support_phone) + 11588 "</span>"; 11589 } 11590 var queryOrEmail = 11591 '<span class="qcld-chatbot-suggest-email" >' + 11592 wpwKits.randomMsg(globalwpw.settings.obj.support_email) + 11593 "</span>" + 11594 orPhoneSuggest; 11595 } 11596 wpwMsg.double_nobg(welcomeMsg, queryOrEmail); 11597 11598 globalwpw.wildCard = 0; 11599 } else if (globalwpw.wildCard == 1 && globalwpw.supportStep == "email") { 11600 globalwpw.shopperEmail = msg; 11601 var validate = ""; 11602 var re = 11603 /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; 11604 if (re.test(globalwpw.shopperEmail) != true) { 11605 validate = 11606 validate + wpwKits.randomMsg(globalwpw.settings.obj.invalid_email); 11607 } 11608 if (validate == "") { 11609 var askingMsg = wpwKits.randomMsg(globalwpw.settings.obj.asking_msg); 11610 wpwMsg.single(askingMsg); 11611 globalwpw.supportStep = "message"; 11612 //keeping value in localstorage 11613 localStorage.setItem("supportStep", globalwpw.supportStep); 11614 } else { 11615 wpwMsg.single(validate); 11616 globalwpw.supportStep = "email"; 11617 //keeping value in localstorage 11618 localStorage.setItem("supportStep", globalwpw.supportStep); 11619 } 11620 } else if ( 11621 globalwpw.wildCard == 1 && 11622 globalwpw.supportStep == "message" 11623 ) { 11624 var data = { 11625 action: "qcld_wb_chatbot_support_email", 11626 name: globalwpw.hasNameCookie, 11627 email: globalwpw.shopperEmail, 11628 message: msg, 11629 url: window.location.href, 11630 }; 11631 11632 wpwKits.ajax(data).done(function (response) { 11633 var json = $.parseJSON(response); 11634 var orPhoneSuggest = ""; 11635 if (json.status == "success") { 11636 var sucMsg = wpwKits.render(json.message); 11637 wpwMsg.single(sucMsg); 11638 //Asking email after showing answer. 11639 setTimeout(function () { 11640 if (globalwpw.settings.obj.call_sup == "") { 11641 orPhoneSuggest = 11642 '<span class="qcld-chatbot-suggest-phone" >' + 11643 wpwKits.render(globalwpw.settings.obj.support_phone) + 11644 "</span>"; 11645 } 11646 var orEmailSuggest = 11647 '<span class="qcld-chatbot-suggest-email" >' + 11648 wpwKits.randomMsg(globalwpw.settings.obj.support_email) + 11649 "</span>"; 11650 wpwTree.start_menu_settings();
11651 globalwpw.wildCard = 0; 11652 }, globalwpw.settings.preLoadingTime); 11653 } else { 11654 var failMsg = wpwKits.render(json.message); 11655 wpwMsg.single(failMsg); 11656 //Asking email after showing answer. 11657 setTimeout(function () { 11658 if (globalwpw.settings.obj.call_sup == "") { 11659 orPhoneSuggest = 11660 '<span class="qcld-chatbot-suggest-phone" >' + 11661 wpwKits.render(globalwpw.settings.obj.support_phone) + 11662 "</span>"; 11663 } 11664 var orEmailSuggest = 11665 '<span class="qcld-chatbot-suggest-email" >' + 11666 wpwKits.randomMsg(globalwpw.settings.obj.support_email) + 11667 "</span>"; 11668 wpwTree.start_menu_settings(); 11669 globalwpw.wildCard = 0; 11670 }, globalwpw.settings.preLoadingTime); 11671 } 11672 }); 11673 } else if (globalwpw.wildCard == 1 && globalwpw.supportStep == "phone") { 11674 var data = { 11675 action: "qcld_wb_chatbot_support_phone", 11676 name: globalwpw.hasNameCookie, 11677 phone: msg, 11678 }; 11679 wpwKits.ajax(data).done(function (response) { 11680 var json = $.parseJSON(response); 11681 var orPhoneSuggest = ""; 11682 if (json.status == "success") { 11683 var sucMsg = wpwKits.render(json.message); 11684 wpwMsg.single(sucMsg); 11685 //Asking email after showing answer. 11686 setTimeout(function () { 11687 if (globalwpw.settings.obj.call_sup == "") { 11688 orPhoneSuggest = 11689 '<span class="qcld-chatbot-suggest-phone" >' + 11690 wpwKits.render(globalwpw.settings.obj.support_phone) + 11691 "</span>"; 11692 } 11693 var orEmailSuggest = 11694 '<span class="qcld-chatbot-suggest-email" >' + 11695 wpwKits.randomMsg(globalwpw.settings.obj.support_email) + 11696 "</span>"; 11697 wpwTree.start_menu_settings(); 11698 globalwpw.wildCard = 0; 11699 }, globalwpw.settings.preLoadingTime); 11700 } else if (json.status == "invalid") { 11701 var failMsg = wpwKits.render(json.message); 11702 wpwMsg.single(failMsg); 11703 globalwpw.supportStep = "phone"; 11704 globalwpw.wildCard = 1; 11705 //keeping value in localstorage 11706 localStorage.setItem("wildCard", globalwpw.wildCard); 11707 localStorage.setItem("supportStep", globalwpw.supportStep); 11708 } else { 11709 var failMsg = wpwKits.render(json.message); 11710 wpwMsg.single(failMsg); 11711 //Asking email after showing answer. 11712 setTimeout(function () { 11713 if (globalwpw.settings.obj.call_sup == "") { 11714 orPhoneSuggest = 11715 '<span class="qcld-chatbot-suggest-phone" >' + 11716 wpwKits.render(globalwpw.settings.obj.support_phone) + 11717 "</span>"; 11718 } 11719 var orEmailSuggest = 11720 '<span class="qcld-chatbot-suggest-email" >' + 11721 wpwKits.randomMsg(globalwpw.settings.obj.support_email) + 11722 "</span>"; 11723 wpwTree.start_menu_settings(); 11724 globalwpw.wildCard = 0; 11725 }, globalwpw.settings.preLoadingTime); 11726 } 11727 }); 11728 } else if (globalwpw.wildCard == 1 && globalwpw.supportStep == "search") { 11729 if (globalwpw.settings.obj.priority_openai_all == "1") { 11730 var openai_msg = msg; 11731 wpwMsg.open_ai_message_callback(openai_msg); 11732 } else if ( 11733 msg != "" && 11734 globalwpw.settings.obj.disable_sitesearch == "" && 11735 (globalwpw.settings.obj.qc_site_search_priority != "1" || 11736 globalwpw.supportStep == "search") 11737 ) { 11738 11739 var openai_msg = msg; 11740 msg = wpwKits.filterStopWords(msg); 11741 var data = { 11742 action: "wpbo_search_site", 11743 name: globalwpw.hasNameCookie, 11744 keyword: msg, 11745 language: globalwpw.settings.obj.language, 11746 }; 11747 if ( 11748 $(
11749 globalwpw.settings.messageLastChild + 11750 " .wp-chatbot-comment-loader" 11751 ).length == 0 11752 ) { 11753 $(globalwpw.settings.messageContainer).append( 11754 wpwKits.botPreloader() 11755 ); 11756 } 11757 wpwKits.ajax(data).done(function (response) { 11758 var json = $.parseJSON(response); 11759 if (json.status == "success") { 11760 $("#wp-chatbot-messages-container li .wp-chatbot-comment-loader") 11761 .parent(".wp-chatbot-paragraph") 11762 .hide(); 11763 $('span[data-wildcart="back"]').remove(); 11764 wpwMsg.single_nobg(json.html); 11765 wpwTree.start_menu_settings(); 11766 } else if ( 11767 wp_chatbot_obj.ollama_enabled == "1" || 11768 wp_chatbot_obj.openrouter_enabled == "1" || 11769 wp_chatbot_obj.open_ai_enable == "1" || 11770 wp_chatbot_obj.grok_enabled == "1" || 11771 wp_chatbot_obj.mistral_enabled == "1" || 11772 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 11773 globalwpw.settings.obj.tvlyai_enabled == "1" 11774 ) { 11775 wpwMsg.open_ai_message_callback(openai_msg); 11776 } else { 11777 var data = { 11778 action: "wpbo_failed_response", 11779 name: globalwpw.hasNameCookie, 11780 keyword: msg, 11781 }; 11782 wpwKits.ajax(data).done(function (res) { 11783 11784 if ( 11785 globalwpw.counter < 11786 globalwpw.settings.obj.no_result_attempt_count || 11787 globalwpw.settings.obj.no_result_attempt_count == 0 11788 ) { 11789 wpwMsg.single(wpwKits.randomMsg(json.html)); 11790 11791 if ( 11792 wpwKits.render( 11793 globalwpw.settings.obj.no_result_attempt_message 11794 ) != "" 11795 ) { 11796 setTimeout(function () { 11797 wpwMsg.single( 11798 wpwKits.render( 11799 globalwpw.settings.obj.no_result_attempt_message 11800 ) 11801 ); 11802 }, globalwpw.settings.preLoadingTime); 11803 } else { 11804 wpwTree.start_menu_settings(); 11805 } 11806 11807 globalwpw.counter = 0; 11808 } else { 11809 globalwpw.counter++; 11810 wpwMsg.double_nobg( 11811 wpwKits.randomMsg(json.html), 11812 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 11813 wpwKits.randomMsg(globalwpw.settings.obj.back_to_start) + 11814 "</span>" 11815 ); 11816 // wpwMsg.single(wpwKits.randomMsg(json.html)); 11817 } 11818 }); 11819 } 11820 globalwpw.wildCard = 0; 11821 }); 11822 } else if ( 11823 wp_chatbot_obj.ollama_enabled == "1" || 11824 wp_chatbot_obj.openrouter_enabled == "1" || 11825 wp_chatbot_obj.open_ai_enable == "1" || 11826 wp_chatbot_obj.grok_enabled == "1" || 11827 wp_chatbot_obj.mistral_enabled == "1" || 11828 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 11829 globalwpw.settings.obj.tvlyai_enabled == "1" 11830 ) { 11831 wpwMsg.open_ai_message_callback(openai_msg); 11832 } else { 11833 globalwpw.wildCard = 0; 11834 wpwMsg.single( 11835 wpwKits.randomMsg(globalwpw.settings.obj.empty_filter_msg) 11836 ); 11837 wpwTree.start_menu_settings(); 11838 } 11839 } else if ( 11840 globalwpw.wildCard == 1 && 11841 globalwpw.supportStep == "email_transcript" 11842 ) { 11843 wpwTree.email_transcript(msg); 11844 } 11845 }, 11846 email_transcript: function (msg) { 11847 var data = { 11848 action: "wpbot_send_email_transcript", 11849 session: localStorage.getItem("botsessionid"), 11850 email: msg, 11851 }; 11852 11853 if ( 11854 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 11855 .length == 0 11856 ) { 11857 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 11858 } 11859 wpwKits.ajax(data).done(function (response) { 11860 var json = $.parseJSON(response); 11861 var sucMsg = wpwKits.render(json.message); 11862 wpwMsg.double( 11863 sucMsg, 11864 wpwKits.render(globalwpw.settings.obj.qlcd_wp_chatbot_good_bye_text) 11865 ); 11866 setTimeout(function () { 11867 wpwKits.closeWindow(); 11868 wpwKits.doReset(); 11869 wpwKits.updateGlobalMenu(); 11870 wpwWelcome.greeting(); 11871 // if(globalwpw.initialize == 1){ 11872 // } 11873 }, 2000); 11874 }); 11875 }, 11876 goodbye: function (msg) { 11877 //code here 11878 if ( 11879 (globalwpw.settings.obj.is_chatsession_active || 11880 msg.toLowerCase() == "yes") &&
11881 globalwpw.settings.obj.disable_email_transcript != "1" 11882 ) { 11883 if (globalwpw.wildCard == 99) { 11884 if (globalwpw.askEmail == 1) { 11885 var userEmail = msg; 11886 localStorage.setItem("shopperemail", userEmail); 11887 var data = { 11888 action: "wpbot_send_email_transcript", 11889 session: localStorage.getItem("botsessionid"), 11890 email: localStorage.getItem("shopperemail"), 11891 }; 11892 11893 if ( 11894 $( 11895 globalwpw.settings.messageLastChild + 11896 " .wp-chatbot-comment-loader" 11897 ).length == 0 11898 ) { 11899 $(globalwpw.settings.messageContainer).append( 11900 wpwKits.botPreloader() 11901 ); 11902 } 11903 wpwKits.ajax(data).done(function (response) { 11904 var json = $.parseJSON(response); 11905 var sucMsg = wpwKits.render(json.message); 11906 wpwMsg.double( 11907 sucMsg, 11908 wpwKits.render( 11909 globalwpw.settings.obj.qlcd_wp_chatbot_good_bye_text 11910 ) 11911 ); 11912 setTimeout(function () { 11913 wpwKits.closeWindow(); 11914 wpwKits.doReset(); 11915 //LoadwpwBotPlugin = 0; 11916 }, 2000); 11917 }); 11918 } else { 11919 if ( 11920 msg.toLowerCase() == 11921 (wpwKits.render(globalwpw.settings.obj.yes) || '').toLowerCase() 11922 ) { 11923 // if ( !localStorage.getItem('shopperemail') ) { 11924 globalwpw.askEmail = 1; 11925 11926 setTimeout(function () { 11927 var emailsharetext = wpwKits.randomMsg( 11928 wp_chatbot_obj.asking_email 11929 ); 11930 if (globalwpw.settings.obj.enable_gdpr) { 11931 wpwMsg.double( 11932 emailsharetext, 11933 wpwKits.render(globalwpw.settings.obj.gdpr_text) 11934 ); 11935 globalwpw.supportStep = "email_transcript"; 11936 globalwpw.wildCard = 1; 11937 globalwpw.ai_step = 1; 11938 globalwpw.initialize = 0; 11939 //keeping value in localstorage 11940 localStorage.setItem("wildCard", globalwpw.wildCard); 11941 localStorage.setItem("supportStep", globalwpw.supportStep); 11942 } else { 11943 wpwMsg.single(emailsharetext); 11944 globalwpw.supportStep = "email_transcript"; 11945 globalwpw.wildCard = 1; 11946 globalwpw.ai_step = 1; 11947 globalwpw.initialize = 0; 11948 //keeping value in localstorage 11949 localStorage.setItem("wildCard", globalwpw.wildCard); 11950 localStorage.setItem("supportStep", globalwpw.supportStep); 11951 } 11952 }, globalwpw.settings.preLoadingTime); 11953 } else if ( 11954 msg.toLowerCase() == 11955 (wpwKits.render(globalwpw.settings.obj.no) || '').toLowerCase() 11956 ) { 11957 wpwMsg.single( 11958 wpwKits.render( 11959 globalwpw.settings.obj.qlcd_wp_chatbot_good_bye_text 11960 ) 11961 ); 11962 setTimeout(function () { 11963 wpwKits.doReset(); 11964 wpwKits.closeWindow(); 11965 wpwKits.updateGlobalMenu(); 11966 wpwWelcome.greeting(); 11967 }, 2000); 11968 } else { 11969 globalwpw.wildCard = 99; 11970 var transcripttext = wpwKits.render( 11971 globalwpw.settings.obj.qlcd_wp_chatbot_transcript_emailed 11972 ); 11973 var confirmBtn = 11974 '<span class="qcld-chat-common qcld-name-confirm qcld-goodbye-transcript-confirm" data-res="' + 11975 wpwKits.render(globalwpw.settings.obj.yes) + 11976 '" >' + 11977 wpwKits.render(globalwpw.settings.obj.yes) + 11978 "</span> <span> " + 11979 wpwKits.render(globalwpw.settings.obj.or) + 11980 ' </span><span class="qcld-chat-common qcld-name-confirm qcld-goodbye-transcript-confirm" data-res="' +
11981 wpwKits.render(globalwpw.settings.obj.no) + 11982 '">' + 11983 wpwKits.render(globalwpw.settings.obj.no) + 11984 "</span>"; 11985 wpwMsg.double(transcripttext, confirmBtn); 11986 } 11987 } 11988 } else { 11989 globalwpw.wildCard = 99; 11990 var transcripttext = wpwKits.render( 11991 globalwpw.settings.obj.qlcd_wp_chatbot_transcript_emailed 11992 ); 11993 var confirmBtn = 11994 '<span class="qcld-chat-common qcld-goodbye-transcript-confirm" data-res="yes" >' + 11995 wpwKits.render(globalwpw.settings.obj.yes) + 11996 "</span> <span> " + 11997 wpwKits.render(globalwpw.settings.obj.or) + 11998 ' </span><span class="qcld-chat-common qcld-name-confirm qcld-goodbye-transcript-confirm" data-res="no">' + 11999 wpwKits.render(globalwpw.settings.obj.no) + 12000 "</span>"; 12001 wpwMsg.double(transcripttext, confirmBtn); 12002 } 12003 } else { 12004 wpwMsg.single( 12005 wpwKits.render(globalwpw.settings.obj.qlcd_wp_chatbot_good_bye_text) 12006 ); 12007 setTimeout(function () { 12008 wpwKits.doReset(); 12009 wpwKits.closeWindow(); 12010 wpwKits.updateGlobalMenu(); 12011 wpwWelcome.greeting(); 12012 //LoadwpwBotPlugin = 0; 12013 }, 2000); 12014 } 12015 }, 12016 strHandler: function (msg, json = {}) { 12017 if ( 12018 $( 12019 globalwpw.settings.messageLastChild + 12020 " .wp-chatbot-comment-loader" 12021 ).length == 0 12022 ) { 12023 12024 $(globalwpw.settings.messageContainer).append( 12025 wpwKits.botPreloader() 12026 ); 12027 } 12028 if (Object.keys(json).length !== 0) { 12029 globalwpw.strObject = json; 12030 localStorage.setItem("strObject", JSON.stringify(globalwpw.strObject)); 12031 } 12032 if (typeof msg != "undefined") { 12033 msg = msg.trim(); 12034 } 12035 if (globalwpw.strStep == "match_query" && globalwpw.wildCard == 95) { 12036 if ( 12037 globalwpw.settings.obj.voice_addon && 12038 globalwpw.settings.obj.stt_service == "microsoft" 12039 ) { 12040 if (response_type == 1) { 12041 jQuery("#botstartvoicemicro").css("visibility", "visible"); 12042 } else if (response_type == 3) { 12043 jQuery("#wp-chatbot-editor").removeAttr("disabled"); 12044 jQuery("#wp-chatbot-editor").attr( 12045 "placeholder", 12046 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 12047 ); 12048 } 12049 response_type = 0; 12050 } 12051 //string_match 12052 var matched = false; 12053 globalwpw.strObject.data[0].users_answer.answer.forEach(function ( 12054 item, 12055 index 12056 ) { 12057 if (wpwKits.string_match(item, msg) && !matched) { 12058 matched = true; 12059 12060 var trigger_intent = 12061 globalwpw.strObject.data[0].users_answer.feedback[index]; 12062 globalwpw.strMatchfailed = 0; 12063 localStorage.setItem("strMatchfailed", globalwpw.strMatchfailed); 12064 globalwpw.wildCard = 0; 12065 localStorage.setItem("wildCard", globalwpw.wildCard); 12066 12067 setTimeout(function () { 12068 wpwKits.trigger_intent(trigger_intent); 12069 }, globalwpw.settings.preLoadingTime * 2); 12070 12071 if ( 12072 typeof globalwpw.strObject.data[0].users_answer.trigger_intent !== 12073 "undefined" && 12074 globalwpw.strObject.data[0].users_answer.trigger_intent != "" 12075 ) { 12076 var trigger_intent = 12077 globalwpw.strObject.data[0].users_answer.trigger_intent; 12078 globalwpw.strMatchfailed = 0; 12079 globalwpw.wildCard = 0; 12080 setTimeout(function () { 12081 wpwKits.trigger_intent(trigger_intent); 12082 }, globalwpw.settings.preLoadingTime * 2); 12083 } 12084 12085 //back to default workflow 12086 globalwpw.strMatchfailed = 0; 12087 localStorage.setItem("strMatchfailed", globalwpw.strMatchfailed); 12088 globalwpw.wildCard = 0; 12089 localStorage.setItem("wildCard", globalwpw.wildCard); 12090 } else {
12091 jQuery("#wp-chatbot-editor").prop("disabled", false); 12092 jQuery("#wp-chatbot-editor").attr("placeholder", ""); 12093 globalwpw.strMatchfailed = 0; 12094 localStorage.setItem("strMatchfailed", globalwpw.strMatchfailed); 12095 globalwpw.wildCard = 0; 12096 localStorage.setItem("wildCard", globalwpw.wildCard); 12097 wpwTree.start_menu_settings(); 12098 } 12099 }); 12100 if ( 12101 !matched && 12102 typeof globalwpw.strEntities[ 12103 globalwpw.strObject.data[0].users_answer.entity_name + 12104 globalwpw.strObject.data[0].id 12105 ] === "undefined" && 12106 globalwpw.strObject.data[0].users_answer.entity_is_required == 1 && 12107 globalwpw.strObject.data[0].users_answer.prompt_message != "" && 12108 globalwpw.strMatchfailed < 3 12109 ) { 12110 wpwMsg.single( 12111 globalwpw.strObject.data[0].users_answer.prompt_message 12112 ); 12113 globalwpw.strMatchfailed += 1; 12114 localStorage.setItem("strMatchfailed", globalwpw.strMatchfailed); 12115 } else if ( 12116 !matched && 12117 globalwpw.strObject.data[0].users_answer.not_match != "" && 12118 globalwpw.strMatchfailed == 0 12119 ) { 12120 globalwpw.strMatchfailed += 1; 12121 localStorage.setItem("strMatchfailed", globalwpw.strMatchfailed); 12122 wpwMsg.single(globalwpw.strObject.data[0].users_answer.not_match); 12123 12124 if ( 12125 globalwpw.settings.obj.voice_addon && 12126 globalwpw.settings.obj.stt_service == "microsoft" 12127 ) { 12128 response_type = 12129 globalwpw.strObject.data[0].users_answer.response_type; 12130 setTimeout(function () { 12131 if (response_type == 1) { 12132 jQuery("#botstartvoicemicro").css("visibility", "hidden"); 12133 } else if (response_type == 3) { 12134 jQuery("#wp-chatbot-editor").attr("disabled", "disabled"); 12135 jQuery("#wp-chatbot-editor").attr("placeholder", ""); 12136 } 12137 }, globalwpw.settings.preLoadingTime * 1.1); 12138 } 12139 } else if (!matched && globalwpw.strMatchfailed > 0) { 12140 // fallback to global intent. 12141 if ( 12142 typeof globalwpw.strObject.data[0].trigger_intent !== "undefined" && 12143 globalwpw.strObject.data[0].trigger_intent != "" 12144 ) { 12145 var trigger_intent = globalwpw.strObject.data[0].trigger_intent; 12146 setTimeout(function () { 12147 wpwKits.trigger_intent(trigger_intent); 12148 }, globalwpw.settings.preLoadingTime * 2); 12149 } else { 12150 wpwTree.start_menu_settings(); 12151 } 12152 } 12153 } else { 12154 if ( 12155 typeof globalwpw.strObject.category !== "undefined" && 12156 globalwpw.strObject.category 12157 ) { 12158 var question = ""; 12159 $.each(globalwpw.strObject.data, function (i, obj) { 12160 question += 12161 '<span class="qcld-chatbot-wildcard qcld_simple_txt_response">' + 12162 obj.query + 12163 "</span>"; 12164 }); 12165 wpwMsg.single_nobg(question); 12166 } else if (globalwpw.strObject.multiple) { 12167 var question = ""; 12168 $.each(json.data, function (i, obj) { 12169 question += 12170 '<span class="qcld-chatbot-wildcard qcld_simple_txt_response" data-strid="' + 12171 obj.id + 12172 '">' + 12173 obj.query + 12174 "</span>"; 12175 }); 12176 wpwMsg.double_nobg( 12177 wpwKits.randomMsg(globalwpw.settings.obj.did_you_mean), 12178 question 12179 ); 12180 } else { 12181 var serviceOffer = wpwKits.randomMsg( 12182 globalwpw.settings.obj.wildcard_msg 12183 ); 12184 if ( 12185 Object.keys(globalwpw.strObject).length != 0 && 12186 Object.keys(globalwpw.strObject).length > 0 12187 ) { 12188 if (globalwpw.strObject.data[0].followup == "") { 12189 if ( 12190 typeof globalwpw.strObject.data[0].trigger_intent !== 12191 "undefined" && 12192 globalwpw.strObject.data[0].trigger_intent != "" 12193 ) { 12194 wpwMsg.single(globalwpw.strObject.data[0].response); 12195 12196 wpwTree.start_menu_settings(); 12197 var trigger_intent = globalwpw.strObject.data[0].trigger_intent; 12198 setTimeout(function () { 12199 wpwKits.trigger_intent(trigger_intent); 12200 }
12200, globalwpw.settings.preLoadingTime * 2); 12201 } else { 12202 wpwMsg.single(globalwpw.strObject.data[0].response); 12203 wpwTree.start_menu_settings(); 12204 setTimeout(function () { 12205 if (response_type == 1) { 12206 jQuery("#botstartvoicemicro").css("visibility", "hidden"); 12207 } else if (response_type == 3) { 12208 jQuery("#wp-chatbot-editor").attr("disabled", "disabled"); 12209 jQuery("#wp-chatbot-editor").attr("placeholder", ""); 12210 } 12211 }, 1000); 12212 } 12213 globalwpw.strMatchfailed = 0; 12214 localStorage.setItem("strMatchfailed", globalwpw.strMatchfailed); 12215 globalwpw.wildCard = 0; 12216 localStorage.setItem("wildCard", globalwpw.wildCard); 12217 } else if ( 12218 typeof globalwpw.strObject.data[0].followup !== "undefined" && 12219 globalwpw.strObject.data[0].followup != "" 12220 ) { 12221 globalwpw.strStep = "match_query"; 12222 localStorage.setItem("strStep", globalwpw.strStep); 12223 globalwpw.wildCard = 95; 12224 localStorage.setItem("wildCard", globalwpw.wildCard); 12225 wpwKits.toggleAiFileUploadButton(); 12226 setTimeout(function () { 12227 wpwMsg.double( 12228 globalwpw.strObject.data[0].response, 12229 globalwpw.strObject.data[0].followup 12230 ); 12231 // need some condition 12232 if ( 12233 globalwpw.settings.obj.voice_addon && 12234 globalwpw.settings.obj.stt_service == "microsoft" 12235 ) { 12236 response_type = 12237 globalwpw.strObject.data[0].users_answer.response_type; 12238 setTimeout(function () { 12239 if (response_type == 1) { 12240 jQuery("#botstartvoicemicro").css("visibility", "hidden"); 12241 } else if (response_type == 3) { 12242 jQuery("#wp-chatbot-editor").attr("disabled", "disabled"); 12243 jQuery("#wp-chatbot-editor").attr("placeholder", ""); 12244 } 12245 }, 1000); 12246 } 12247 }, globalwpw.settings.preLoadingTime * 2); 12248 } else { 12249 if ( 12250 globalwpw.settings.obj.voice_addon && 12251 globalwpw.settings.obj.stt_service == "microsoft" 12252 ) { 12253 response_type = 12254 globalwpw.strObject.data[0].users_answer.response_type; 12255 setTimeout(function () { 12256 if (response_type == 1) { 12257 jQuery("#botstartvoicemicro").css("visibility", "hidden"); 12258 } else if (response_type == 3) { 12259 jQuery("#wp-chatbot-editor").attr("disabled", "disabled"); 12260 jQuery("#wp-chatbot-editor").attr("placeholder", ""); 12261 } 12262 }, globalwpw.settings.preLoadingTime * 3); 12263 } 12264 } 12265 } else { 12266 if ( 12267 typeof globalwpw.strObject.data[0].trigger_intent !== 12268 "undefined" && 12269 globalwpw.strObject.data[0].trigger_intent != "" 12270 ) { 12271 setTimeout(function () { 12272 wpwKits.trigger_intent( 12273 globalwpw.strObject.data[0].trigger_intent 12274 ); 12275 }, globalwpw.settings.preLoadingTime * 2); 12276 } else if ( 12277 typeof globalwpw.strObject.data[0].followup !== "undefined" && 12278 globalwpw.strObject.data[0].followup != "" 12279 ) { 12280 if (globalwpw.strObject.data[0].followup != "") { 12281 setTimeout(function () { 12282 var folllowupmsg = globalwpw.strObject.data[0].followup; 12283 wpwMsg.single(folllowupmsg + " "); 12284 }, globalwpw.settings.preLoadingTime * 3); 12285 } 12286 } else { 12287 wpwTree.start_menu_settings(); 12288 } 12289 } 12290 } 12291 } 12292 }, 12293 formbuilder: function (msg) { 12294 //destroy date picker 12295 // if ( jQuery.isFunction(jQuery.fn.datetimepicker) ) { 12296 if (
12297 typeof jQuery("#wp-chatbot-editor").data("DateTimePicker") == "object" 12298 ) { 12299 if (jQuery("#wp-chatbot-editor").data("DateTimePicker")) { 12300 jQuery("#wp-chatbot-editor").data("DateTimePicker").destroy(); 12301 } 12302 } 12303 jQuery("#wp-chatbot-editor").attr("type", "text"); 12304 jQuery("#wp-chatbot-editor").prop("disabled", false); 12305 jQuery("#wp-chatbot-editor").removeAttr("multiple"); 12306 12307 jQuery("#wp-chatbot-editor").removeClass("qcphonebasicus"); 12308 jQuery("#wp-chatbot-editor").removeClass("qcnumberfield"); 12309 jQuery("#wp-chatbot-editor").removeAttr("minlength"); 12310 jQuery("#wp-chatbot-editor").removeAttr("maxlength"); 12311 12312 if (globalwpw.wildCard == 7 && globalwpw.formStep == "welcome") { 12313 if (!localStorage.getItem("botsessionid")) { 12314 var number = Math.random(); // 0.9394456857981651 12315 number.toString(36); // '0.xtis06h6' 12316 var id = number.toString(36).substr(2); // 'xtis06h6' 12317 12318 localStorage.setItem("botsessionid", id); 12319 } 12320 12321 var data = { 12322 action: "wpbot_get_form", 12323 formid: msg, 12324 session: localStorage.getItem("botsessionid"), 12325 }; 12326 if ( 12327 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 12328 .length == 0 12329 ) { 12330 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 12331 } 12332 wpwKits.ajax(data).done(function (response) { 12333 var json = $.parseJSON(response); 12334 if ( 12335 jQuery('.wp-chatbot-operation-option[data-option="chat"]').length > 12336 0 && 12337 jQuery('.wp-chatbot-operation-option[data-option="chat"]').is( 12338 ":visible" 12339 ) 12340 ) { 12341 wpwKits.showtooltip( 12342 jQuery('.wp-chatbot-operation-option[data-option="chat"]') 12343 ); 12344 setTimeout(function () { 12345 $("#bottooltip").hide("slow"); 12346 }, 5000); 12347 } 12348 globalwpw.prevform = json.ID; 12349 globalwpw.formfieldid = json.ID; 12350 localStorage.setItem("formfieldid", globalwpw.formfieldid); 12351 globalwpw.formStep = "field"; 12352 localStorage.setItem("formStep", globalwpw.formStep); 12353 globalwpw.formid = msg; 12354 localStorage.setItem("formid", globalwpw.formid); 12355 localStorage.setItem("wildCard", globalwpw.wildCard); 12356 12357 var label = json.label; 12358 label = label.replace("#name", localStorage.getItem("shopper")); 12359 if (json.type == "text") { 12360 if (json.hasOwnProperty("additional") && json.additional != "") { 12361 label += 12362 '<i class="wpbot_addition_label">' + json.additional + "</i>"; 12363 } 12364 if (json.hasOwnProperty("skip") && json.skip == "1") { 12365 var skip_html = '<span class="qcld-chatbot-formanswer" data-form-value="skip">Skip</span>'; 12366 wpwMsg.double_nobg(label, skip_html); 12367 } else { 12368 wpwMsg.single(label); 12369 } 12370 12371 jQuery("#wp-chatbot-editor").val(""); 12372 if ( 12373 json.hasOwnProperty("config") && 12374 json.config.hasOwnProperty("min") && 12375 json.config.min > 0 12376 ) { 12377 jQuery("#wp-chatbot-editor").attr("minlength", json.config.min); 12378 } 12379 if ( 12380 json.hasOwnProperty("config") && 12381 json.config.hasOwnProperty("max") && 12382 json.config.max > 0 12383 ) { 12384 jQuery("#wp-chatbot-editor").attr("maxlength", json.config.max); 12385 } 12386 $(globalwpw.settings.messageContainer).find('.wp-chatbot-msg:last ').css('display', 'block'); 12387 } else if (json.type == "dropdown") { 12388 var html = ""; 12389 if (json.hasOwnProperty("show_as_dropdown") && json.show_as_dropdown == 1) { 12390 var placeholder = (json.config.hasOwnProperty("placeholder") && json.config.placeholder != "") ? json.config.placeholder : "Select Option"; 12391 html += '<select class="qcld-chatbot-dropdown-select" style="width: 100%; max-width: 250px; padding: 10px 15px; border-radius: 20px; border: 1px solid #ccc; background-color: #fff; color: #333; font-size: 14px; margin-top: 5px; outline: none; box-shadow: 0 2px 5px rgba(0,0,0,0.1); cursor: pointer; transition: border-color 0.3s ease;">'; 12392 html += '<option value="">' + placeholder + '</option>'; 12393 jQuery.each(json.config.option, function (key, value) { 12394 html += '<option value="' + value.value + '">' + value.label + '</option>'; 12395 }); 12396 if (json.hasOwnProperty("skip") && json.skip == "1") { 12397 html += '<option value="skip">Skip</option>'; 12398 } 12399 html += '</select>'; 12400 } else { 12401 jQuery.each(json.config.option, function (key, value) { 12402 html += 12403 '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="' + 12404 value.value + 12405 '" >' + 12406 value.label + 12407 "</span>"; 12408 }); 12409 if (json.hasOwnProperty("skip") && json.skip == "1") { 12410 html += '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>'; 12411 } 12412 } 12413 12414 if (json.hasOwnProperty("additional") && json.additional != "") { 12415 label += 12416 '<i class="wpbot_addition_label">' + json.additional + "</i>"; 12417 } 12418 if (label.length == 0) { 12419 wpwMsg.single(html); 12420 } else { 12421 wpwMsg.double(label, html); 12422 } 12423 12424 setTimeout(function () {
12425 jQuery("#wp-chatbot-editor").prop("disabled", true); 12426 }, globalwpw.settings.preLoadingTime * 2.2); 12427 } else if (json.type == "checkbox") { 12428 var html = ""; 12429 jQuery.each(json.config.option, function (key, value) { 12430 html += 12431 '<input type="checkbox" class="qcld-chatbot-checkbox" value="' + 12432 value.value + 12433 '">' + 12434 value.label + 12435 "<br>"; 12436 }); 12437 if (json.hasOwnProperty("skip") && json.skip == "1") { 12438 html += '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>'; 12439 } 12440 12441 if (json.hasOwnProperty("additional") && json.additional != "") { 12442 label += 12443 '<i class="wpbot_addition_label">' + json.additional + "</i>"; 12444 } 12445 wpwMsg.double(label, html); 12446 } else if (json.type == "number") { 12447 if (json.hasOwnProperty("additional") && json.additional != "") { 12448 label += 12449 '<i class="wpbot_addition_label">' + json.additional + "</i>"; 12450 } 12451 if (json.hasOwnProperty("skip") && json.skip == "1") { 12452 var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>'; 12453 wpwMsg.double(label, skip_html); 12454 } else { 12455 wpwMsg.single(label); 12456 } 12457 12458 jQuery("#wp-chatbot-editor").addClass("qcnumberfield"); 12459 12460 if ( 12461 json.hasOwnProperty("config") && 12462 json.config.hasOwnProperty("min") && 12463 json.config.min > 0 12464 ) { 12465 jQuery("#wp-chatbot-editor").attr("minlength", json.config.min); 12466 } 12467 12468 if ( 12469 json.hasOwnProperty("config") && 12470 json.config.hasOwnProperty("max") && 12471 json.config.max > 0 12472 ) { 12473 jQuery("#wp-chatbot-editor").attr("maxlength", json.config.max); 12474 } 12475 } else if (json.type == "date_picker") { 12476 if (json.hasOwnProperty("additional") && json.additional != "") { 12477 label += 12478 '<i class="wpbot_addition_label">' + json.additional + "</i>"; 12479 } 12480 if (json.hasOwnProperty("skip") && json.skip == "1") { 12481 var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>'; 12482 wpwMsg.double(label, skip_html); 12483 } else { 12484 wpwMsg.single(label); 12485 } 12486 12487 jQuery("#wp-chatbot-editor").blur(); 12488 jQuery("#wp-chatbot-editor").datepicker(); 12489 } else if (json.type == "email") { 12490 if (json.hasOwnProperty("additional") && json.additional != "") { 12491 label += 12492 '<i class="wpbot_addition_label">' + json.additional + "</i>"; 12493 } 12494 if (json.hasOwnProperty("skip") && json.skip == "1") { 12495 var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>'; 12496 wpwMsg.double(label, skip_html); 12497 } else { 12498 wpwMsg.single(label); 12499 } 12500 12501 jQuery("#wp-chatbot-editor").attr("type", "email"); 12502 } else if (json.type == "calendar") { 12503 if (json.hasOwnProperty("additional") && json.additional != "") { 12504 label += 12505 '<i class="wpbot_addition_label">' + json.additional + "</i>"; 12506 } 12507 if (json.hasOwnProperty("skip") && json.skip == "1") { 12508 var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>'; 12509 wpwMsg.double(label, skip_html); 12510 } else { 12511 wpwMsg.single(label); 12512 } 12513 jQuery("#wp-chatbot-editor").attr("disabled", "disabled"); 12514 } else if (json.type == "url") { 12515 if (json.hasOwnProperty("additional") && json.additional != "") { 12516 label += 12517 '<i class="wpbot_addition_label">' + json.additional + "</i>"; 12518 } 12519 if (json.hasOwnProperty("skip") && json.skip == "1") { 12520 var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>'; 12521 wpwMsg.double(label, skip_html); 12522 } else { 12523 wpwMsg.single(label); 12524 } 12525
12526 jQuery("#wp-chatbot-editor").attr("type", "url"); 12527 } else if (json.type == "phone") { 12528 if (json.hasOwnProperty("skip") && json.skip == "1") { 12529 var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>'; 12530 wpwMsg.double(label, skip_html); 12531 } else { 12532 wpwMsg.single(label); 12533 } 12534 12535 jQuery("#wp-chatbot-editor").addClass("qcphonebasicus"); 12536 } else if (json.type == "html") { 12537 if (json.hasOwnProperty("show_as_menu") && json.show_as_menu == 1) { 12538 wpwMsg.single_nobg( 12539 json.config.default.replace( 12540 "#name", 12541 localStorage.getItem("shopper") 12542 ) 12543 ); 12544 } else { 12545 wpwMsg.single( 12546 json.config.default.replace( 12547 "#name", 12548 localStorage.getItem("shopper") 12549 ) 12550 ); 12551 } 12552 12553 globalwpw.formfieldid = json.ID; 12554 localStorage.setItem("formfieldid", globalwpw.formfieldid); 12555 globalwpw.formentry = json.entry; 12556 localStorage.setItem("formentry", globalwpw.formentry); 12557 setTimeout(function () { 12558 if ( 12559 !json.hasOwnProperty("show_as_menu") || 12560 json.show_as_menu != 1 12561 ) { 12562 wpwTree.formbuilder(); 12563 } 12564 }, globalwpw.settings.preLoadingTime); 12565 } else if (json.type == "payment") { 12566 wpwKits.wpwHandlePaymentFieldStep(json); 12567 } else if (json.type == "hidden" && json.slug == "name") { 12568 var name = localStorage.getItem("shopper"); 12569 if (globalwpw.settings.obj.order_login == 1) { 12570 name = globalwpw.settings.obj.order_user; 12571 } 12572 wpwTree.formbuilder(name); 12573 } else { 12574 if (json.hasOwnProperty("additional") && json.additional != "") { 12575 label += 12576 '<i class="wpbot_addition_label">' + json.additional + "</i>"; 12577 } 12578 wpwMsg.single(label); 12579 } 12580 }); 12581 } else if (globalwpw.wildCard == 7 && globalwpw.formStep == "field") { 12582 var data = { 12583 action: "wpbot_capture_form_value", 12584 formid: globalwpw.formid, 12585 fieldid: globalwpw.formfieldid, 12586 answer: msg, 12587 entry: globalwpw.formentry, 12588 session: localStorage.getItem("botsessionid"), 12589 name: globalwpw.hasNameCookie, 12590 email: localStorage.getItem("shopperemail"), 12591 conversation: localStorage.getItem("wpwHitory"), 12592 url: window.location.href, 12593 }; 12594 if ( 12595 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 12596 .length == 0 12597 ) { 12598 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 12599 } 12600 wpwKits.ajax(data).done(function (response) { 12601 var json = $.parseJSON(response); 12602 if ( 12603 jQuery("#wp-chatbot-editor").data("datepicker") != null && 12604 json.type != "date_picker" 12605 ) { 12606 jQuery("#wp-chatbot-editor").datepicker("disable"); 12607 jQuery("#wp-chatbot-editor").removeClass("hasDatepicker"); 12608 document.getElementById("wp-chatbot-editor").disabled = false; 12609 } 12610 if (json.status == "incomplete") { 12611 if (json.type == "openAI") { 12612 wpwMsg.single(json.msg); 12613 } 12614 if (json.type != "html") { 12615 if ($(".chatbot_intent_reload").length > 0) { 12616 $(".chatbot_intent_reload").remove(); 12617 } 12618 wpwKits.render(globalwpw.settings.obj.go_back_tooltip); 12619 $("#wp-chatbot-editor-container").append( 12620 '<span class="chatbot_intent_reload" title="' + 12621 wpwKits.render(globalwpw.settings.obj.go_back_tooltip) + 12622 '" data-wildcard="7" data-step="welcome" data-intent-type="formbuilder" data-intent="' +
12623 globalwpw.prevform + 12624 '"><i class="fa fa-undo" aria-hidden="true"></i></span>' 12625 ); 12626 globalwpw.prevform = globalwpw.formfieldid; 12627 } 12628 globalwpw.formStep = "field"; 12629 localStorage.setItem("formStep", globalwpw.formStep); 12630 globalwpw.formfieldid = json.ID; 12631 localStorage.setItem("formfieldid", globalwpw.formfieldid); 12632 globalwpw.formentry = json.entry; 12633 localStorage.setItem("formentry", globalwpw.formentry); 12634 var label = json.label; 12635 if (label.length > 1 && typeof label === "string") { 12636 label = label.replace("#name", localStorage.getItem("shopper")); 12637 } 12638 if (json.type == "text") { 12639 if (json.hasOwnProperty("additional") && json.additional != "") { 12640 label += 12641 '<i class="wpbot_addition_label">' + json.additional + "</i>"; 12642 } 12643 if (json.hasOwnProperty("skip") && json.skip == "1") { 12644 var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>'; 12645 wpwMsg.double(label, skip_html); 12646 } else { 12647 wpwMsg.single(label); 12648 } 12649 12650 if ( 12651 json.hasOwnProperty("config") && 12652 json.config.hasOwnProperty("min") && 12653 json.config.min > 0 12654 ) { 12655 jQuery("#wp-chatbot-editor").attr("minlength", json.config.min); 12656 } 12657 12658 if ( 12659 json.hasOwnProperty("config") && 12660 json.config.hasOwnProperty("max") && 12661 json.config.max > 0 12662 ) { 12663 jQuery("#wp-chatbot-editor").attr("maxlength", json.config.max); 12664 } 12665 } else if (json.type == "dropdown") { 12666 var html = ""; 12667 if (json.hasOwnProperty("show_as_dropdown") && json.show_as_dropdown == 1) { 12668 var placeholder = (json.config.hasOwnProperty("placeholder") && json.config.placeholder != "") ? json.config.placeholder : "Select Option"; 12669 html += '<select class="qcld-chatbot-dropdown-select" style="width: 100%; max-width: 250px; padding: 10px 15px; border-radius: 20px; border: 1px solid #ccc; background-color: #fff; color: #333; font-size: 14px; margin-top: 5px; outline: none; box-shadow: 0 2px 5px rgba(0,0,0,0.1); cursor: pointer; transition: border-color 0.3s ease;">'; 12670 html += '<option value="">' + placeholder + '</option>'; 12671 jQuery.each(json.config.option, function (key, value) { 12672 html += '<option value="' + value.value + '">' + value.label + '</option>'; 12673 }); 12674 if (json.hasOwnProperty("skip") && json.skip == "1") { 12675 html += '<option value="skip">Skip</option>'; 12676 } 12677 html += '</select>'; 12678 } else { 12679 jQuery.each(json.config.option, function (key, value) { 12680 html += 12681 '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="' + 12682 value.value + 12683 '" >' + 12684 value.label + 12685 "</span>"; 12686 }); 12687 if (json.hasOwnProperty("skip") && json.skip == "1") { 12688 html += '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>'; 12689 } 12690 } 12691 if (json.hasOwnProperty("additional") && json.additional != "") { 12692 label += 12693 '<i class="wpbot_addition_label">' + json.additional + "</i>"; 12694 } 12695 12696 if (label.length == 0) { 12697 wpwMsg.single(html); 12698 // wpwMsg.double(msg, html); 12699 } else { 12700 // wpwMsg.triple_nobg(msg,label, html); 12701 wpwMsg.double(label, html); 12702 } 12703 12704 setTimeout(function () {
12705 jQuery("#wp-chatbot-editor").prop("disabled", true); 12706 }, globalwpw.settings.preLoadingTime * 2.2); 12707 } else if (json.type == "checkbox") { 12708 var html = ""; 12709 jQuery.each(json.config.option, function (key, value) { 12710 html += 12711 '<input type="checkbox" class="qcld-chatbot-checkbox" value="' + 12712 value.value + 12713 '">' + 12714 value.label + 12715 "<br>"; 12716 }); 12717 if (json.hasOwnProperty("skip") && json.skip == "1") { 12718 html += '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>'; 12719 } 12720 if (json.hasOwnProperty("additional") && json.additional != "") { 12721 label += 12722 '<i class="wpbot_addition_label">' + json.additional + "</i>"; 12723 } 12724 wpwMsg.double(label, html); 12725 } else if (json.type == "html") { 12726 if ( 12727 json.hasOwnProperty("show_as_menu") && 12728 json.show_as_menu == 1 12729 ) { 12730 var html_msg = json.config.default.replace( 12731 "/\n/", 12732 localStorage.getItem("shopper") 12733 ); 12734 wpwMsg.single_nobg( 12735 html_msg.replace("#name", localStorage.getItem("shopper")) 12736 ); 12737 } else { 12738 var html_msg = json.config.default.replace( 12739 "/\n/", 12740 localStorage.getItem("shopper") 12741 ); 12742 wpwMsg.single( 12743 html_msg.replace("#name", localStorage.getItem("shopper")) 12744 ); 12745 } 12746 12747 setTimeout(function () { 12748 if ( 12749 !json.hasOwnProperty("show_as_menu") || 12750 json.show_as_menu != 1 12751 ) { 12752 wpwTree.formbuilder(); 12753 } 12754 }, globalwpw.settings.preLoadingTime); 12755 } else if (json.type == "payment") { 12756 wpwKits.wpwHandlePaymentFieldStep(json); 12757 } else if (json.type == "date_picker") { 12758 if (json.hasOwnProperty("additional") && json.additional != "") { 12759 label += 12760 '<i class="wpbot_addition_label">' + json.additional + "</i>"; 12761 } 12762 if (json.hasOwnProperty("skip") && json.skip == "1") { 12763 var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>'; 12764 wpwMsg.double(label, skip_html); 12765 } else { 12766 wpwMsg.single(label); 12767 } 12768 12769 jQuery("#wp-chatbot-editor").blur(); 12770 jQuery("#wp-chatbot-editor").datepicker(); 12771 } else if (json.type == "number") { 12772 if (json.hasOwnProperty("additional") && json.additional != "") { 12773 label += 12774 '<i class="wpbot_addition_label">' + json.additional + "</i>"; 12775 } 12776 if (json.hasOwnProperty("skip") && json.skip == "1") { 12777 var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>'; 12778 wpwMsg.double(label, skip_html); 12779 } else { 12780 wpwMsg.single(label); 12781 } 12782 12783 jQuery("#wp-chatbot-editor").addClass("qcnumberfield"); 12784 if ( 12785 json.hasOwnProperty("config") && 12786 json.config.hasOwnProperty("min") && 12787 json.config.min > 0 12788 ) { 12789 jQuery("#wp-chatbot-editor").attr("minlength", json.config.min); 12790 } 12791 12792 if ( 12793 json.hasOwnProperty("config") && 12794 json.config.hasOwnProperty("max") && 12795 json.config.max > 0 12796 ) { 12797 jQuery("#wp-chatbot-editor").attr("maxlength", json.config.max); 12798 } 12799 } else if (json.type == "email") { 12800 if (json.hasOwnProperty("additional") && json.additional != "") { 12801 label += 12802 '<i class="wpbot_addition_label">' + json.additional + "</i>"; 12803 } 12804 if (json.hasOwnProperty("skip") && json.skip == "1") { 12805 var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>'; 12806 wpwMsg.double(label, skip_html); 12807 } else { 12808 wpwMsg.single(label); 12809 } 12810
12811 jQuery("#wp-chatbot-editor").attr("type", "email"); 12812 } else if (json.type == "calendar") { 12813 if (json.hasOwnProperty("additional") && json.additional != "") { 12814 label += 12815 '<i class="wpbot_addition_label">' + json.additional + "</i>"; 12816 } 12817 if (json.hasOwnProperty("skip") && json.skip == "1") { 12818 var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>'; 12819 wpwMsg.double(label, skip_html); 12820 } else { 12821 wpwMsg.single(label); 12822 } 12823 jQuery("#wp-chatbot-editor").attr("disabled", "disabled"); 12824 } else if (json.type == "url") { 12825 if (json.hasOwnProperty("additional") && json.additional != "") { 12826 label += 12827 '<i class="wpbot_addition_label">' + json.additional + "</i>"; 12828 } 12829 if (json.hasOwnProperty("skip") && json.skip == "1") { 12830 var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>'; 12831 wpwMsg.double(label, skip_html); 12832 } else { 12833 wpwMsg.single(label); 12834 } 12835 12836 jQuery("#wp-chatbot-editor").attr("type", "url"); 12837 } else if (json.type == "phone") { 12838 if (json.hasOwnProperty("skip") && json.skip == "1") { 12839 var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>'; 12840 wpwMsg.double(label, skip_html); 12841 } else { 12842 wpwMsg.single(label); 12843 } 12844 12845 jQuery("#wp-chatbot-editor").addClass("qcphonebasicus"); 12846 } else if (json.type == "calculation") { 12847 let calresult = json.calresult; 12848 calresult = eval(calresult); 12849 setTimeout(function () { 12850 var cal = 12851 json.calbefore + 12852 " " + 12853 calresult.toFixed(2) + 12854 " " + 12855 json.calafter; 12856 wpwTree.formbuilder(cal); 12857 wpwMsg.single(cal); 12858 }, globalwpw.settings.preLoadingTime); 12859 } else if (json.type == "hidden") { 12860 var email = json.config.default; 12861 if ( 12862 globalwpw.settings.obj.order_login == 1 && 12863 json.slug == "email" 12864 ) { 12865 email = globalwpw.settings.obj.order_email; 12866 } 12867 wpwTree.formbuilder(email); 12868 } else if (json.type == "file") { 12869 if (json.hasOwnProperty("additional") && json.additional != "") { 12870 label += 12871 '<i class="wpbot_addition_label">' + json.additional + "</i>"; 12872 } 12873 12874 jQuery("#wp-chatbot-editor").attr("type", "file"); 12875 jQuery("#wp-chatbot-editor").attr("multiple", "multiple"); 12876 wpwKits.toggleAiFileUploadButton(); 12877 12878 if (json.hasOwnProperty("skip") && json.skip == "1") { 12879 var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>'; 12880 wpwMsg.double(label, skip_html); 12881 } else { 12882 wpwMsg.single(label); 12883 } 12884 } else { 12885 if (json.hasOwnProperty("additional") && json.additional != "") { 12886 label += 12887 '<i class="wpbot_addition_label">' + json.additional + "</i>"; 12888 } 12889 if (json.hasOwnProperty("skip") && json.skip == "1") { 12890 var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>'; 12891 wpwMsg.double(label, skip_html); 12892 } else { 12893 wpwMsg.single(label); 12894 } 12895 } 12896 } else { 12897 if (json.type == "openAI") { 12898 setTimeout(function () { 12899 wpwMsg.single(json.msg); 12900 }, 500); 12901 setTimeout(function () { 12902 var scrollto = jQuery(globalwpw.settings.messageWrapper).prop( 12903 "scrollHeight" 12904 ); 12905 var $botContainer = jQuery(globalwpw.settings.botContainer); 12906 if ($botContainer.parent().hasClass("slimScrollDiv")) { 12907 $botContainer.slimScroll({ 12908 scrollTo: scrollto + "px", 12909 }); 12910 } else { 12911 $botContainer.scrollTop(scrollto); 12912 } 12913 }, 500); 12914 setTimeout(function () { 12915 if (json.status == "complete") { 12916 wpwTree.start_menu_settings();
12917 globalwpw.wildCard = 0; 12918 } 12919 }, 1000); 12920 } else { 12921 if (json.status == "complete" && json.payment) { 12922 wpwKits.wpwShowInlinePaymentCheckout(json.url || "", { 12923 gateway: "stripe", 12924 amount: json.amount || "", 12925 currency: json.currency || "", 12926 item: json.item || "", 12927 client_secret: json.client_secret || "", 12928 publishable_key: json.publishable_key || "", 12929 inline_checkout: json.inline_checkout || 0, 12930 }); 12931 } else if ( 12932 json.status == "complete" && 12933 typeof json.url !== "undefined" 12934 ) { 12935 window.open(json.url, "_blank"); 12936 } 12937 if (json.status == "complete" && json.payment_error) { 12938 wpwMsg.single(json.payment_error); 12939 } 12940 if ($(".chatbot_intent_reload").length > 0) { 12941 $(".chatbot_intent_reload").attr("data-step", "complete"); 12942 } 12943 globalwpw.formfieldid = ""; 12944 localStorage.setItem("formfieldid", globalwpw.formfieldid); 12945 globalwpw.formStep = "welcome"; 12946 localStorage.setItem("formStep", globalwpw.formStep); 12947 globalwpw.formid = ""; 12948 localStorage.setItem("formid", globalwpw.formid); 12949 globalwpw.wildCard = 0; 12950 localStorage.setItem("wildCard", globalwpw.wildCard); 12951 globalwpw.formentry = 0; 12952 localStorage.setItem("formentry", globalwpw.formentry); 12953 wpwKits.enableEditor( 12954 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 12955 ); 12956 globalwpw.wpwIsWorking = 1; 12957 if (json.status == "complete") { 12958 wpwTree.start_menu_settings(); 12959 } 12960 } 12961 } 12962 }); 12963 } 12964 }, 12965 formbuilder_force_complete: function (msg) { 12966 //destroy date picker 12967 //if ( jQuery.isFunction(jQuery.fn.datetimepicker) ) { 12968 if (typeof jQuery.fn.datetimepicker === "function") { 12969 if (jQuery("#wp-chatbot-editor").data("DateTimePicker")) { 12970 jQuery("#wp-chatbot-editor").data("DateTimePicker").destroy(); 12971 } 12972 } 12973 jQuery("#wp-chatbot-editor").attr("type", "text"); 12974 jQuery("#wp-chatbot-editor").prop("disabled", false); 12975 jQuery("#wp-chatbot-editor").removeAttr("multiple"); 12976 12977 jQuery("#wp-chatbot-editor").removeClass("qcphonebasicus"); 12978 jQuery("#wp-chatbot-editor").removeClass("qcnumberfield"); 12979 jQuery("#wp-chatbot-editor").removeAttr("minlength"); 12980 jQuery("#wp-chatbot-editor").removeAttr("maxlength"); 12981 12982 if (globalwpw.wildCard == 7 && globalwpw.formStep == "field") { 12983 var data = { 12984 action: "wpbot_capture_form_value", 12985 formid: globalwpw.formid, 12986 fieldid: globalwpw.formfieldid, 12987 answer: msg, 12988 entry: globalwpw.formentry, 12989 session: localStorage.getItem("botsessionid"), 12990 name: globalwpw.hasNameCookie, 12991 email: localStorage.getItem("shopperemail"), 12992 url: window.location.href, 12993 conversation: localStorage.getItem("wpwHitory"), 12994 do_complete: 1, 12995 }; 12996 12997 globalwpw.formfieldid = ""; 12998 localStorage.setItem("formfieldid", globalwpw.formfieldid); 12999 globalwpw.formStep = "welcome"; 13000 localStorage.setItem("formStep", globalwpw.formStep); 13001 globalwpw.formid = ""; 13002 localStorage.setItem("formid", globalwpw.formid); 13003 globalwpw.wildCard = 0; 13004 localStorage.setItem("wildCard", globalwpw.wildCard); 13005 globalwpw.formentry = 0; 13006 localStorage.setItem("formentry", globalwpw.formentry); 13007 13008 wpwKits.ajax(data).done(function (response) { 13009 var json = $.parseJSON(response); 13010 if (json.status == "complete") { 13011 wpwTree.start_menu_settings(); 13012 } 13013 }); 13014 } 13015 }, 13016 bargain: function (msg) { 13017 if (
13018 globalwpw.wildCard == 9 && 13019 globalwpw.bargainStep == "welcome" && 13020 globalwpw.bargainId != "" 13021 ) { 13022 var data = { 13023 action: "qcld_woo_bargin_product", 13024 qcld_woo_map_product_id: globalwpw.bargainId, 13025 qcld_woo_map_variation_id: globalwpw.bargainVId, 13026 security: globalwpw.settings.obj.map_get_ajax_nonce, 13027 }; 13028 if ( 13029 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 13030 .length == 0 13031 ) { 13032 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 13033 } 13034 wpwKits.ajax(data).done(function (response) { 13035 var restWarning = response.html; 13036 var confirmBtn = wpwKits.render( 13037 globalwpw.settings.obj.your_offer_price 13038 ); 13039 wpwMsg.double(restWarning, confirmBtn); 13040 13041 globalwpw.bargainStep = "bargain"; 13042 globalwpw.bargainLoop = 0; 13043 globalwpw.bargainPrice = ""; 13044 globalwpw.bargainId = globalwpw.bargainId; 13045 globalwpw.bargainVId = globalwpw.bargainVId; 13046 localStorage.setItem("wildCard", globalwpw.bargainStep); 13047 localStorage.setItem("bargainLoop", globalwpw.bargainLoop); 13048 localStorage.setItem("bargainPrice", globalwpw.bargainPrice); 13049 localStorage.setItem("bargainId", globalwpw.bargainId); 13050 localStorage.setItem("bargainVId", globalwpw.bargainVId); 13051 }); 13052 } else if ( 13053 globalwpw.wildCard == 9 && 13054 globalwpw.bargainStep == "bargain" && 13055 msg !== "" 13056 ) { 13057 // setTimeout(function(){ 13058 var string = msg; 13059 13060 //var spliting = string.match(/\d+/g); 13061 var spliting = string.match(/\d+(?:\.\d+)?/g); 13062 13063 if (spliting === null) { 13064 wpwMsg.single( 13065 wpwKits.render(globalwpw.settings.obj.your_offer_price_again) 13066 ); 13067 } else { 13068 var msg = string.match(/\d+(?:\.\d+)?/g).map(Number); 13069 13070 var data = { 13071 action: "qcld_woo_bargin_product_price", 13072 qcld_woo_map_product_id: globalwpw.bargainId, 13073 qcld_woo_map_variation_id: globalwpw.bargainVId, 13074 price: parseFloat(msg), 13075 security: globalwpw.settings.obj.map_get_ajax_nonce, 13076 }; 13077 if ( 13078 $( 13079 globalwpw.settings.messageLastChild + 13080 " .wp-chatbot-comment-loader" 13081 ).length == 0 13082 ) { 13083 $(globalwpw.settings.messageContainer).append( 13084 wpwKits.botPreloader() 13085 ); 13086 } 13087 wpwKits.ajax(data).done(function (response) { 13088 globalwpw.bargainStep = "bargain"; 13089 globalwpw.bargainPrice = response.sale_price; 13090 localStorage.setItem("bargainStep", globalwpw.bargainStep); 13091 localStorage.setItem("bargainPrice", globalwpw.bargainPrice); 13092 13093 if (response.confirm == "success") { 13094 // If user provide price below minimum price 13095 13096 var bargainModalLoop = 13097 parseFloat(localStorage.getItem("bargainModalLoop")) + 1; 13098 localStorage.setItem("bargainModalLoop", bargainModalLoop); 13099 13100 var qcld_bargain_allowed_timesss = 13101 parseInt(globalwpw.settings.obj.qcld_bargain_allowed_times) + 1; 13102 13103 if ( 13104 localStorage.getItem("bargainModalLoop") == 13105 parseInt(qcld_bargain_allowed_timesss) 13106 ) { 13107 //if( globalwpw.bargainLoop == 1){ 13108 var your_low_price_alert = wpwKits.render( 13109 globalwpw.settings.obj.your_low_price_alert 13110 ); 13111 var confirmBtn1 = your_low_price_alert.replace( 13112 "{offer price}", 13113 parseFloat(msg) + globalwpw.settings.obj.currency_symbol 13114 ); 13115 var your_too_low_price_alert = wpwKits.render( 13116 globalwpw.settings.obj.your_too_low_price_alert 13117 ); 13118 var restWarning = your_too_low_price_alert.replace( 13119 "{minimum amount}",
13120 globalwpw.bargainPrice + 13121 globalwpw.settings.obj.currency_symbol 13122 ); 13123 13124 var confirmBtn = 13125 '<span class="qcld-bargin-bot-confirm-add-to-cart" confirm-data="yes" >' + 13126 wpwKits.render(globalwpw.settings.obj.yes) + 13127 "</span> <span> " + 13128 wpwKits.render(globalwpw.settings.obj.or) + 13129 ' </span><span class="qcld-chatbot-bargin-confirm-btn" confirm-data="no">' + 13130 wpwKits.render(globalwpw.settings.obj.no) + 13131 "</span>"; 13132 wpwMsg.triple_nobg(confirmBtn1, restWarning, confirmBtn); 13133 13134 globalwpw.bargainLoop = 0; 13135 localStorage.setItem("bargainModalLoop", globalwpw.bargainLoop); 13136 } else { 13137 var restWarning = response.html; 13138 wpwMsg.single(response.html); 13139 13140 //globalwpw.bargainLoop = 1; 13141 //localStorage.setItem("wildCard", globalwpw.bargainLoop); 13142 } 13143 } else if (response.confirm == "agree") { 13144 // if user provide resonable price. 13145 var restWarning = response.html; 13146 wpwMsg.single(restWarning); 13147 setTimeout(function () { 13148 var data = { 13149 action: "qcld_woo_bargin_product_confirm", 13150 qcld_woo_map_product_id: globalwpw.bargainId, 13151 price: globalwpw.bargainPrice, 13152 security: globalwpw.settings.obj.map_get_ajax_nonce, 13153 }; 13154 if ( 13155 $( 13156 globalwpw.settings.messageLastChild + 13157 " .wp-chatbot-comment-loader" 13158 ).length == 0 13159 ) { 13160 $(globalwpw.settings.messageContainer).append( 13161 wpwKits.botPreloader() 13162 ); 13163 } 13164 wpwKits.ajax(data).done(function (response) { 13165 var confirmBtn = 13166 '<span class="qcld-bargin-bot-confirm-add-to-cart" confirm-data="yes" >' + 13167 wpwKits.render(globalwpw.settings.obj.yes) + 13168 "</span> <span> " + 13169 wpwKits.render(globalwpw.settings.obj.or) + 13170 ' </span><span class="qcld-chatbot-bargin-confirm-btn" confirm-data="no">' + 13171 wpwKits.render(globalwpw.settings.obj.no) + 13172 "</span>"; 13173 13174 //wpwMsg.single(response.html); 13175 wpwMsg.double_nobg(response.html, confirmBtn); 13176 globalwpw.wildCard = 9; 13177 globalwpw.bargainStep = "bargain"; 13178 globalwpw.bargainPrice = globalwpw.bargainPrice; 13179 localStorage.setItem("wildCard", globalwpw.wildCard); 13180 localStorage.setItem("wildCard", globalwpw.bargainStep); 13181 localStorage.setItem("wildCard", globalwpw.bargainPrice); 13182 }); 13183 }, globalwpw.settings.preLoadingTime); 13184 } else if (response.confirm == "default") { 13185 wpwMsg.double_nobg(response.html, ""); 13186 } else { 13187 wpwMsg.single(response.html); 13188 } 13189 }); 13190 } 13191 // },globalwpw.settings.preLoadingTime); 13192 } else if ( 13193 globalwpw.wildCard == 9 && 13194 globalwpw.bargainStep == "confirm" 13195 ) { 13196 setTimeout(function () { 13197 var data = { 13198 action: "qcld_woo_bargin_product_confirm", 13199 qcld_woo_map_product_id: globalwpw.bargainId, 13200 price: globalwpw.bargainPrice, 13201 security: globalwpw.settings.obj.map_get_ajax_nonce, 13202 }; 13203 if ( 13204 $( 13205 globalwpw.settings.messageLastChild + 13206 " .wp-chatbot-comment-loader" 13207 ).length == 0 13208 ) { 13209 $(globalwpw.settings.messageContainer).append( 13210 wpwKits.botPreloader() 13211 ); 13212 } 13213 wpwKits.ajax(data).done(function (response) { 13214 // map_acceptable_price 13215 var restWarning = response.html; 13216 var map_acceptable_price =
13217 globalwpw.settings.obj.map_acceptable_price; 13218 //var confirmBtn1 = map_acceptable_price.replace("{offer price}", globalwpw.bargainPrice + globalwpw.settings.obj.currency_symbol); 13219 var confirmBtn1 = map_acceptable_price; 13220 //var confirmBtn1 = '<p>Great! I am creating a one time discount coupon valid for you only.</p>'; 13221 wpwMsg.double(confirmBtn1, restWarning); 13222 13223 globalwpw.wildCard = 0; 13224 globalwpw.bargainStep = "welcome"; 13225 globalwpw.bargainPrice = ""; 13226 localStorage.setItem("wildCard", globalwpw.wildCard); 13227 localStorage.setItem("bargainStep", globalwpw.bargainStep); 13228 localStorage.setItem("bargainPrice", globalwpw.bargainPrice); 13229 }); 13230 }, globalwpw.settings.preLoadingTime); 13231 } else if ( 13232 globalwpw.wildCard == 9 && 13233 globalwpw.bargainStep == "add_to_cart" 13234 ) { 13235 setTimeout(function () { 13236 if (globalwpw.bargainVId != "") { 13237 var data = { 13238 action: "qcld_woo_bargin_product_variation_add_to_cart", 13239 product_id: globalwpw.bargainId, 13240 variation_id: globalwpw.bargainVId, 13241 price: globalwpw.bargainPrice, 13242 security: globalwpw.settings.obj.map_get_ajax_nonce, 13243 }; 13244 } else { 13245 var data = { 13246 action: "qcld_woo_bargin_product_add_to_cart", 13247 product_id: globalwpw.bargainId, 13248 price: globalwpw.bargainPrice, 13249 security: globalwpw.settings.obj.map_get_ajax_nonce, 13250 }; 13251 } 13252 13253 if ( 13254 $( 13255 globalwpw.settings.messageLastChild + 13256 " .wp-chatbot-comment-loader" 13257 ).length == 0 13258 ) { 13259 $(globalwpw.settings.messageContainer).append( 13260 wpwKits.botPreloader() 13261 ); 13262 } 13263 wpwKits.ajax(data).done(function (response) { 13264 // map_acceptable_price 13265 var restWarning = response.html; 13266 13267 var confirmBtn = 13268 '<div class="woo-chatbot-product-bargain-btn"><a href="' + 13269 globalwpw.settings.obj.map_get_checkout_url + 13270 '" class="qcld-modal-bargin-confirm-btn-checkout"> ' + 13271 wpwKits.render( 13272 globalwpw.settings.obj.map_checkout_now_button_text 13273 ) + 13274 " </a></div>"; 13275 13276 //wpwMsg.single(restWarning); 13277 13278 wpwMsg.double_nobg(restWarning, confirmBtn); 13279 13280 globalwpw.wildCard = 0; 13281 globalwpw.bargainStep = "welcome"; 13282 globalwpw.bargainVId = ""; 13283 globalwpw.bargainPrice = ""; 13284 localStorage.setItem("wildCard", globalwpw.wildCard); 13285 localStorage.setItem("bargainStep", globalwpw.bargainStep); 13286 localStorage.setItem("bargainVId", globalwpw.bargainVId); 13287 localStorage.setItem("bargainPrice", globalwpw.bargainPrice); 13288 }); 13289 }, globalwpw.settings.preLoadingTime); 13290 } else if ( 13291 globalwpw.wildCard == 9 && 13292 globalwpw.bargainStep == "disagree" && 13293 globalwpw.bargainLoop == 0 13294 ) { 13295 // map_talk_to_boss msg 13296 var map_talk_to_boss = wpwKits.render( 13297 globalwpw.settings.obj.map_talk_to_boss 13298 ); 13299 var confirmBtn = map_talk_to_boss; 13300 wpwMsg.single(confirmBtn); 13301 globalwpw.bargainLoop = 1; 13302 localStorage.setItem("bargainLoop", globalwpw.bargainLoop); 13303 } else if ( 13304 globalwpw.wildCard == 9 && 13305 globalwpw.bargainStep == "disagree" && 13306 globalwpw.bargainLoop == 1 13307 ) { 13308 var string = msg; 13309 var spliting = string.match(/\d+(?:\.\d+)?/g); 13310 13311 if (spliting === null) { 13312 wpwMsg.single( 13313 wpwKits.render(globalwpw.settings.obj.your_offer_price_again) 13314 ); 13315 } else { 13316 // map_get_email_address 13317 var map_get_email_address = wpwKits.render( 13318 globalwpw.settings.obj.map_get_email_address 13319 ); 13320 var confirmBtn = map_get_email_address; 13321 wpwMsg.single(confirmBtn); 13322 13323 // var string = msg;
13324 globalwpw.bargainPrice = msg.match(/\d+(?:\.\d+)?/g).map(Number); 13325 //globalwpw.bargainPrice = msg; 13326 //localStorage.setItem("wildCard", globalwpw.bargainPrice); 13327 localStorage.setItem("finalprice", globalwpw.bargainPrice); 13328 13329 globalwpw.bargainLoop = 2; 13330 localStorage.setItem("bargainLoop", globalwpw.bargainLoop); 13331 } 13332 } else if ( 13333 globalwpw.wildCard == 9 && 13334 globalwpw.bargainStep == "disagree" && 13335 globalwpw.bargainLoop == 2 13336 ) { 13337 // map_get_email_address 13338 var map_thanks_test = wpwKits.render( 13339 globalwpw.settings.obj.map_thanks_test 13340 ); 13341 var confirmBtn = map_thanks_test; 13342 13343 setTimeout(function () { 13344 wpwMsg.single(confirmBtn); 13345 13346 var data = { 13347 action: "qcld_woo_bargin_send_query", 13348 qcld_woo_map_product_id: globalwpw.bargainId, 13349 price: localStorage.getItem("finalprice"), 13350 email: msg, 13351 security: globalwpw.settings.obj.map_get_ajax_nonce, 13352 }; 13353 13354 wpwKits.ajax(data).done(function (response) { 13355 // wpwMsg.single(confirmBtn); 13356 }); 13357 }, globalwpw.settings.preLoadingTime); 13358 13359 globalwpw.bargainLoop = 0; 13360 localStorage.setItem("bargainLoop", globalwpw.bargainLoop); 13361 globalwpw.wildCard = 0; 13362 globalwpw.bargainStep = "welcome"; 13363 globalwpw.bargainPrice = ""; 13364 localStorage.setItem("wildCard", globalwpw.wildCard); 13365 localStorage.setItem("bargainStep", globalwpw.bargainStep); 13366 localStorage.setItem("bargainPrice", globalwpw.bargainPrice); 13367 } 13368 }, 13369 reset: function (msg) { 13370 if (globalwpw.wildCard == 25 && globalwpw.resetStep == "welcome") { 13371 var restWarning = wpwKits.render(globalwpw.settings.obj.reset); 13372 var confirmBtn = 13373 '<span class="qcld-chatbot-reset-btn" reset-data="yes" >' + 13374 wpwKits.render(globalwpw.settings.obj.yes) + 13375 "</span> <span> " + 13376 wpwKits.render(globalwpw.settings.obj.or) + 13377 ' </span><span class="qcld-chatbot-reset-btn" reset-data="no">' + 13378 wpwKits.render(globalwpw.settings.obj.no) + 13379 "</span>"; 13380 globalwpw.resetStep = "answer"; 13381 wpwMsg.double_nobg(restWarning, confirmBtn); 13382 13383 setTimeout(function () { 13384 // wpwKits.disableEditor(''); 13385 }, 1500); 13386 } else if (globalwpw.wildCard == 25 && globalwpw.resetStep == "answer") { 13387 if ( 13388 msg.toLowerCase() == 13389 (wpwKits.render(globalwpw.settings.obj.yes) || '').toLowerCase() 13390 ) { 13391 wpwKits.doReset(); 13392 var number = Math.random(); // 0.9394456857981651 13393 number.toString(36); // '0.xtis06h6' 13394 var id = number.toString(36).substr(2); // 'xtis06h6' 13395 13396 localStorage.setItem("botsessionid", id); 13397 if (globalwpw.initialize == 1) { 13398 wpwWelcome.greeting(); 13399 } 13400 wpwKits.enableEditor( 13401 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 13402 ); 13403 } else if ( 13404 msg.toLowerCase() == 13405 (wpwKits.render(globalwpw.settings.obj.no) || '').toLowerCase() 13406 ) { 13407 wpwAction.bot( 13408 (wpwKits.render(globalwpw.settings.obj.sys_key_help) || '').toLowerCase() 13409 ); 13410 wpwKits.enableEditor( 13411 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 13412 ); 13413 } 13414 globalwpw.wildCard = 0; 13415 globalwpw.resetStep = "welcome"; 13416 } 13417 }, 13418 dfcx: function (msg) { 13419 var dfReturns = wpwKits.dailogCXAction( 13420 msg, 13421 localStorage.getItem("cx-name"), 13422 localStorage.getItem("cx-timezone"), 13423 localStorage.getItem("cx-languagecode") 13424 ); 13425 if ( 13426 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 13427 .length == 0 13428 ) { 13429 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 13430 } 13431 dfReturns.done(function (response) { 13432 if (globalwpw.settings.obj.df_api_version == "v2") { 13433 response = $.parseJSON(response); 13434 wpwTree.df_cx_reply(response); 13435 13436 var currentPage = response.queryResult.currentPage.displayName; 13437 if (currentPage == "End Session") {
13438 globalwpw.wildCard = 0; 13439 //keeping value in localstorage 13440 localStorage.removeItem("wildCard", globalwpw.wildCard); 13441 localStorage.removeItem("cx-name"); 13442 localStorage.removeItem("cx-diaplayname"); 13443 localStorage.removeItem("cx-languagecode"); 13444 localStorage.removeItem("cx-timezone"); 13445 } 13446 } 13447 }); 13448 }, 13449 ldsuggestion: function () { 13450 var ldsesson_item = ""; 13451 $.each(ldsuggestionObject.posts, function (i, post) { 13452 ldsesson_item += 13453 '<div class="wpbot_card_wraper"><div class="wpbot_card_image wpbot_card_image_saas"><a href="' + 13454 post.link + 13455 '"><div class="wpbot_card_caption wpbot_card_caption_saas"><h2>' + 13456 post.title + 13457 "</h2></div></a></div></div>"; 13458 }); 13459 wpwMsg.double_nobg(ldsuggestionObject.main_title, ldsesson_item); 13460 globalwpw.wildCard = 0; 13461 }, 13462 // Render dynamic menu from pre-filtered items in AI response, or fall back to start_menu_settings. 13463 qcld_render_dynamic_or_start_menu: function (json) { 13464 if (globalwpw.is_in_ai_form) return; 13465 if ( 13466 globalwpw.settings.obj.qcld_dynamic_ai_menu == "1" && 13467 json.dynamic_menu_items && 13468 Array.isArray(json.dynamic_menu_items) && 13469 json.dynamic_menu_items.length > 0 13470 ) { 13471 var matchedItems = json.dynamic_menu_items; 13472 var normalizedMatches = matchedItems.map(function (item) { 13473 return String(item || "").trim().toLowerCase().replace(/[\s_-]+/g, " "); 13474 }); 13475 var filteredHtml = ""; 13476 $(globalwpw.wildcards).each(function () { 13477 var label = $(this).text().trim(); 13478 var normalizedLabel = label.toLowerCase().replace(/[\s_-]+/g, " "); 13479 if (!label) return; 13480 var matched = normalizedMatches.some(function (expected) { 13481 return normalizedLabel === expected; 13482 }); 13483 if (matched) { 13484 filteredHtml += $(this).prop("outerHTML"); 13485 } 13486 }); 13487 if (filteredHtml && filteredHtml.trim()) { 13488 var serviceOffer = wpwKits.randomMsg(globalwpw.settings.obj.support_option_again); 13489 wpwMsg.double_nobg(serviceOffer, filteredHtml); 13490 return; // Done â no further AJAX needed 13491 } 13492 } 13493 // Fallback: show full start menu (will call dynamic_menu_settings if enabled) 13494 wpwTree.start_menu_settings(); 13495 }, 13496 dynamic_menu_settings: function (userMsg) { 13497 var userMessage = userMsg || globalwpw.lastUserMsg || ""; 13498 var allItems = []; 13499 var $wildcards = $(globalwpw.wildcards); 13500 var $items = $wildcards 13501 .add($wildcards.find("span.qcld-chatbot-wildcard, qcld-chatbot-suggest-email, a, button")); 13502 $items.each(function () { 13503 var label = $(this).text().trim(); 13504 if( ( label !== "" ) && ( label !== null ) ) { 13505 allItems.push(label); 13506 } 13507 }); 13508 var data = { 13509 action: "qcld_dynamic_menu_filter", 13510 user_message: userMessage, 13511 menu_items: JSON.stringify(allItems), 13512 nonce: wp_chatbot_obj.ajax_nonce, 13513 }; 13514 13515 wpwKits.ajax(data).done(function (res) { 13516 var json = (typeof res === 'object') ? res : $.parseJSON(res); 13517 if ( 13518 json.status === "success" && 13519 json.items && 13520 json.items.length 13521 ) { 13522 var $cloned = $(globalwpw.wildcards); 13523 var matchedItems = Array.isArray(json.items) ? json.items : [json.items]; 13524 var normalizedMatches = matchedItems.map(function (item) { 13525 return String(item || "") 13526 .trim() 13527 .toLowerCase() 13528 .replace(/[\s_-]+/g, " "); 13529 }); 13530 var filteredHtml = ""; 13531 $cloned.each(function () { 13532 var label = $(this).text().trim(); 13533 var normalizedLabel = label 13534 .toLowerCase() 13535 .replace(/[\s_-]+/g, " "); 13536 if (!label) { 13537 return; 13538 } 13539 var matched = normalizedMatches.some(function (expected) { 13540 return normalizedLabel === expected; 13541 }); 13542 if (matched) { 13543 filteredHtml += $(this).prop("outerHTML"); 13544 } 13545 }); 13546 if (filteredHtml && filteredHtml.trim()) { 13547 var serviceOffer = wpwKits.randomMsg(
13548 globalwpw.settings.obj.support_option_again 13549 ); 13550 wpwMsg.double_nobg(serviceOffer, filteredHtml); 13551 } 13552 } else { 13553 // Fallback: show the full start menu 13554 // wpwTree.start_menu_settings(); 13555 } 13556 13557 }).fail(function () { 13558 // wpwTree.start_menu_settings(); 13559 }); 13560 }, 13561 start_menu_settings: function () { 13562 if (globalwpw.is_in_ai_form) return; 13563 if (globalwpw.fromBackToStart) return; 13564 if ( globalwpw.settings.obj.qcld_dynamic_ai_menu == "1" ) { 13565 wpwTree.dynamic_menu_settings( globalwpw.lastUserMsg ); 13566 } else if ( globalwpw.settings.obj.qcld_disable_repited_startmenu != "1" ) { 13567 if (globalwpw.settings.obj.disable_repeatative != 1) { 13568 setTimeout(function () { 13569 var serviceOffer = wpwKits.randomMsg( 13570 globalwpw.settings.obj.wildcard_msg 13571 ); 13572 if (globalwpw.settings.obj.qcld_disable_start_menu != "1") { 13573 if ( 13574 typeof globalwpw.wildcards != "undefined" && 13575 globalwpw.wildcards != "" 13576 ) { 13577 wpwMsg.double_nobg(serviceOffer, globalwpw.wildcards); 13578 } 13579 } else { 13580 wpwMsg.single(serviceOffer); 13581 } 13582 }, globalwpw.settings.preLoadingTime); 13583 } else { 13584 setTimeout(function () { 13585 if (globalwpw.settings.obj.qcld_disable_repited_startmenu != "1") { 13586 wpwMsg.single_nobg( 13587 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 13588 wpwKits.randomMsg(globalwpw.settings.obj.back_to_start) + 13589 "</span>" 13590 ); 13591 } 13592 }, globalwpw.settings.preLoadingTime * 2); 13593 } 13594 } 13595 // else { 13596 // var serviceOffer = wpwKits.randomMsg( 13597 // globalwpw.settings.obj.wildcard_msg 13598 // ); 13599 // if ( globalwpw.settings.obj.disable_repeatative != 1 ) { 13600 // wpwMsg.single(serviceOffer); 13601 // } 13602 // } 13603 } 13604 }; 13605 /* 13606 * wpwbot Actions are divided into two part 13607 * shopper will response after initialize message, 13608 * then based on shopper activities shopper will act. 13609 */ 13610 13611 wpwAction = { 13612 findkey: function (array, msg) { 13613 var index = -1; 13614 $.each(array, function (key, value) { 13615 value = jQuery.map(value, function (n, i) { 13616 return n.toLowerCase(); 13617 }); 13618 if ( 13619 typeof msg != "undefined" && 13620 value.indexOf(msg.toLowerCase()) > -1 13621 ) { 13622 index = key; 13623 return false; 13624 } 13625 }); 13626 return index; 13627 }, 13628 bot: function (msg) { 13629 globalwpw.lastUserMsg = msg; 13630 wpwKits.disableEditor( 13631 wpwKits.render(globalwpw.settings.obj.agent) + 13632 " " + 13633 wpwKits.randomMsg(globalwpw.settings.obj.is_typing) 13634 ); 13635 13636 var simple_response_intent = 13637 globalwpw.settings.obj.simple_response_intent; 13638 13639 if ( 13640 simple_response_intent.length > 0 || 13641 simple_response_intent != "undefined" 13642 ) { 13643 simple_response_intent = jQuery.map( 13644 simple_response_intent, 13645 function (n, i) { 13646 if (n.intent !== undefined) { 13647 return n.intent.toLowerCase(); 13648 } else { 13649 return n.toLowerCase(); 13650 } 13651 } 13652 ); 13653 } 13654 var allformname = jQuery.map( 13655 globalwpw.settings.obj.forms, 13656 function (n, i) { 13657 return n.toLowerCase(); 13658 } 13659 ); 13660 var allformcommand = globalwpw.settings.obj.form_commands; 13661 13662 var goodbye_keywords = (wpwKits 13663 .render(globalwpw.settings.obj.sys_goodbye_key) || '') 13664 .toLowerCase() 13665 .split(","); 13666 goodbye_keywords = goodbye_keywords.map(function (keyword) { 13667 return keyword.trim(); 13668 }); 13669 13670 goodbye_keywords = goodbye_keywords.filter(function (el) { 13671 return el != "" && el !== null && typeof el !== "undefined"; 13672 }); 13673 if (globalwpw.strStep == "match_query" && globalwpw.wildCard == 95) { 13674 wpwTree.strHandler(msg); 13675 } else if ( 13676 typeof msg != "undefined" &&
13677 globalwpw.wildcardsHelp.indexOf(msg.toLowerCase()) > -1 13678 ) { 13679 13680 if (globalwpw.wildCard == 7) { 13681 wpwTree.formbuilder_force_complete(msg); 13682 } 13683 13684 if ( 13685 msg.toLowerCase() == 13686 (wpwKits.render(globalwpw.settings.obj.sys_key_help) || '').toLowerCase() 13687 ) { 13688 globalwpw.wildCard = 0; 13689 var serviceOffer = wpwKits.randomMsg( 13690 globalwpw.settings.obj.wildcard_msg 13691 ); 13692 if (!globalwpw.fromBackToStart) { 13693 wpwTree.start_menu_settings(); 13694 } 13695 } 13696 13697 if ( 13698 msg.toLowerCase() == 13699 (wpwKits.render(globalwpw.settings.obj.sys_key_support) || '').toLowerCase() 13700 ) { 13701 globalwpw.wildCard = 1; 13702 globalwpw.supportStep = "welcome"; 13703 wpwTree.support(msg); 13704 } 13705 13706 if ( 13707 msg.toLowerCase() == 13708 (wpwKits.render(globalwpw.settings.obj.good_bye) || '').toLowerCase() 13709 ) { 13710 wpwTree.goodbye(msg); 13711 } 13712 13713 if ( 13714 globalwpw.settings.obj.woocommerce && 13715 msg.toLowerCase() == 13716 (wpwKits.render(globalwpw.settings.obj.sys_key_product) || '').toLowerCase() 13717 ) { 13718 // var wppt_post_types = globalwpw.settings.obj.wppt_post_types; 13719 13720 if ( 13721 msg.toLowerCase() == 13722 (wpwKits.render(globalwpw.settings.obj.sys_key_product) || '').toLowerCase() 13723 ) { 13724 globalwpw.wildCard = 20; 13725 globalwpw.productStep = "asking"; 13726 wpwTree.product(msg); 13727 } else { 13728 wpwMsg.single_nobg( 13729 '<span class="qcld-chatbot-wildcard" data-wildcart="back">' + 13730 wpwKits.randomMsg(globalwpw.settings.obj.no_result) + 13731 "</span>" 13732 ); 13733 } 13734 } 13735 if (globalwpw.settings.obj.woocommerce) { 13736 if ( 13737 msg.toLowerCase() == 13738 (wpwKits.render(globalwpw.settings.obj.sys_key_catalog) || '').toLowerCase() 13739 ) { 13740 globalwpw.wildCard = 20; 13741 globalwpw.productStep = "search"; 13742 wpwKits.sugestCat(); 13743 } 13744 13745 if ( 13746 msg.toLowerCase() == 13747 (wpwKits.render(globalwpw.settings.obj.sys_key_order) || '').toLowerCase() 13748 ) { 13749 globalwpw.wildCard = 20; 13750 globalwpw.orderStep = "welcome"; 13751 wpwTree.order(msg); 13752 } 13753 if ( 13754 msg.toLowerCase() == "featured" || 13755 msg.toLowerCase() == 13756 wpwKits.render(globalwpw.settings.obj.featured_products) 13757 ) { 13758 globalwpw.wildCard = 20; 13759 globalwpw.productStep = "featured"; 13760 wpwAction.bot("from wildcard product"); 13761 //keeping value in localstorage 13762 localStorage.setItem("wildCard", globalwpw.wildCard); 13763 localStorage.setItem("productStep", globalwpw.productStep); 13764 wpwKits.trigger_intent("featured"); 13765 } 13766 } 13767 13768 if ( 13769 msg.toLowerCase() == 13770 (wpwKits 13771 .render(globalwpw.settings.obj.email_subscription) || '') 13772 .toLowerCase() 13773 ) { 13774 globalwpw.wildCard = 3; 13775 globalwpw.subscriptionStep = "welcome"; 13776 wpwTree.subscription(msg); 13777 } 13778 if ( 13779 globalwpw.settings.obj.woocommerce && 13780 msg.toLowerCase() == 13781 (wpwKits 13782 .render(globalwpw.settings.obj.open_a_ticket) || '') 13783 .toLowerCase() && 13784 globalwpw.settings.obj.ticket_url != "" 13785 ) { 13786 //comming 13787 window.open(globalwpw.settings.obj.ticket_url, "_blank"); 13788 wpwKits.enableEditor( 13789 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 13790 ); 13791 } 13792 if ( 13793 msg.toLowerCase() == 13794 (wpwKits.render(globalwpw.settings.obj.unsubscribe) || '').toLowerCase() 13795 ) { 13796 globalwpw.wildCard = 6; 13797 globalwpw.unsubscriptionStep = "welcome"; 13798 wpwTree.unsubscription(msg); 13799 } 13800 13801 if ( 13802 msg.toLowerCase() == 13803 (wpwKits.render(globalwpw.settings.obj.sys_key_reset) || '').toLowerCase() 13804 ) {
13805 globalwpw.wildCard = 25; 13806 globalwpw.resetStep = "welcome"; 13807 wpwTree.reset(msg); 13808 } 13809 if ( 13810 msg.toLowerCase() == 13811 (wpwKits.render(globalwpw.settings.obj.sys_key_livechat) || '').toLowerCase() 13812 ) { 13813 wpwKits.enableEditor( 13814 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 13815 ); 13816 if (globalwpw.settings.obj.is_livechat_active) { 13817 if ( 13818 globalwpw.settings.obj.disable_livechat_operator_offline == "1" 13819 ) { 13820 if (globalwpw.settings.obj.is_operator_online == 1) { 13821 $(globalwpw.settings.messageWrapper).html( 13822 localStorage.getItem("wpwHitory") 13823 ); 13824 if (globalwpw.settings.obj.livechat_autopopulation != "1") { 13825 if ($("#wbca_signup_fullname").length > 0) { 13826 if (localStorage.getItem("shopper") !== null) { 13827 $("#wbca_signup_fullname").val( 13828 localStorage.getItem("shopper") 13829 ); 13830 } 13831 if (localStorage.getItem("shopperemail") !== null) { 13832 $("#wbca_signup_email").val( 13833 localStorage.getItem("shopperemail") 13834 ); 13835 } 13836 } 13837 } 13838 $("#wp-chatbot-board-container").removeClass( 13839 "active-chat-board" 13840 ); 13841 $(".wp-chatbot-container").hide(); 13842 $(".wpbot-saas-live-chat").show(); 13843 } else { 13844 wpwMsg.single(globalwpw.settings.obj.wbca_lg_operator_offline); 13845 } 13846 } else { 13847 $(globalwpw.settings.messageWrapper).html( 13848 localStorage.getItem("wpwHitory") 13849 ); 13850 if (globalwpw.settings.obj.livechat_autopopulation != "1") { 13851 if ($("#wbca_signup_fullname").length > 0) { 13852 if (localStorage.getItem("shopper") !== null) { 13853 $("#wbca_signup_fullname").val( 13854 localStorage.getItem("shopper") 13855 ); 13856 } 13857 if (localStorage.getItem("shopperemail") !== null) { 13858 $("#wbca_signup_email").val( 13859 localStorage.getItem("shopperemail") 13860 ); 13861 } 13862 } 13863 } 13864 $("#wp-chatbot-board-container").removeClass("active-chat-board"); 13865 $(".wp-chatbot-container").hide(); 13866 $(".wpbot-saas-live-chat").show(); 13867 } 13868 } 13869 } 13870 } else if ( 13871 (typeof msg != "undefined" && 13872 allformname.indexOf(msg.toLowerCase().trim()) > -1) || 13873 this.findkey(allformcommand, msg) > -1 13874 ) { 13875 //Form builder commands form name 13876 if (globalwpw.wildCard == 7) { 13877 wpwTree.formbuilder_force_complete(msg); 13878 } 13879 13880 var index = 13881 allformname.indexOf(msg.toLowerCase().trim()) > -1 13882 ? allformname.indexOf(msg.toLowerCase().trim()) 13883 : this.findkey(allformcommand, msg); 13884 13885 var formid = globalwpw.settings.obj.form_ids[index]; 13886 13887 globalwpw.wildCard = 7; 13888 globalwpw.formStep = "welcome"; 13889 wpwKits.toggleAiFileUploadButton(); 13890 wpwTree.formbuilder(formid); 13891 } else if ( 13892 typeof msg != "undefined" && 13893 simple_response_intent.indexOf(msg.toLowerCase()) > -1 13894 ) { 13895 if (globalwpw.wildCard == 7) { 13896 wpwTree.formbuilder_force_complete(msg); 13897 } 13898 13899 var data = { 13900 action: "wpbo_search_responseby_intent", 13901 name: globalwpw.hasNameCookie, 13902 keyword: msg, 13903 language: globalwpw.settings.obj.language, 13904 }; 13905 if ( 13906 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 13907 .length == 0 13908 ) { 13909 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 13910 } 13911 wpwKits.ajax(data).done(function (response) { 13912 var json = $.parseJSON(response); 13913 if (json.status == "success") { 13914 wpwTree.strHandler(msg, json); 13915 } 13916 }); 13917 } else if ( 13918 typeof msg != "undefined" && 13919 goodbye_keywords.indexOf(msg.toLowerCase()) > -1 13920 ) { 13921 wpwTree.goodbye(msg); 13922 } else { 13923 /* 13924 * Greeting part 13925 * bot action 13926 */ 13927 if (globalwpw.wildCard == 0) { 13928 //When intialize 1 and don't have cookies then keep the name of shooper in in cookie 13929 if (
13930 globalwpw.settings.obj.skip_wp_greetings != "1" && 13931 globalwpw.initialize == 1 13932 ) { 13933 if ( 13934 globalwpw.initialize == 1 && 13935 !localStorage.getItem("shopper") && 13936 globalwpw.wildCard == 0 13937 ) { 13938 wpwTree.greeting(msg); 13939 } else if ( 13940 globalwpw.settings.obj.ai_df_enable == 1 && 13941 globalwpw.df_status_lock == 0 13942 ) { 13943 wpwTree.greeting(msg); 13944 } else if (localStorage.getItem("default_asking_email")) { 13945 wpwTree.greeting(msg); 13946 } else if (localStorage.getItem("default_asking_phone")) { 13947 wpwTree.greeting(msg); 13948 } else { 13949 if (globalwpw.settings.obj.qcbot_enable_str == "1") { 13950 $(globalwpw.settings.messageContainer).append( 13951 wpwKits.botPreloaderWithicon() 13952 ); 13953 var data = { 13954 action: "wpbo_search_response", 13955 name: globalwpw.hasNameCookie, 13956 keyword: msg, 13957 language: globalwpw.settings.obj.language, 13958 }; 13959 13960 wpwKits.ajax(data).done(function (response) { 13961 var json = $.parseJSON(response); 13962 if (json.status == "success") { 13963 var all_html = []; 13964 var count_result = 0; 13965 wpwTree.strHandler(msg, json); 13966 13967 if (!qcldIsAiFormInProgress()) { $(globalwpw.settings.messageContainer).find('.wp-chatbot-msg:last .qcld-like-dislike-icon').css('display', 'block'); } 13968 } else { 13969 var all_html = []; 13970 var count_result = 0; 13971 13972 //Default intents site search 13973 13974 var openai_msg = msg; 13975 msg = wpwKits.filterStopWords(msg); 13976 var wppt_post_types = 13977 globalwpw.settings.obj.wppt_post_types; 13978 var woo_search_active = false; 13979 var post_types_array = (Array.isArray(wppt_post_types)) ? wppt_post_types : Object.values(wppt_post_types); 13980 if ( 13981 globalwpw.settings.obj.woocommerce && 13982 typeof globalwpw.settings.obj.wppt_post_types !== 13983 "undefined" 13984 ) { 13985 if ( 13986 Array.isArray(wppt_post_types) && 13987 post_types_array.indexOf( 13988 wpwKits 13989 .render(globalwpw.settings.obj.sys_key_product) 13990 .toLowerCase() 13991 ) > -1 13992 ) { 13993 woo_search_active = true; 13994 } else { 13995 woo_search_active = false; 13996 } 13997 } 13998 if ( 13999 msg != "" && 14000 globalwpw.settings.obj.disable_sitesearch != "1" 14001 ) { 14002 var data = { 14003 action: "wpbo_search_site", 14004 name: globalwpw.hasNameCookie, 14005 keyword: msg, 14006 language: globalwpw.settings.obj.language, 14007 }; 14008 if ( 14009 $( 14010 globalwpw.settings.messageLastChild + 14011 " .wp-chatbot-comment-loader" 14012 ).length == 0 14013 ) { 14014 $(globalwpw.settings.messageContainer).append( 14015 wpwKits.botPreloader() 14016 ); 14017 } 14018 wpwKits.ajax(data).done(function (response) { 14019 var json = $.parseJSON(response); 14020 if (json.status == "success") { 14021 $( 14022 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 14023 )
14024 .parent(".wp-chatbot-paragraph") 14025 .hide(); 14026 $('span[data-wildcart="back"]').remove(); 14027 wpwMsg.single_nobg(json.html); 14028 setTimeout(() => { 14029 $(".wpb-search-result a") 14030 .first()[0] 14031 .scrollIntoView(); 14032 }, 600); 14033 14034 } else if ( 14035 globalwpw.settings.obj.open_ai_enable == "1" 14036 ) { 14037 wpwMsg.open_ai_message_callback(openai_msg); 14038 } else { 14039 var data = { 14040 action: "wpbo_failed_response", 14041 name: globalwpw.hasNameCookie, 14042 keyword: msg, 14043 }; 14044 wpwKits.ajax(data).done(function (res) { 14045 14046 if ( 14047 globalwpw.counter == 14048 globalwpw.settings.obj 14049 .no_result_attempt_count || 14050 globalwpw.settings.obj 14051 .no_result_attempt_count == 0 14052 ) { 14053 if ( 14054 wpwKits.render( 14055 globalwpw.settings.obj 14056 .no_result_attempt_message 14057 ) != "" 14058 ) { 14059 setTimeout(function () { 14060 wpwMsg.single( 14061 wpwKits.render( 14062 globalwpw.settings.obj 14063 .no_result_attempt_message 14064 ) 14065 ); 14066 }, globalwpw.settings.preLoadingTime); 14067 } else { 14068 wpwTree.start_menu_settings(); 14069 } 14070 setTimeout(function () { 14071 wpwMsg.single( 14072 wpwKits.randomMsg( 14073 '<span class="qcld-chatbot-wildcard" data-wildcart="back">' + 14074 wpwKits.randomMsg( 14075 globalwpw.settings.obj.back_to_start 14076 ) + 14077 "</span>" 14078 ) 14079 ); 14080 }); 14081 14082 globalwpw.counter = 0; 14083 } else { 14084 globalwpw.counter++; 14085 14086 if ( 14087 globalwpw.settings.obj 14088 .qcld_disable_repited_startmenu == "1" 14089 ) { 14090 wpwMsg.double_nobg( 14091 wpwKits.randomMsg( 14092 globalwpw.settings.obj.no_result 14093 ), 14094 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 14095 wpwKits.randomMsg( 14096 globalwpw.settings.obj.back_to_start 14097 ) + 14098 "</span>" 14099 ); 14100 } else { 14101 wpwMsg.double_nobg( 14102 wpwKits.randomMsg( 14103 globalwpw.settings.obj.no_result 14104 ), 14105 globalwpw.wildcards 14106 ); 14107 // wpwMsg.single_nobg('<span class="qcld-chatbot-wildcard" data-wildcart="back">' + + '</span>'); 14108 } 14109 } 14110 }); 14111 }
14112 globalwpw.wildCard = 0; 14113 }); 14114 } else if ( 14115 wp_chatbot_obj.ollama_enabled == "1" || 14116 wp_chatbot_obj.openrouter_enabled == "1" || 14117 wp_chatbot_obj.open_ai_enable == "1" || 14118 wp_chatbot_obj.grok_enabled == "1" || 14119 wp_chatbot_obj.mistral_enabled == "1" || 14120 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 14121 globalwpw.settings.obj.tvlyai_enabled == "1" 14122 ) { 14123 wpwMsg.open_ai_message_callback(openai_msg); 14124 } else { 14125 if ( 14126 (wpwKits.render( 14127 globalwpw.settings.obj.no_result_attempt_message 14128 ) == "") || (globalwpw.counter < globalwpw.settings.obj.no_result_attempt_count) 14129 ) { 14130 globalwpw.counter++; 14131 wpwMsg.single( 14132 wpwKits.render(globalwpw.settings.obj.no_result)[0] 14133 ); 14134 wpwTree.start_menu_settings(); 14135 } else { 14136 wpwMsg.single( 14137 wpwKits.render(globalwpw.settings.obj.no_result_attempt_message) 14138 ); 14139 wpwTree.start_menu_settings(); 14140 } 14141 } 14142 14143 } 14144 14145 }); 14146 } else { 14147 var all_html = []; 14148 var count_result = 0; 14149 14150 //Default intents site search 14151 14152 var openai_msg = msg; 14153 msg = wpwKits.filterStopWords(msg); 14154 var wppt_post_types = globalwpw.settings.obj.wppt_post_types; 14155 var woo_search_active = false; 14156 var post_types_array = (Array.isArray(wppt_post_types)) ? wppt_post_types : Object.values(wppt_post_types); 14157 if ( 14158 globalwpw.settings.obj.woocommerce && 14159 typeof globalwpw.settings.obj.wppt_post_types !== "undefined" 14160 ) { 14161 if ( 14162 post_types_array.indexOf( 14163 (wpwKits 14164 .render(globalwpw.settings.obj.sys_key_product) 14165 .toLowerCase() 14166 ) > -1 && 14167 woo_search_active) 14168 ) { 14169 woo_search_active = true; 14170 } else { 14171 woo_search_active = false; 14172 } 14173 } 14174 if ( 14175 msg != "" && 14176 globalwpw.settings.obj.disable_sitesearch != "1" 14177 ) { 14178 var data = { 14179 action: "wpbo_search_site", 14180 name: globalwpw.hasNameCookie, 14181 keyword: msg, 14182 language: globalwpw.settings.obj.language, 14183 }; 14184 if ( 14185 $( 14186 globalwpw.settings.messageLastChild + 14187 " .wp-chatbot-comment-loader" 14188 ).length == 0 14189 ) { 14190 $(globalwpw.settings.messageContainer).append( 14191 wpwKits.botPreloader() 14192 ); 14193 } 14194 wpwKits.ajax(data).done(function (response) { 14195 var json = $.parseJSON(response); 14196 if (json.status == "success") { 14197 $( 14198 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 14199 ) 14200 .parent(".wp-chatbot-paragraph") 14201 .hide(); 14202 $('span[data-wildcart="back"]').remove(); 14203 wpwMsg.single_nobg(json.html); 14204 setTimeout(() => { 14205 $(".wpb-search-result a").first()[0].scrollIntoView(); 14206 }, 600); 14207 } else if (globalwpw.settings.obj.open_ai_enable == "1") { 14208 wpwMsg.open_ai_message_callback(openai_msg); 14209 } else { 14210 var data = { 14211 action: "wpbo_failed_response", 14212 name: globalwpw.hasNameCookie, 14213 keyword: msg, 14214 }; 14215 wpwKits.ajax(data).done(function (res) { 14216 if (
14217 globalwpw.counter < globalwpw.settings.obj.no_result_attempt_count || 14218 globalwpw.settings.obj.no_result_attempt_count == 0 14219 ) { 14220 if ( 14221 wpwKits.render( 14222 globalwpw.settings.obj.no_result_attempt_message 14223 ) != "" 14224 ) { 14225 setTimeout(function () { 14226 wpwMsg.single( 14227 wpwKits.render( 14228 globalwpw.settings.obj 14229 .no_result_attempt_message 14230 ) 14231 ); 14232 }, globalwpw.settings.preLoadingTime); 14233 } else { 14234 wpwTree.start_menu_settings(); 14235 } 14236 setTimeout(function () { 14237 wpwMsg.single( 14238 wpwKits.randomMsg( 14239 '<span class="qcld-chatbot-wildcard" data-wildcart="back">' + 14240 wpwKits.randomMsg( 14241 globalwpw.settings.obj.back_to_start 14242 ) + 14243 "</span>" 14244 ) 14245 ); 14246 }); 14247 14248 globalwpw.counter = 0; 14249 } else { 14250 globalwpw.counter++; 14251 14252 if ( 14253 globalwpw.settings.obj 14254 .qcld_disable_repited_startmenu == "1" 14255 ) { 14256 wpwMsg.double_nobg( 14257 wpwKits.randomMsg( 14258 globalwpw.settings.obj.no_result 14259 ), 14260 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 14261 wpwKits.randomMsg( 14262 globalwpw.settings.obj.back_to_start 14263 ) + 14264 "</span>" 14265 ); 14266 } else { 14267 wpwMsg.double_nobg( 14268 wpwKits.randomMsg( 14269 globalwpw.settings.obj.no_result 14270 ), 14271 globalwpw.wildcards 14272 ); 14273 // wpwMsg.single_nobg('<span class="qcld-chatbot-wildcard" data-wildcart="back">' + + '</span>'); 14274 } 14275 } 14276 }); 14277 } 14278 globalwpw.wildCard = 0; 14279 }); 14280 } else if ( 14281 wp_chatbot_obj.ollama_enabled == "1" || 14282 wp_chatbot_obj.openrouter_enabled == "1" || 14283 wp_chatbot_obj.open_ai_enable == "1" || 14284 wp_chatbot_obj.grok_enabled == "1" || 14285 wp_chatbot_obj.mistral_enabled == "1" || 14286 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 14287 globalwpw.settings.obj.tvlyai_enabled == "1" 14288 ) { 14289 wpwMsg.open_ai_message_callback(openai_msg); 14290 } else { 14291 if ( 14292 wpwKits.render( 14293 globalwpw.settings.obj.no_result_attempt_message 14294 ) == "" 14295 ) { 14296 } 14297 wpwMsg.single( 14298 wpwKits.render(globalwpw.settings.obj.no_result)[0] 14299 ); 14300 wpwTree.start_menu_settings(); 14301 } 14302 14303 } 14304 } 14305 } else { 14306 if (globalwpw.settings.obj.qc_site_search_priority == "1") { 14307 if ( 14308 msg != "" &&
14309 globalwpw.settings.obj.disable_sitesearch == "" 14310 ) { 14311 var data = { 14312 action: "wpbo_search_site", 14313 name: globalwpw.hasNameCookie, 14314 keyword: msg, 14315 language: globalwpw.settings.obj.language, 14316 }; 14317 if ( 14318 $( 14319 globalwpw.settings.messageLastChild + 14320 " .wp-chatbot-comment-loader" 14321 ).length == 0 14322 ) { 14323 $(globalwpw.settings.messageContainer).append( 14324 wpwKits.botPreloader() 14325 ); 14326 } 14327 wpwKits.ajax(data).done(function (response) { 14328 var json = $.parseJSON(response); 14329 if (json.status == "success") { 14330 $( 14331 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 14332 ) 14333 .parent(".wp-chatbot-paragraph") 14334 .hide(); 14335 $('span[data-wildcart="back"]').remove(); 14336 wpwMsg.single_nobg(json.html); 14337 } else { 14338 var data = { 14339 action: "wpbo_failed_response", 14340 name: globalwpw.hasNameCookie, 14341 keyword: msg, 14342 }; 14343 wpwKits.ajax(data).done(function (res) { 14344 14345 if ( 14346 globalwpw.counter < 14347 globalwpw.settings.obj.no_result_attempt_count || 14348 globalwpw.settings.obj.no_result_attempt_count == 0 14349 ) { 14350 wpwMsg.single(wpwKits.randomMsg(json.html)); 14351 14352 if ( 14353 wpwKits.render( 14354 globalwpw.settings.obj.no_result_attempt_message 14355 ) != "" 14356 ) { 14357 setTimeout(function () { 14358 wpwMsg.single( 14359 wpwKits.render( 14360 globalwpw.settings.obj.no_result_attempt_message 14361 ) 14362 ); 14363 }, globalwpw.settings.preLoadingTime); 14364 } else { 14365 wpwTree.start_menu_settings(); 14366 } 14367 globalwpw.counter = 0; 14368 } else { 14369 globalwpw.counter++; 14370 wpwMsg.single(wpwKits.randomMsg(json.html)); 14371 } 14372 }); 14373 } 14374 globalwpw.wildCard = 0; 14375 }); 14376 } else { 14377 globalwpw.wildCard = 0; 14378 wpwMsg.single( 14379 wpwKits.randomMsg(globalwpw.settings.obj.empty_filter_msg) 14380 ); 14381 wpwTree.start_menu_settings(); 14382 } 14383 } 14384 14385 if ( 14386 globalwpw.settings.obj.ai_df_enable == 1 && 14387 globalwpw.df_status_lock == 0 14388 ) { 14389 var dfReturns = wpwKits.dailogAIOAction(msg); 14390 if ( 14391 $( 14392 globalwpw.settings.messageLastChild + 14393 " .wp-chatbot-comment-loader" 14394 ).length == 0 14395 ) { 14396 $(globalwpw.settings.messageContainer).append( 14397 wpwKits.botPreloader() 14398 ); 14399 } 14400 dfReturns.done(function (response) { 14401 14402 if (globalwpw.settings.obj.df_api_version == "v2") { 14403 response = $.parseJSON(response); 14404 } 14405 if (wpwKits.responseIsOk(response)) { 14406 var userIntent = wpwKits.getIntentName(response); 14407 14408 if (userIntent == "start") { 14409 globalwpw.wildCard = 0; 14410 var serviceOffer = wpwKits.randomMsg( 14411 globalwpw.settings.obj.wildcard_msg 14412 ); 14413 if (globalwpw.settings.obj.qcld_disable_start_menu != "1") { 14414 wpwMsg.double_nobg(serviceOffer, globalwpw.wildcards); 14415 } 14416 } else if (userIntent == "welcome") { 14417 var messages = wpwKits.getFulfillmentText(response); 14418 14419 wpwTree.df_reply(response); 14420 } else if (userIntent == "help") { 14421 $(globalwpw.settings.messageWrapper).html( 14422 localStorage.getItem("wpwHitory") 14423 ); 14424 14425 //Showing help message 14426 setTimeout(function () { 14427 wpwKits.scrollTo(); 14428 var helpWelcome = wpwKits.randomMsg(
14429 globalwpw.settings.obj.help_welcome 14430 ); 14431 var helpMsg = wpwKits.randomMsg( 14432 globalwpw.settings.obj.help_msg 14433 ); 14434 wpwMsg.double(helpWelcome, helpMsg); 14435 //dialogflow 14436 if ( 14437 globalwpw.settings.obj.ai_df_enable == 1 && 14438 globalwpw.df_status_lock == 0 14439 ) { 14440 globalwpw.wildCard = 0; 14441 globalwpw.ai_step = 1; 14442 localStorage.setItem("wildCard", globalwpw.wildCard); 14443 localStorage.setItem("aiStep", globalwpw.ai_step); 14444 } 14445 }, globalwpw.settings.preLoadingTime); 14446 } else if (userIntent == "reset") { 14447 var restWarning = wpwKits.render( 14448 globalwpw.settings.obj.reset 14449 ); 14450 var confirmBtn = 14451 '<span class="qcld-chatbot-reset-btn" reset-data="yes" >' + 14452 wpwKits.render(globalwpw.settings.obj.yes) + 14453 "</span> <span> " + 14454 wpwKits.render(globalwpw.settings.obj.or) + 14455 ' </span><span class="qcld-chatbot-reset-btn" reset-data="no">' + 14456 wpwKits.render(globalwpw.settings.obj.no) + 14457 "</span>"; 14458 wpwMsg.double_nobg(restWarning, confirmBtn); 14459 } else if (userIntent == "phone") { 14460 if ( 14461 typeof globalwpw.hasNameCookie == "undefined" || 14462 globalwpw.hasNameCookie == "" 14463 ) { 14464 var shopperName = wpwKits.render( 14465 globalwpw.settings.obj.shopper_demo_name 14466 ); 14467 } else { 14468 var shopperName = globalwpw.hasNameCookie; 14469 } 14470 var askEmail = wpwKits.randomMsg( 14471 globalwpw.settings.obj.asking_phone 14472 ); 14473 wpwMsg.single(askEmail); 14474 //Now updating the support part as . 14475 globalwpw.supportStep = "phone"; 14476 globalwpw.wildCard = 1; 14477 //keeping value in localstorage 14478 localStorage.setItem("wildCard", globalwpw.wildCard); 14479 localStorage.setItem("supportStep", globalwpw.supportStep); 14480 } else if (userIntent == "email") { 14481 if ( 14482 typeof globalwpw.hasNameCookie == "undefined" || 14483 globalwpw.hasNameCookie == "" 14484 ) { 14485 var shopperName = wpwKits.render( 14486 globalwpw.settings.obj.shopper_demo_name 14487 ); 14488 } else { 14489 var shopperName = globalwpw.hasNameCookie; 14490 } 14491 var askEmail = wpwKits.randomMsg( 14492 globalwpw.settings.obj.asking_email 14493 ); 14494 wpwMsg.single(askEmail); 14495 //Now updating the support part as . 14496 globalwpw.supportStep = "email"; 14497 globalwpw.wildCard = 1; 14498 //keeping value in localstorage 14499 localStorage.setItem("wildCard", globalwpw.wildCard); 14500 localStorage.setItem("supportStep", globalwpw.supportStep); 14501 } else if ( 14502 userIntent == 14503 wpwKits.render(globalwpw.settings.obj.site_search) 14504 ) { 14505 var parameters = wpwKits.getParameters(response); 14506 14507 if ( 14508 typeof parameters.products !== "undefined" && 14509 parameters.products != "" 14510 ) { 14511 var searchQuery = parameters.products; 14512 globalwpw.wildCard = 1;
14513 globalwpw.productStep = "search"; 14514 wpwAction.bot(searchQuery); 14515 //keeping value in localstorage 14516 localStorage.setItem("wildCard", globalwpw.wildCard); 14517 localStorage.setItem( 14518 "productStep", 14519 globalwpw.productStep 14520 ); 14521 14522 //Now updating the support part as . 14523 } else { 14524 if ( 14525 typeof globalwpw.hasNameCookie == "undefined" || 14526 globalwpw.hasNameCookie == "" 14527 ) { 14528 var shopperName = wpwKits.render( 14529 globalwpw.settings.obj.shopper_demo_name 14530 ); 14531 } else { 14532 var shopperName = globalwpw.hasNameCookie; 14533 } 14534 var askEmail = "Pleae enter your keyword for searching"; 14535 wpwMsg.single(askEmail); 14536 //Now updating the support part as . 14537 globalwpw.supportStep = "search"; 14538 globalwpw.wildCard = 1; 14539 //keeping value in localstorage 14540 localStorage.setItem("wildCard", globalwpw.wildCard); 14541 localStorage.setItem( 14542 "supportStep", 14543 globalwpw.supportStep 14544 ); 14545 } 14546 } else if (userIntent == "get name") { 14547 var given_name = wpwKits.getParameters(response).given_name; 14548 var last_name = wpwKits.getParameters(response).last_name; 14549 var fullname = given_name + " " + last_name; 14550 $.cookie("shopper", fullname, { expires: 365 }); 14551 localStorage.setItem("shopper", fullname); 14552 globalwpw.hasNameCookie = fullname; 14553 //Greeting with name and suggesting the wildcard. 14554 14555 var NameGreeting = 14556 wpwKits.randomMsg(globalwpw.settings.obj.i_am) + 14557 " <strong>" + 14558 wpwKits.render(globalwpw.settings.obj.agent) + 14559 "</strong>! " + 14560 wpwKits.randomMsg(globalwpw.settings.obj.name_greeting); 14561 var serviceOffer = wpwKits.randomMsg( 14562 globalwpw.settings.obj.wildcard_msg 14563 ); 14564 //After completing two steps messaging showing wildcards. 14565 if ( 14566 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 14567 typeof globalwpw.wildcards != "undefined" && 14568 globalwpw.wildcards != "" 14569 ) { 14570 wpwMsg.triple_nobg( 14571 NameGreeting, 14572 serviceOffer, 14573 globalwpw.wildcards 14574 ); 14575 } else { 14576 wpwMsg.double(NameGreeting, serviceOffer); 14577 } 14578 14579 globalwpw.ai_step = 1; 14580 globalwpw.wildCard = 0; 14581 localStorage.setItem("wildCard", globalwpw.wildCard); 14582 localStorage.setItem("aiStep", globalwpw.ai_step); 14583 } else if (userIntent == "faq") { 14584 globalwpw.wildCard = 1; 14585 globalwpw.supportStep = "welcome"; 14586 wpwAction.bot("from wildcard support"); 14587 //keeping value in localstorage 14588 } else if (userIntent == "email subscription") { 14589 globalwpw.wildCard = 3; 14590 globalwpw.subscriptionStep = "welcome"; 14591 wpwTree.subscription(msg); 14592 } else if ( 14593 userIntent == "product" && 14594 globalwpw.settings.obj.disable_product_search != 1 14595 ) { 14596 var parameters = wpwKits.getParameters(response); 14597 14598 if ( 14599 typeof parameters.products !== "undefined" && 14600 parameters.products != "" 14601 ) { 14602 var searchQuery = parameters.products;
14603 globalwpw.wildCard = 20; 14604 globalwpw.productStep = "search"; 14605 wpwAction.bot(searchQuery); 14606 //keeping value in localstorage 14607 localStorage.setItem("wildCard", globalwpw.wildCard); 14608 localStorage.setItem( 14609 "productStep", 14610 globalwpw.productStep 14611 ); 14612 } else { 14613 var searchQuery = wpwKits.queryText(response); 14614 globalwpw.wildCard = 20; 14615 globalwpw.productStep = "search"; 14616 wpwAction.bot(searchQuery); 14617 //keeping value in localstorage 14618 localStorage.setItem("wildCard", globalwpw.wildCard); 14619 localStorage.setItem( 14620 "productStep", 14621 globalwpw.productStep 14622 ); 14623 } 14624 } else if ( 14625 userIntent == "catalog" && 14626 globalwpw.settings.obj.disable_catalog != 1 14627 ) { 14628 wpwAction.bot( 14629 (wpwKits 14630 .render(globalwpw.settings.obj.sys_key_catalog) || '') 14631 .toLowerCase() 14632 ); 14633 } else if ( 14634 userIntent == "featured" && 14635 globalwpw.settings.obj.disable_featured_product != 1 14636 ) { 14637 globalwpw.wildCard = 20; 14638 globalwpw.productStep = "featured"; 14639 wpwAction.bot("from wildcard product"); 14640 //keeping value in localstorage 14641 localStorage.setItem("wildCard", globalwpw.wildCard); 14642 localStorage.setItem("productStep", globalwpw.productStep); 14643 } else if ( 14644 userIntent == "sale" && 14645 globalwpw.settings.obj.disable_sale_product !== 1 14646 ) { 14647 globalwpw.wildCard = 20; 14648 globalwpw.productStep = "sale"; 14649 wpwAction.bot("from wildcard product"); 14650 //keeping value in localstorage 14651 localStorage.setItem("wildCard", globalwpw.wildCard); 14652 localStorage.setItem("productStep", globalwpw.productStep); 14653 } else if ( 14654 userIntent == "order" && 14655 globalwpw.settings.obj.disable_order_status != 1 14656 ) { 14657 globalwpw.wildCard = 21; 14658 globalwpw.orderStep = "welcome"; 14659 wpwAction.bot("from wildcard order"); 14660 //keeping value in localstorage 14661 localStorage.setItem("wildCard", globalwpw.wildCard); 14662 localStorage.setItem("orderStep", globalwpw.orderStep); 14663 } else if (userIntent == "Default Fallback Intent") { 14664 if (globalwpw.settings.obj.qcbot_enable_str == "1") { 14665 var data = { 14666 action: "wpbo_search_response", 14667 name: globalwpw.hasNameCookie, 14668 keyword: msg, 14669 language: globalwpw.settings.obj.language, 14670 }; 14671 if ( 14672 $( 14673 globalwpw.settings.messageLastChild + 14674 " .wp-chatbot-comment-loader" 14675 ).length == 0 14676 ) { 14677 $(globalwpw.settings.messageContainer).append( 14678 wpwKits.botPreloader() 14679 ); 14680 } 14681 wpwKits.ajax(data).done(function (respond) { 14682 var json = $.parseJSON(respond); 14683 if (json.status == "success") { 14684 wpwTree.strHandler(msg, json); 14685 } else { 14686 if ( 14687 msg != "" &&
14688 globalwpw.settings.obj.disable_sitesearch == "" && 14689 globalwpw.settings.obj.qc_site_search_priority != 14690 "1" 14691 ) { 14692 var openai_msg = msg; 14693 msg = wpwKits.filterStopWords(msg); 14694 var data = { 14695 action: "wpbo_search_site", 14696 name: globalwpw.hasNameCookie, 14697 keyword: msg, 14698 language: globalwpw.settings.obj.language, 14699 }; 14700 14701 if ( 14702 $( 14703 globalwpw.settings.messageLastChild + 14704 " .wp-chatbot-comment-loader" 14705 ).length == 0 14706 ) { 14707 $(globalwpw.settings.messageContainer).append( 14708 wpwKits.botPreloader() 14709 ); 14710 } 14711 14712 wpwKits.ajax(data).done(function (res) { 14713 var json = $.parseJSON(res); 14714 if (json.status == "success") { 14715 $('span[data-wildcart="back"]').remove(); 14716 14717 wpwMsg.single_nobg(json.html); 14718 setTimeout(function () { 14719 if ( 14720 globalwpw.settings.obj 14721 .qcld_disable_repited_startmenu != "1" 14722 ) { 14723 wpwMsg.single_nobg( 14724 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 14725 wpwKits.randomMsg( 14726 globalwpw.settings.obj.back_to_start 14727 ) + 14728 "</span>" 14729 ); 14730 } 14731 setTimeout(() => { 14732 $(".wpb-search-result a") 14733 .first()[0] 14734 .scrollIntoView(); 14735 }, 600); 14736 }, globalwpw.settings.preLoadingTime); 14737 } else if ( 14738 wp_chatbot_obj.ollama_enabled == "1" || 14739 wp_chatbot_obj.openrouter_enabled == "1" || 14740 wp_chatbot_obj.open_ai_enable == "1" || 14741 wp_chatbot_obj.grok_enabled == "1" || 14742 wp_chatbot_obj.mistral_enabled == "1" || 14743 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 14744 globalwpw.settings.obj.tvlyai_enabled == "1" 14745 ) { 14746 wpwMsg.open_ai_message_callback(openai_msg); 14747 } else { 14748 var data = { 14749 action: "wpbo_failed_response", 14750 name: globalwpw.hasNameCookie, 14751 keyword: msg, 14752 }; 14753 wpwKits.ajax(data).done(function (res) { 14754 // 14755 if ( 14756 globalwpw.counter == 14757 globalwpw.settings.obj 14758 .no_result_attempt_count || 14759 globalwpw.settings.obj 14760 .no_result_attempt_count == 0 14761 ) { 14762 wpwMsg.single(wpwKits.randomMsg(json.html)); 14763 if (
14764 globalwpw.settings.obj 14765 .disable_repeatative != 1 14766 ) { 14767 if ( 14768 wpwKits.render( 14769 globalwpw.settings.obj 14770 .no_result_attempt_message 14771 ) != "" 14772 ) { 14773 setTimeout(function () { 14774 wpwMsg.single( 14775 wpwKits.render( 14776 globalwpw.settings.obj 14777 .no_result_attempt_message 14778 ) 14779 ); 14780 }, globalwpw.settings.preLoadingTime); 14781 } else { 14782 setTimeout(function () { 14783 var serviceOffer = wpwKits.randomMsg( 14784 globalwpw.settings.obj 14785 .support_option_again 14786 ); 14787 if ( 14788 globalwpw.settings.obj 14789 .qcld_disable_start_menu != "1" 14790 ) { 14791 if ( 14792 globalwpw.settings.obj 14793 .qcld_disable_repited_startmenu != 14794 "1" 14795 ) { 14796 if ( 14797 typeof globalwpw.wildcards != 14798 "undefined" && 14799 globalwpw.wildcards != "" 14800 ) { 14801 wpwMsg.double_nobg( 14802 serviceOffer, 14803 globalwpw.wildcards 14804 ); 14805 } else { 14806 wpwMsg.single(serviceOffer); 14807 } 14808 } else if ( 14809 globalwpw.settings.obj 14810 .qcld_disable_repited_startmenu != 14811 "1" 14812 ) { 14813 wpwMsg.single_nobg( 14814 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 14815 wpwKits.randomMsg( 14816 globalwpw.settings.obj 14817 .back_to_start 14818 ) + 14819 "</span>" 14820 ); 14821 } 14822 } 14823 }, globalwpw.settings.preLoadingTime); 14824 } 14825 } else { 14826 setTimeout(function () { 14827 if ( 14828 globalwpw.settings.obj 14829 .qcld_disable_repited_startmenu != 14830 "1" 14831 ) { 14832 wpwMsg.single_nobg( 14833 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 14834 wpwKits.randomMsg(
14835 globalwpw.settings.obj 14836 .back_to_start 14837 ) + 14838 "</span>" 14839 ); 14840 } 14841 }, globalwpw.settings.preLoadingTime * 2); 14842 } 14843 globalwpw.counter = 0; 14844 } else { 14845 globalwpw.counter++; 14846 wpwTree.df_reply(response); 14847 } 14848 }); 14849 } 14850 14851 globalwpw.wildCard = 0; 14852 }); 14853 } else if ( 14854 wp_chatbot_obj.ollama_enabled == "1" || 14855 wp_chatbot_obj.openrouter_enabled == "1" || 14856 wp_chatbot_obj.open_ai_enable == "1" || 14857 wp_chatbot_obj.grok_enabled == "1" || 14858 wp_chatbot_obj.mistral_enabled == "1" || 14859 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 14860 globalwpw.settings.obj.tvlyai_enabled == "1" 14861 ) { 14862 wpwMsg.open_ai_message_callback(openai_msg); 14863 } else if ( 14864 msg != "" && 14865 globalwpw.settings.obj.is_woowbot == 1 14866 ) { 14867 globalwpw.wildCard = 20; 14868 globalwpw.productStep = "search"; 14869 wpwAction.bot(msg); 14870 //keeping value in localstorage 14871 localStorage.setItem( 14872 "wildCard", 14873 globalwpw.wildCard 14874 ); 14875 localStorage.setItem( 14876 "productStep", 14877 globalwpw.productStep 14878 ); 14879 } else { 14880 if ( 14881 globalwpw.counter < 14882 globalwpw.settings.obj 14883 .no_result_attempt_count || 14884 globalwpw.settings.obj.no_result_attempt_count == 14885 0 14886 ) { 14887 wpwTree.df_reply(response); 14888 wpwTree.start_menu_settings(); 14889 globalwpw.counter = 0; 14890 } else { 14891 globalwpw.counter++; 14892 wpwTree.df_reply(response); 14893 } 14894 } 14895 } 14896 }); 14897 } else { 14898 if ( 14899 msg != "" && 14900 globalwpw.settings.obj.disable_sitesearch == "" && 14901 globalwpw.settings.obj.qc_site_search_priority != "1" 14902 ) { 14903 var openai_msg = msg; 14904 msg = wpwKits.filterStopWords(msg); 14905 var data = { 14906 action: "wpbo_search_site", 14907 name: globalwpw.hasNameCookie, 14908 keyword: msg, 14909 language: globalwpw.settings.obj.language, 14910 }; 14911 14912 if ( 14913 $( 14914 globalwpw.settings.messageLastChild + 14915 " .wp-chatbot-comment-loader" 14916 ).length == 0 14917 ) { 14918 $(globalwpw.settings.messageContainer).append( 14919 wpwKits.botPreloader() 14920 ); 14921 } 14922 14923 wpwKits.ajax(data).done(function (res) { 14924 var json = $.parseJSON(res); 14925 if (json.status == "success") { 14926 $('span[data-wildcart="back"]').remove(); 14927 14928 wpwMsg.single_nobg(json.html); 14929 setTimeout(function () { 14930 if (
14931 globalwpw.settings.obj 14932 .qcld_disable_repited_startmenu != "1" 14933 ) { 14934 wpwMsg.single_nobg( 14935 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 14936 wpwKits.randomMsg( 14937 globalwpw.settings.obj.back_to_start 14938 ) + 14939 "</span>" 14940 ); 14941 } 14942 setTimeout(() => { 14943 $(".wpb-search-result a") 14944 .first()[0] 14945 .scrollIntoView(); 14946 }, 600); 14947 }, globalwpw.settings.preLoadingTime); 14948 } else if ( 14949 wp_chatbot_obj.ollama_enabled == "1" || 14950 wp_chatbot_obj.openrouter_enabled == "1" || 14951 wp_chatbot_obj.open_ai_enable == "1" || 14952 wp_chatbot_obj.grok_enabled == "1" || 14953 wp_chatbot_obj.mistral_enabled == "1" || 14954 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 14955 globalwpw.settings.obj.tvlyai_enabled == "1" 14956 ) { 14957 wpwMsg.open_ai_message_callback(openai_msg); 14958 } else { 14959 var data = { 14960 action: "wpbo_failed_response", 14961 name: globalwpw.hasNameCookie, 14962 keyword: msg, 14963 }; 14964 wpwKits.ajax(data).done(function (res) { 14965 // 14966 if ( 14967 globalwpw.counter == 14968 globalwpw.settings.obj 14969 .no_result_attempt_count || 14970 globalwpw.settings.obj 14971 .no_result_attempt_count == 0 14972 ) { 14973 wpwMsg.single(wpwKits.randomMsg(json.html)); 14974 wpwTree.start_menu_settings(); 14975 globalwpw.counter = 0; 14976 } else { 14977 globalwpw.counter++; 14978 wpwTree.df_reply(response); 14979 } 14980 }); 14981 } 14982 14983 globalwpw.wildCard = 0; 14984 }); 14985 } else if ( 14986 wp_chatbot_obj.ollama_enabled == "1" || 14987 wp_chatbot_obj.openrouter_enabled == "1" || 14988 wp_chatbot_obj.open_ai_enable == "1" || 14989 wp_chatbot_obj.grok_enabled == "1" || 14990 wp_chatbot_obj.mistral_enabled == "1" || 14991 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 14992 globalwpw.settings.obj.tvlyai_enabled == "1" 14993 ) { 14994 wpwMsg.open_ai_message_callback(openai_msg); 14995 } else if ( 14996 msg != "" && 14997 globalwpw.settings.obj.is_woowbot == 1 14998 ) { 14999 globalwpw.wildCard = 20; 15000 globalwpw.productStep = "search"; 15001 wpwAction.bot(msg); 15002 //keeping value in localstorage 15003 localStorage.setItem("wildCard", globalwpw.wildCard); 15004 localStorage.setItem( 15005 "productStep", 15006 globalwpw.productStep 15007 ); 15008 } else { 15009 if (
15010 globalwpw.counter < globalwpw.settings.obj.no_result_attempt_count || 15011 globalwpw.settings.obj.no_result_attempt_count == 0 15012 ) { 15013 wpwTree.df_reply(response); 15014 wpwTree.start_menu_settings(); 15015 globalwpw.counter = 0; 15016 } else { 15017 globalwpw.counter++; 15018 wpwTree.df_reply(response); 15019 } 15020 } 15021 } 15022 } else if (wpwKits.getScore(response) != 0) { 15023 // checking is reponsing from dialogflow. 15024 15025 var sTalkAction = wpwKits.getAction(response); 15026 15027 if ( 15028 sTalkAction != "" && 15029 sTalkAction.indexOf("smalltalk") != -1 15030 ) { 15031 var sMgs = wpwKits.getFulfillmentText(response); 15032 wpwMsg.single(sMgs); 15033 } else { 15034 var messages = wpwKits.getFulfillmentText(response); 15035 15036 if ( 15037 typeof response.queryResult.knowledgeAnswers != 15038 "undefined" && 15039 response.queryResult.knowledgeAnswers.answers != "" 15040 ) { 15041 wpwMsg.single( 15042 response.alternativeQueryResults[0].fulfillmentText 15043 ); 15044 } else if ( 15045 userIntent.indexOf( 15046 globalwpw.settings.obj.tag_search_intent 15047 ) > -1 && 15048 wpwKits.isActionComplete(response) && 15049 wpwKits.isConversationEnd(response) 15050 ) { 15051 var tags = []; 15052 $.each( 15053 response.queryResult.parameters, 15054 function (index, value) { 15055 if (value != "") { 15056 tags.push(value); 15057 } 15058 } 15059 ); 15060 15061 if (tags.length > 0) { 15062 var data = { 15063 action: "qcld_wb_chatbot_search_product_by_tag", 15064 name: globalwpw.hasNameCookie, 15065 tags: tags.join(","), 15066 }; 15067 15068 if ( 15069 $( 15070 globalwpw.settings.messageLastChild + 15071 " .wp-chatbot-comment-loader" 15072 ).length == 0 15073 ) { 15074 $(globalwpw.settings.messageContainer).append( 15075 wpwKits.botPreloader() 15076 ); 15077 } 15078 wpwKits.ajax(data).done(function (presdata) { 15079 if (presdata.product_num == 0) { 15080 var productFail = 15081 wpwKits.randomMsg( 15082 globalwpw.settings.obj.product_fail 15083 ) + 15084 " <strong>" + 15085 tags.join(",") + 15086 "</strong>!"; 15087 15088 wpwMsg.single(productFail); 15089 } else { 15090 var productSucces = 15091 wpwKits.randomMsg( 15092 globalwpw.settings.obj.product_success 15093 ) + 15094 " <strong>" + 15095 tags.join(",") + 15096 "</strong>!"; 15097 wpwMsg.double_nobg(productSucces, presdata.html); 15098 } 15099 }); 15100 } else { 15101 wpwTree.df_reply(response); 15102 } 15103 } else { 15104 wpwTree.df_reply(response); 15105 } 15106 15107 var emailSent = false;
15108 var emailIntent = ""; 15109 $.each( 15110 globalwpw.settings.obj.custom_intent, 15111 function (index, value) { 15112 if (userIntent.indexOf(value) > -1) { 15113 emailIntent = value; 15114 } 15115 } 15116 ); 15117 15118 if ( 15119 emailIntent != "" && 15120 globalwpw.settings.obj.custom_intent_email[ 15121 globalwpw.settings.obj.custom_intent.indexOf( 15122 emailIntent 15123 ) 15124 ] == "1" 15125 ) { 15126 emailSent = true; 15127 } 15128 15129 if (emailSent == true) { 15130 globalwpw.emailContent.push({ 15131 user: wpwKits.queryText(response), 15132 bot: wpwTree.df_reply2(response), 15133 }); 15134 } 15135 15136 if ( 15137 wpwKits.isActionComplete(response) && 15138 wpwKits.isConversationEnd(response) && 15139 emailSent == true 15140 ) { 15141 var email = ""; 15142 if (localStorage.getItem("shopperemail") !== null) { 15143 email = localStorage.getItem("shopperemail"); 15144 } 15145 var data = { 15146 action: "qcld_wb_chatbot_send_query", 15147 name: globalwpw.hasNameCookie, 15148 email: email, 15149 data: globalwpw.emailContent, 15150 }; 15151 15152 wpwKits.ajax(data).done(function (resdata) { 15153 var json = $.parseJSON(resdata); 15154 if (json.status == "success") { 15155 var sucMsg = json.message; 15156 15157 setTimeout(function () { 15158 wpwMsg.single(sucMsg); 15159 globalwpw.wildCard = 0; 15160 var orPhoneSuggest = ""; 15161 setTimeout(function () { 15162 if (globalwpw.settings.obj.call_sup != 1) { 15163 orPhoneSuggest = 15164 '<span class="qcld-chatbot-suggest-phone" >' + 15165 wpwKits.render( 15166 globalwpw.settings.obj.support_phone 15167 ) + 15168 "</span>"; 15169 } 15170 var orEmailSuggest = 15171 '<span class="qcld-chatbot-suggest-email">' + 15172 wpwKits.randomMsg( 15173 globalwpw.settings.obj.support_email 15174 ) + 15175 "</span>"; 15176 wpwTree.start_menu_settings(); 15177 }, globalwpw.settings.wildcardsShowTime); 15178 }, parseInt(globalwpw.settings.preLoadingTime) * 2); 15179 } else { 15180 var failMsg = json.message; 15181 setTimeout(function () { 15182 wpwMsg.single(failMsg); 15183 globalwpw.wildCard = 0; 15184 var orPhoneSuggest = ""; 15185 setTimeout(function () { 15186 if (globalwpw.settings.obj.call_sup != 1) { 15187 orPhoneSuggest = 15188 '<span class="qcld-chatbot-suggest-phone" >' + 15189 wpwKits.render( 15190 globalwpw.settings.obj.support_phone 15191 ) + 15192 "</span>"; 15193 } 15194 var orEmailSuggest = 15195 '<span class="qcld-chatbot-suggest-email">' + 15196 wpwKits.randomMsg(
15197 globalwpw.settings.obj.support_email 15198 ) + 15199 "</span>"; 15200 wpwTree.start_menu_settings(); 15201 }, globalwpw.settings.preLoadingTime); 15202 }, parseInt(globalwpw.settings.preLoadingTime) * 2); 15203 } 15204 }); 15205 globalwpw.emailContent = []; 15206 } 15207 } 15208 setTimeout(function () { 15209 wpwTree.start_menu_settings(); 15210 }, globalwpw.settings.preLoadingTime); 15211 } else { 15212 var dfDefaultMsg = wpwKits.render( 15213 globalwpw.settings.obj.df_defualt_reply 15214 ); 15215 wpwMsg.double_nobg(dfDefaultMsg, globalwpw.wildcards); 15216 } 15217 } else { 15218 if (globalwpw.settings.obj.qcbot_enable_str == "1") { 15219 var data = { 15220 action: "wpbo_search_response", 15221 name: globalwpw.hasNameCookie, 15222 keyword: msg, 15223 language: globalwpw.settings.obj.language, 15224 }; 15225 if ( 15226 $( 15227 globalwpw.settings.messageLastChild + 15228 " .wp-chatbot-comment-loader" 15229 ).length == 0 15230 ) { 15231 $(globalwpw.settings.messageContainer).append( 15232 wpwKits.botPreloader() 15233 ); 15234 } 15235 wpwKits.ajax(data).done(function (response) { 15236 var json = $.parseJSON(response); 15237 if (json.status == "success") { 15238 var all_html = []; 15239 var count_result = 0; 15240 wpwTree.strHandler(msg, json); 15241 } else { 15242 var all_html = []; 15243 var count_result = 0; 15244 //Default intents site search 15245 var openai_msg = msg; 15246 msg = wpwKits.filterStopWords(msg); 15247 var wppt_post_types = 15248 globalwpw.settings.obj.wppt_post_types; 15249 var woo_search_active = false; 15250 var post_types_array = (Array.isArray(wppt_post_types)) ? wppt_post_types : Object.values(wppt_post_types); 15251 if ( 15252 globalwpw.settings.obj.woocommerce && 15253 typeof globalwpw.settings.obj.wppt_post_types !== 15254 "undefined" 15255 ) { 15256 if ( 15257 post_types_array.indexOf( 15258 wpwKits 15259 .render(globalwpw.settings.obj.sys_key_product) 15260 .toLowerCase() 15261 ) > -1 && 15262 woo_search_active 15263 ) { 15264 woo_search_active = true; 15265 } else { 15266 woo_search_active = false; 15267 } 15268 } 15269 if ( 15270 globalwpw.settings.obj.woocommerce && 15271 woo_search_active 15272 ) { 15273 var data = { 15274 action: "qcld_wb_chatbot_keyword", 15275 keyword: msg, 15276 language: globalwpw.settings.obj.language, 15277 }; 15278 //Products by string search ajax handler. 15279 if ( 15280 $( 15281 globalwpw.settings.messageLastChild + 15282 " .wp-chatbot-comment-loader" 15283 ).length == 0 15284 ) { 15285 $(globalwpw.settings.messageContainer).append( 15286 wpwKits.botPreloader() 15287 ); 15288 } 15289 wpwKits.ajax(data).done(function (response) { 15290 if (response.product_num == 0) { 15291 if ( 15292 msg != "" &&
15293 globalwpw.settings.obj.disable_sitesearch == 15294 "" && 15295 globalwpw.settings.obj 15296 .qc_site_search_priority != "1" 15297 ) { 15298 var data = { 15299 action: "wpbo_search_site", 15300 name: globalwpw.hasNameCookie, 15301 keyword: msg, 15302 language: globalwpw.settings.obj.language, 15303 }; 15304 if ( 15305 $( 15306 globalwpw.settings.messageLastChild + 15307 " .wp-chatbot-comment-loader" 15308 ).length == 0 15309 ) { 15310 $(globalwpw.settings.messageContainer).append( 15311 wpwKits.botPreloader() 15312 ); 15313 } 15314 wpwKits.ajax(data).done(function (response) { 15315 var json = $.parseJSON(response); 15316 if (json.status == "success") { 15317 $( 15318 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 15319 ) 15320 .parent(".wp-chatbot-paragraph") 15321 .hide(); 15322 $('span[data-wildcart="back"]').remove(); 15323 wpwMsg.single_nobg(json.html); 15324 setTimeout(() => { 15325 $(".wpb-search-result a") 15326 .first()[0] 15327 .scrollIntoView(); 15328 }, 600); 15329 } else if ( 15330 wp_chatbot_obj.ollama_enabled == "1" || 15331 wp_chatbot_obj.openrouter_enabled == "1" || 15332 wp_chatbot_obj.open_ai_enable == "1" || 15333 wp_chatbot_obj.grok_enabled == "1" || 15334 wp_chatbot_obj.mistral_enabled == "1" || 15335 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 15336 globalwpw.settings.obj.tvlyai_enabled == "1" 15337 ) { 15338 wpwMsg.open_ai_message_callback(openai_msg); 15339 } else { 15340 var data = { 15341 action: "wpbo_failed_response", 15342 name: globalwpw.hasNameCookie, 15343 keyword: msg, 15344 }; 15345 wpwKits.ajax(data).done(function (res) { 15346 // 15347 if ( 15348 globalwpw.counter == 15349 globalwpw.settings.obj 15350 .no_result_attempt_count || 15351 globalwpw.settings.obj 15352 .no_result_attempt_count == 0 15353 ) { 15354 wpwMsg.single( 15355 wpwKits.randomMsg(json.html) 15356 ); 15357 15358 if ( 15359 wpwKits.render( 15360 globalwpw.settings.obj 15361 .no_result_attempt_message 15362 ) != "" 15363 ) { 15364 setTimeout(function () { 15365 wpwMsg.single( 15366 wpwKits.render(
15367 globalwpw.settings.obj 15368 .no_result_attempt_message 15369 ) 15370 ); 15371 }, globalwpw.settings.preLoadingTime); 15372 } else { 15373 wpwTree.start_menu_settings(); 15374 } 15375 15376 globalwpw.counter = 0; 15377 } else { 15378 globalwpw.counter++; 15379 wpwMsg.single( 15380 wpwKits.randomMsg(json.html) 15381 ); 15382 } 15383 }); 15384 } 15385 globalwpw.wildCard = 0; 15386 }); 15387 } else if ( 15388 wp_chatbot_obj.ollama_enabled == "1" || 15389 wp_chatbot_obj.openrouter_enabled == "1" || 15390 wp_chatbot_obj.open_ai_enable == "1" || 15391 wp_chatbot_obj.grok_enabled == "1" || 15392 wp_chatbot_obj.mistral_enabled == "1" || 15393 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 15394 globalwpw.settings.obj.tvlyai_enabled == "1" 15395 ) { 15396 wpwMsg.open_ai_message_callback(openai_msg); 15397 } else { 15398 globalwpw.wildCard = 0; 15399 wpwMsg.single( 15400 wpwKits.randomMsg( 15401 globalwpw.settings.obj.empty_filter_msg 15402 ) 15403 ); 15404 15405 wpwTree.start_menu_settings(); 15406 } 15407 } else { 15408 var productSucces = 15409 wpwKits.randomMsg( 15410 globalwpw.settings.obj.product_success 15411 ) + 15412 " <strong>" + 15413 msg + 15414 "</strong>!"; 15415 wpwMsg.double_nobg(productSucces, response.html); 15416 15417 if (response.per_page >= response.product_num) { 15418 setTimeout(function () { 15419 var searchAgain = wpwKits.randomMsg( 15420 globalwpw.settings.obj.product_infinite 15421 ); 15422 wpwMsg.double_nobg( 15423 searchAgain, 15424 '<span class="qcld-chatbot-wildcard" data-wildcart="back">' + 15425 wpwKits.randomMsg( 15426 globalwpw.settings.obj.back_to_start 15427 ) + 15428 "</span>" 15429 ); 15430 //keeping value in localstorage 15431 globalwpw.wildCard = 0; 15432 globalwpw.productStep = "search"; 15433 localStorage.setItem( 15434 "productStep", 15435 globalwpw.productStep 15436 ); 15437 }, globalwpw.settings.wildcardsShowTime); 15438 } 15439 } 15440 }); 15441 } else { 15442 if ( 15443 msg != "" &&
15444 globalwpw.settings.obj.disable_sitesearch != "1" 15445 ) { 15446 var data = { 15447 action: "wpbo_search_site", 15448 name: globalwpw.hasNameCookie, 15449 keyword: msg, 15450 language: globalwpw.settings.obj.language, 15451 }; 15452 if ( 15453 $( 15454 globalwpw.settings.messageLastChild + 15455 " .wp-chatbot-comment-loader" 15456 ).length == 0 15457 ) { 15458 $(globalwpw.settings.messageContainer).append( 15459 wpwKits.botPreloader() 15460 ); 15461 } 15462 wpwKits.ajax(data).done(function (response) { 15463 var json = $.parseJSON(response); 15464 15465 if (json.status == "success") { 15466 $( 15467 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 15468 ) 15469 .parent(".wp-chatbot-paragraph") 15470 .hide(); 15471 $('span[data-wildcart="back"]').remove(); 15472 wpwMsg.single_nobg(json.html); 15473 // setTimeout(() => { 15474 // $(".wpb-search-result a").first()[0].scrollIntoView(); 15475 // }, 600); 15476 } else if ( 15477 globalwpw.settings.obj.open_ai_enable == "1" || 15478 globalwpw.settings.obj.tvlyai_enabled == "1" 15479 ) { 15480 wpwMsg.open_ai_message_callback(openai_msg); 15481 } else { 15482 var data = { 15483 action: "wpbo_failed_response", 15484 name: globalwpw.hasNameCookie, 15485 keyword: msg, 15486 }; 15487 wpwKits.ajax(data).done(function (res) { 15488 if ( 15489 globalwpw.counter == 15490 globalwpw.settings.obj 15491 .no_result_attempt_count || 15492 globalwpw.settings.obj 15493 .no_result_attempt_count == 0 15494 ) { 15495 if ( 15496 wpwKits.render( 15497 globalwpw.settings.obj 15498 .no_result_attempt_message 15499 ) != "" 15500 ) { 15501 setTimeout(function () { 15502 wpwMsg.single( 15503 wpwKits.render( 15504 globalwpw.settings.obj 15505 .no_result_attempt_message 15506 ) 15507 ); 15508 }, globalwpw.settings.preLoadingTime); 15509 wpwTree.start_menu_settings(); 15510 } else { 15511 wpwTree.start_menu_settings(); 15512 } 15513 setTimeout(function () { 15514 wpwMsg.single( 15515 wpwKits.randomMsg( 15516 '<span class="qcld-chatbot-wildcard" data-wildcart="back">' + 15517 wpwKits.randomMsg(
15518 globalwpw.settings.obj 15519 .back_to_start 15520 ) + 15521 "</span>" 15522 ) 15523 ); 15524 }); 15525 15526 globalwpw.counter = 0; 15527 } else { 15528 globalwpw.counter++; 15529 15530 if ( 15531 globalwpw.settings.obj 15532 .qcld_disable_repited_startmenu == "1" 15533 ) { 15534 wpwMsg.double_nobg( 15535 wpwKits.randomMsg( 15536 globalwpw.settings.obj.no_result 15537 ), 15538 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 15539 wpwKits.randomMsg( 15540 globalwpw.settings.obj.back_to_start 15541 ) + 15542 "</span>" 15543 ); 15544 } else { 15545 wpwMsg.double_nobg( 15546 wpwKits.randomMsg( 15547 globalwpw.settings.obj.no_result 15548 ), 15549 globalwpw.wildcards 15550 ); 15551 // wpwMsg.single_nobg('<span class="qcld-chatbot-wildcard" data-wildcart="back">' + + '</span>'); 15552 } 15553 } 15554 }); 15555 } 15556 globalwpw.wildCard = 0; 15557 }); 15558 } else if ( 15559 wp_chatbot_obj.ollama_enabled == "1" || 15560 wp_chatbot_obj.openrouter_enabled == "1" || 15561 wp_chatbot_obj.open_ai_enable == "1" || 15562 wp_chatbot_obj.grok_enabled == "1" || 15563 wp_chatbot_obj.mistral_enabled == "1" || 15564 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 15565 globalwpw.settings.obj.tvlyai_enabled == "1" 15566 ) { 15567 wpwMsg.open_ai_message_callback(openai_msg); 15568 } else { 15569 wpwTree.start_menu_settings(); 15570 } 15571 } 15572 } 15573 }); 15574 } else { 15575 var all_html = []; 15576 var count_result = 0; 15577 //Default intents site search 15578 var openai_msg = msg; 15579 msg = wpwKits.filterStopWords(msg); 15580 var wppt_post_types = 15581 globalwpw.settings.obj.wppt_post_types; 15582 var woo_search_active = false; 15583 var post_types_array = (Array.isArray(wppt_post_types)) ? wppt_post_types : Object.values(wppt_post_types); 15584 if ( 15585 globalwpw.settings.obj.woocommerce && 15586 typeof globalwpw.settings.obj.wppt_post_types !== 15587 "undefined" 15588 ) { 15589 if ( 15590 post_types_array.indexOf( 15591 wpwKits 15592 .render(globalwpw.settings.obj.sys_key_product) 15593 .toLowerCase() 15594 ) > -1 && 15595 woo_search_active 15596 ) { 15597 woo_search_active = true; 15598 } else { 15599 woo_search_active = false;
15600 } 15601 } 15602 if ( 15603 globalwpw.settings.obj.woocommerce && 15604 woo_search_active 15605 ) { 15606 var data = { 15607 action: "qcld_wb_chatbot_keyword", 15608 keyword: msg, 15609 language: globalwpw.settings.obj.language, 15610 }; 15611 //Products by string search ajax handler. 15612 if ( 15613 $( 15614 globalwpw.settings.messageLastChild + 15615 " .wp-chatbot-comment-loader" 15616 ).length == 0 15617 ) { 15618 $(globalwpw.settings.messageContainer).append( 15619 wpwKits.botPreloader() 15620 ); 15621 } 15622 wpwKits.ajax(data).done(function (response) { 15623 if (response.product_num == 0) { 15624 if ( 15625 msg != "" && 15626 globalwpw.settings.obj.disable_sitesearch == "" && 15627 globalwpw.settings.obj.qc_site_search_priority != 15628 "1" 15629 ) { 15630 var data = { 15631 action: "wpbo_search_site", 15632 name: globalwpw.hasNameCookie, 15633 keyword: msg, 15634 language: globalwpw.settings.obj.language, 15635 }; 15636 if ( 15637 $( 15638 globalwpw.settings.messageLastChild + 15639 " .wp-chatbot-comment-loader" 15640 ).length == 0 15641 ) { 15642 $(globalwpw.settings.messageContainer).append( 15643 wpwKits.botPreloader() 15644 ); 15645 } 15646 wpwKits.ajax(data).done(function (response) { 15647 var json = $.parseJSON(response); 15648 if (json.status == "success") { 15649 $( 15650 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 15651 ) 15652 .parent(".wp-chatbot-paragraph") 15653 .hide(); 15654 $('span[data-wildcart="back"]').remove(); 15655 wpwMsg.single_nobg(json.html); 15656 setTimeout(() => { 15657 $(".wpb-search-result a") 15658 .first()[0] 15659 .scrollIntoView(); 15660 }, 600); 15661 } else if ( 15662 wp_chatbot_obj.ollama_enabled == "1" || 15663 wp_chatbot_obj.openrouter_enabled == "1" || 15664 wp_chatbot_obj.open_ai_enable == "1" || 15665 wp_chatbot_obj.grok_enabled == "1" || 15666 wp_chatbot_obj.mistral_enabled == "1" || 15667 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 15668 globalwpw.settings.obj.tvlyai_enabled == "1" 15669 ) { 15670 wpwMsg.open_ai_message_callback(openai_msg); 15671 } else { 15672 var data = { 15673 action: "wpbo_failed_response", 15674 name: globalwpw.hasNameCookie, 15675 keyword: msg, 15676 }; 15677 wpwKits.ajax(data).done(function (res) { 15678 // 15679 if (
15680 globalwpw.counter == 15681 globalwpw.settings.obj 15682 .no_result_attempt_count || 15683 globalwpw.settings.obj 15684 .no_result_attempt_count == 0 15685 ) { 15686 wpwMsg.single(wpwKits.randomMsg(json.html)); 15687 15688 if ( 15689 wpwKits.render( 15690 globalwpw.settings.obj 15691 .no_result_attempt_message 15692 ) != "" 15693 ) { 15694 setTimeout(function () { 15695 wpwMsg.single( 15696 wpwKits.render( 15697 globalwpw.settings.obj 15698 .no_result_attempt_message 15699 ) 15700 ); 15701 }, globalwpw.settings.preLoadingTime); 15702 } else { 15703 wpwTree.start_menu_settings(); 15704 } 15705 15706 globalwpw.counter = 0; 15707 } else { 15708 globalwpw.counter++; 15709 wpwMsg.single(wpwKits.randomMsg(json.html)); 15710 } 15711 }); 15712 } 15713 globalwpw.wildCard = 0; 15714 }); 15715 } else if ( 15716 wp_chatbot_obj.ollama_enabled == "1" || 15717 wp_chatbot_obj.openrouter_enabled == "1" || 15718 wp_chatbot_obj.open_ai_enable == "1" || 15719 wp_chatbot_obj.grok_enabled == "1" || 15720 wp_chatbot_obj.mistral_enabled == "1" || 15721 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 15722 globalwpw.settings.obj.tvlyai_enabled == "1" 15723 ) { 15724 wpwMsg.open_ai_message_callback(openai_msg); 15725 } else { 15726 globalwpw.wildCard = 0; 15727 wpwMsg.single( 15728 wpwKits.randomMsg( 15729 globalwpw.settings.obj.empty_filter_msg 15730 ) 15731 ); 15732 15733 wpwTree.start_menu_settings(); 15734 } 15735 } else { 15736 var productSucces = 15737 wpwKits.randomMsg( 15738 globalwpw.settings.obj.product_success 15739 ) + 15740 " <strong>" + 15741 msg + 15742 "</strong>!"; 15743 wpwMsg.double_nobg(productSucces, response.html); 15744 15745 if (response.per_page >= response.product_num) { 15746 setTimeout(function () { 15747 var searchAgain = wpwKits.randomMsg( 15748 globalwpw.settings.obj.product_infinite 15749 ); 15750 wpwMsg.double_nobg( 15751 searchAgain, 15752 '<span class="qcld-chatbot-wildcard" data-wildcart="back">' + 15753 wpwKits.randomMsg( 15754 globalwpw.settings.obj.back_to_start 15755 ) + 15756 "</span>" 15757 ); 15758 //keeping value in localstorage
15759 globalwpw.wildCard = 0; 15760 globalwpw.productStep = "search"; 15761 localStorage.setItem( 15762 "productStep", 15763 globalwpw.productStep 15764 ); 15765 }, globalwpw.settings.wildcardsShowTime); 15766 } 15767 } 15768 }); 15769 } else { 15770 if ( 15771 msg != "" && 15772 globalwpw.settings.obj.disable_sitesearch != "1" 15773 ) { 15774 var data = { 15775 action: "wpbo_search_site", 15776 name: globalwpw.hasNameCookie, 15777 keyword: msg, 15778 language: globalwpw.settings.obj.language, 15779 }; 15780 if ( 15781 $( 15782 globalwpw.settings.messageLastChild + 15783 " .wp-chatbot-comment-loader" 15784 ).length == 0 15785 ) { 15786 $(globalwpw.settings.messageContainer).append( 15787 wpwKits.botPreloader() 15788 ); 15789 } 15790 wpwKits.ajax(data).done(function (response) { 15791 var json = $.parseJSON(response); 15792 15793 if (json.status == "success") { 15794 $( 15795 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 15796 ) 15797 .parent(".wp-chatbot-paragraph") 15798 .hide(); 15799 $('span[data-wildcart="back"]').remove(); 15800 wpwMsg.single_nobg(json.html); 15801 // setTimeout(() => { 15802 // $(".wpb-search-result a").first()[0].scrollIntoView(); 15803 // }, 600); 15804 } else if ( 15805 globalwpw.settings.obj.open_ai_enable == "1" || 15806 globalwpw.settings.obj.tvlyai_enabled == "1" 15807 ) { 15808 wpwMsg.open_ai_message_callback(openai_msg); 15809 } else { 15810 var data = { 15811 action: "wpbo_failed_response", 15812 name: globalwpw.hasNameCookie, 15813 keyword: msg, 15814 }; 15815 wpwKits.ajax(data).done(function (res) { 15816 if ( 15817 globalwpw.counter == 15818 globalwpw.settings.obj 15819 .no_result_attempt_count || 15820 globalwpw.settings.obj 15821 .no_result_attempt_count == 0 15822 ) { 15823 if ( 15824 wpwKits.render( 15825 globalwpw.settings.obj 15826 .no_result_attempt_message 15827 ) != "" 15828 ) { 15829 setTimeout(function () { 15830 wpwMsg.single( 15831 wpwKits.render( 15832 globalwpw.settings.obj 15833 .no_result_attempt_message 15834 ) 15835 ); 15836 }, globalwpw.settings.preLoadingTime); 15837 wpwTree.start_menu_settings(); 15838 } else { 15839 wpwTree.start_menu_settings(); 15840 } 15841 setTimeout(function () { 15842 wpwMsg.single( 15843 wpwKits.randomMsg( 15844 '<span class="qcld-chatbot-wildcard" data-wildcart="back">' + 15845 wpwKits.randomMsg(
15846 globalwpw.settings.obj.back_to_start 15847 ) + 15848 "</span>" 15849 ) 15850 ); 15851 }); 15852 15853 globalwpw.counter = 0; 15854 } else { 15855 globalwpw.counter++; 15856 15857 if ( 15858 globalwpw.settings.obj 15859 .qcld_disable_repited_startmenu == "1" 15860 ) { 15861 wpwMsg.double_nobg( 15862 wpwKits.randomMsg( 15863 globalwpw.settings.obj.no_result 15864 ), 15865 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 15866 wpwKits.randomMsg( 15867 globalwpw.settings.obj.back_to_start 15868 ) + 15869 "</span>" 15870 ); 15871 } else { 15872 wpwMsg.double_nobg( 15873 wpwKits.randomMsg( 15874 globalwpw.settings.obj.no_result 15875 ), 15876 globalwpw.wildcards 15877 ); 15878 // wpwMsg.single_nobg('<span class="qcld-chatbot-wildcard" data-wildcart="back">' + + '</span>'); 15879 } 15880 } 15881 }); 15882 } 15883 globalwpw.wildCard = 0; 15884 }); 15885 } else if ( 15886 wp_chatbot_obj.ollama_enabled == "1" || 15887 wp_chatbot_obj.openrouter_enabled == "1" || 15888 wp_chatbot_obj.open_ai_enable == "1" || 15889 wp_chatbot_obj.grok_enabled == "1" || 15890 wp_chatbot_obj.mistral_enabled == "1" || 15891 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 15892 globalwpw.settings.obj.tvlyai_enabled == "1" 15893 ) { 15894 wpwMsg.open_ai_message_callback(openai_msg); 15895 } else { 15896 wpwTree.start_menu_settings(); 15897 } 15898 } 15899 } 15900 } 15901 }); 15902 } else { 15903 if (globalwpw.settings.obj.qcbot_enable_str == "1") { 15904 var data = { 15905 action: "wpbo_search_response", 15906 name: globalwpw.hasNameCookie, 15907 keyword: msg, 15908 language: globalwpw.settings.obj.language, 15909 }; 15910 if ( 15911 $( 15912 globalwpw.settings.messageLastChild + 15913 " .wp-chatbot-comment-loader" 15914 ).length == 0 15915 ) { 15916 $(globalwpw.settings.messageContainer).append( 15917 wpwKits.botPreloader() 15918 ); 15919 } 15920 wpwKits.ajax(data).done(function (response) { 15921 var json = $.parseJSON(response); 15922 if (json.status == "success") { 15923 var all_html = []; 15924 var count_result = 0; 15925 wpwTree.strHandler(msg, json); 15926 } else { 15927 var all_html = []; 15928 var count_result = 0; 15929 //Default intents site search 15930 var openai_msg = msg; 15931 msg = wpwKits.filterStopWords(msg); 15932 var wppt_post_types = 15933 globalwpw.settings.obj.wppt_post_types; 15934 var woo_search_active = false; // Initialize to false 15935 var post_types_array = (Array.isArray(wppt_post_types)) ? wppt_post_types : Object.values(wppt_post_types); 15936 if (
15937 globalwpw.settings.obj.woocommerce && 15938 Array.isArray(wppt_post_types) // Ensure wppt_post_types is an array before calling indexOf 15939 ) { 15940 // Check if the product key exists in the wppt_post_types array 15941 if ( 15942 post_types_array.indexOf( 15943 wpwKits 15944 .render(globalwpw.settings.obj.sys_key_product) 15945 .toLowerCase() 15946 ) > -1 15947 ) { 15948 woo_search_active = true; // Set to true if found 15949 } 15950 // If not found, woo_search_active remains false, which is the default. 15951 } 15952 if ( 15953 globalwpw.settings.obj.woocommerce && 15954 woo_search_active 15955 ) { 15956 var data = { 15957 action: "qcld_wb_chatbot_keyword", 15958 keyword: msg, 15959 language: globalwpw.settings.obj.language, 15960 }; 15961 //Products by string search ajax handler. 15962 if ( 15963 $( 15964 globalwpw.settings.messageLastChild + 15965 " .wp-chatbot-comment-loader" 15966 ).length == 0 15967 ) { 15968 $(globalwpw.settings.messageContainer).append( 15969 wpwKits.botPreloader() 15970 ); 15971 } 15972 wpwKits.ajax(data).done(function (response) { 15973 if (response.product_num == 0) { 15974 if ( 15975 msg != "" && 15976 globalwpw.settings.obj.disable_sitesearch == "" && 15977 globalwpw.settings.obj.qc_site_search_priority != 15978 "1" 15979 ) { 15980 var data = { 15981 action: "wpbo_search_site", 15982 name: globalwpw.hasNameCookie, 15983 keyword: msg, 15984 language: globalwpw.settings.obj.language, 15985 }; 15986 if ( 15987 $( 15988 globalwpw.settings.messageLastChild + 15989 " .wp-chatbot-comment-loader" 15990 ).length == 0 15991 ) { 15992 $(globalwpw.settings.messageContainer).append( 15993 wpwKits.botPreloader() 15994 ); 15995 } 15996 wpwKits.ajax(data).done(function (response) { 15997 var json = $.parseJSON(response); 15998 15999 if (json.status == "success") { 16000 $( 16001 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 16002 ) 16003 .parent(".wp-chatbot-paragraph") 16004 .hide(); 16005 $('span[data-wildcart="back"]').remove(); 16006 wpwMsg.single_nobg(json.html); 16007 setTimeout(() => { 16008 $(".wpb-search-result a") 16009 .first()[0] 16010 .scrollIntoView(); 16011 }, 600); 16012 } else if ( 16013 wp_chatbot_obj.ollama_enabled == "1" || 16014 wp_chatbot_obj.openrouter_enabled == "1" || 16015 wp_chatbot_obj.open_ai_enable == "1" || 16016 wp_chatbot_obj.grok_enabled == "1" || 16017 wp_chatbot_obj.mistral_enabled == "1" || 16018 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
16019 globalwpw.settings.obj.tvlyai_enabled == "1" 16020 ) { 16021 wpwMsg.open_ai_message_callback(openai_msg); 16022 } else { 16023 var data = { 16024 action: "wpbo_failed_response", 16025 name: globalwpw.hasNameCookie, 16026 keyword: msg, 16027 }; 16028 wpwKits.ajax(data).done(function (res) { 16029 // 16030 if ( 16031 globalwpw.counter == 16032 globalwpw.settings.obj 16033 .no_result_attempt_count || 16034 globalwpw.settings.obj 16035 .no_result_attempt_count == 0 16036 ) { 16037 wpwMsg.single(wpwKits.randomMsg(json.html)); 16038 16039 if ( 16040 wpwKits.render( 16041 globalwpw.settings.obj 16042 .no_result_attempt_message 16043 ) != "" 16044 ) { 16045 setTimeout(function () { 16046 wpwMsg.single( 16047 wpwKits.render( 16048 globalwpw.settings.obj 16049 .no_result_attempt_message 16050 ) 16051 ); 16052 }, globalwpw.settings.preLoadingTime); 16053 } else { 16054 wpwTree.start_menu_settings(); 16055 } 16056 16057 globalwpw.counter = 0; 16058 } else { 16059 globalwpw.counter++; 16060 wpwMsg.single(wpwKits.randomMsg(json.html)); 16061 } 16062 }); 16063 } 16064 globalwpw.wildCard = 0; 16065 }); 16066 } else if ( 16067 wp_chatbot_obj.ollama_enabled == "1" || 16068 wp_chatbot_obj.openrouter_enabled == "1" || 16069 wp_chatbot_obj.open_ai_enable == "1" || 16070 wp_chatbot_obj.mistral_enabled == "1" || 16071 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 16072 wp_chatbot_obj.grok_enabled == "1" || 16073 globalwpw.settings.obj.tvlyai_enabled == "1" 16074 ) { 16075 wpwMsg.open_ai_message_callback(openai_msg); 16076 } else { 16077 globalwpw.wildCard = 0; 16078 wpwMsg.single( 16079 wpwKits.randomMsg( 16080 globalwpw.settings.obj.empty_filter_msg 16081 ) 16082 ); 16083 16084 wpwTree.start_menu_settings(); 16085 } 16086 } else { 16087 var productSucces = 16088 wpwKits.randomMsg( 16089 globalwpw.settings.obj.product_success 16090 ) + 16091 " <strong>" + 16092 msg + 16093 "</strong>!"; 16094 wpwMsg.double_nobg(productSucces, response.html); 16095 16096 if (response.per_page >= response.product_num) { 16097 setTimeout(function () { 16098 var searchAgain = wpwKits.randomMsg(
16099 globalwpw.settings.obj.product_infinite 16100 ); 16101 wpwMsg.single( 16102 searchAgain 16103 ); 16104 wpwTree.start_menu_settings(); 16105 //keeping value in localstorage 16106 globalwpw.wildCard = 0; 16107 globalwpw.productStep = "search"; 16108 localStorage.setItem( 16109 "productStep", 16110 globalwpw.productStep 16111 ); 16112 }, globalwpw.settings.wildcardsShowTime); 16113 } 16114 } 16115 }); 16116 } else { 16117 if ( 16118 msg != "" && 16119 globalwpw.settings.obj.disable_sitesearch != "1" 16120 ) { 16121 var data = { 16122 action: "wpbo_search_site", 16123 name: globalwpw.hasNameCookie, 16124 keyword: msg, 16125 language: globalwpw.settings.obj.language, 16126 }; 16127 if ( 16128 $( 16129 globalwpw.settings.messageLastChild + 16130 " .wp-chatbot-comment-loader" 16131 ).length == 0 16132 ) { 16133 $(globalwpw.settings.messageContainer).append( 16134 wpwKits.botPreloader() 16135 ); 16136 } 16137 wpwKits.ajax(data).done(function (response) { 16138 var json = $.parseJSON(response); 16139 if (json.status == "success") { 16140 $('span[data-wildcart="back"]').remove(); 16141 $( 16142 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 16143 ) 16144 .parent(".wp-chatbot-paragraph") 16145 .hide(); 16146 wpwMsg.single_nobg(json.html); 16147 // setTimeout(() => { 16148 // $(".wpb-search-result a").first()[0].scrollIntoView(); 16149 // }, 600); 16150 } else if ( 16151 globalwpw.settings.obj.open_ai_enable == "1" || 16152 globalwpw.settings.obj.tvlyai_enabled == "1" || 16153 globalwpw.settings.obj.ollama_enabled == "1" || 16154 globalwpw.settings.obj.openrouter_enabled == "1" || 16155 globalwpw.settings.obj.mistral_enabled == "1" || 16156 globalwpw.settings.obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" 16157 ) { 16158 //new update 16159 16160 wpwMsg.open_ai_message_callback(openai_msg); 16161 } else { 16162 var data = { 16163 action: "wpbo_failed_response", 16164 name: globalwpw.hasNameCookie, 16165 keyword: msg, 16166 }; 16167 wpwKits.ajax(data).done(function (res) { 16168 if ( 16169 globalwpw.counter == 16170 globalwpw.settings.obj 16171 .no_result_attempt_count || 16172 globalwpw.settings.obj 16173 .no_result_attempt_count == 0 16174 ) { 16175 if ( 16176 wpwKits.render( 16177 globalwpw.settings.obj 16178 .no_result_attempt_message 16179 ) != "" 16180 ) { 16181 setTimeout(function () { 16182 wpwMsg.single( 16183 wpwKits.render(
16184 globalwpw.settings.obj 16185 .no_result_attempt_message 16186 ) 16187 ); 16188 }, globalwpw.settings.preLoadingTime); 16189 wpwTree.start_menu_settings(); 16190 } else { 16191 wpwTree.start_menu_settings(); 16192 } 16193 if ( 16194 globalwpw.settings.obj 16195 .qcld_disable_repited_startmenu == "1" 16196 ) { 16197 setTimeout(function () { 16198 wpwMsg.single( 16199 wpwKits.randomMsg( 16200 '<span class="qcld-chatbot-wildcard" data-wildcart="back">' + 16201 wpwKits.randomMsg( 16202 globalwpw.settings.obj.back_to_start 16203 ) + 16204 "</span>" 16205 ) 16206 ); 16207 }); 16208 globalwpw.counter = 0; 16209 } 16210 } else { 16211 globalwpw.counter++; 16212 16213 if ( 16214 globalwpw.settings.obj 16215 .qcld_disable_repited_startmenu == "1" 16216 ) { 16217 wpwMsg.double_nobg( 16218 wpwKits.randomMsg( 16219 globalwpw.settings.obj.no_result 16220 ), 16221 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 16222 wpwKits.randomMsg( 16223 globalwpw.settings.obj.back_to_start 16224 ) + 16225 "</span>" 16226 ); 16227 } else { 16228 wpwMsg.single( 16229 wpwKits.randomMsg( 16230 globalwpw.settings.obj.no_result 16231 ) 16232 ); 16233 // wpwMsg.single_nobg('<span class="qcld-chatbot-wildcard" data-wildcart="back">' + + '</span>'); 16234 } 16235 } 16236 }); 16237 } 16238 globalwpw.wildCard = 0; 16239 }); 16240 } else if ( 16241 wp_chatbot_obj.ollama_enabled == "1" || 16242 wp_chatbot_obj.openrouter_enabled == "1" || 16243 wp_chatbot_obj.open_ai_enable == "1" || 16244 wp_chatbot_obj.mistral_enabled == "1" || 16245 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 16246 wp_chatbot_obj.grok_enabled == "1" || 16247 globalwpw.settings.obj.tvlyai_enabled == "1" 16248 ) { 16249 wpwMsg.open_ai_message_callback(openai_msg); 16250 } else { 16251 if ( 16252 globalwpw.counter < globalwpw.settings.obj.no_result_attempt_count || 16253 globalwpw.settings.obj.no_result_attempt_count == 0 16254 ) { 16255 globalwpw.counter++; 16256 wpwMsg.single(wpwKits.randomMsg(globalwpw.settings.obj.no_result)); 16257 wpwTree.start_menu_settings(); 16258 } else { 16259 globalwpw.counter++; 16260 wpwMsg.single(wpwKits.randomMsg(globalwpw.settings.obj.no_result_attempt_message)); 16261 wpwTree.start_menu_settings(); 16262 } 16263 } 16264 } 16265 } 16266 }); 16267 } else { 16268 var all_html = []; 16269 var count_result = 0; 16270 //Default intents site search
16271 var openai_msg = msg; 16272 msg = wpwKits.filterStopWords(msg); 16273 var wppt_post_types = globalwpw.settings.obj.wppt_post_types; 16274 var woo_search_active = false; 16275 if ( 16276 globalwpw.settings.obj.woocommerce && 16277 typeof globalwpw.settings.obj.wppt_post_types !== "undefined" 16278 ) { 16279 var sysKeyProductRendered = wpwKits.render( 16280 globalwpw.settings.obj.sys_key_product 16281 ); 16282 var post_types_array = (Array.isArray(wppt_post_types)) ? wppt_post_types : Object.values(wppt_post_types); 16283 if ( 16284 typeof sysKeyProductRendered !== "undefined" && 16285 sysKeyProductRendered !== null && 16286 post_types_array.indexOf( 16287 sysKeyProductRendered.toLowerCase() 16288 ) > -1 && 16289 woo_search_active 16290 ) { 16291 woo_search_active = true; 16292 } else { 16293 woo_search_active = false; 16294 } 16295 } 16296 if (globalwpw.settings.obj.woocommerce && woo_search_active) { 16297 var data = { 16298 action: "qcld_wb_chatbot_keyword", 16299 keyword: msg, 16300 language: globalwpw.settings.obj.language, 16301 }; 16302 //Products by string search ajax handler. 16303 if ( 16304 $( 16305 globalwpw.settings.messageLastChild + 16306 " .wp-chatbot-comment-loader" 16307 ).length == 0 16308 ) { 16309 $(globalwpw.settings.messageContainer).append( 16310 wpwKits.botPreloader() 16311 ); 16312 } 16313 wpwKits.ajax(data).done(function (response) { 16314 if (response.product_num == 0) { 16315 if ( 16316 msg != "" && 16317 globalwpw.settings.obj.disable_sitesearch == "" && 16318 globalwpw.settings.obj.qc_site_search_priority != "1" 16319 ) { 16320 var data = { 16321 action: "wpbo_search_site", 16322 name: globalwpw.hasNameCookie, 16323 keyword: msg, 16324 language: globalwpw.settings.obj.language, 16325 }; 16326 if ( 16327 $( 16328 globalwpw.settings.messageLastChild + 16329 " .wp-chatbot-comment-loader" 16330 ).length == 0 16331 ) { 16332 $(globalwpw.settings.messageContainer).append( 16333 wpwKits.botPreloader() 16334 ); 16335 } 16336 wpwKits.ajax(data).done(function (response) { 16337 var json = $.parseJSON(response); 16338 16339 if (json.status == "success") { 16340 $( 16341 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 16342 ) 16343 .parent(".wp-chatbot-paragraph") 16344 .hide(); 16345 $('span[data-wildcart="back"]').remove(); 16346 wpwMsg.single_nobg(json.html); 16347 setTimeout(() => { 16348 $(".wpb-search-result a") 16349 .first()[0] 16350 .scrollIntoView(); 16351 }, 600); 16352 } else if ( 16353 wp_chatbot_obj.ollama_enabled == "1" || 16354 wp_chatbot_obj.openrouter_enabled == "1" || 16355 wp_chatbot_obj.open_ai_enable == "1" || 16356 wp_chatbot_obj.mistral_enabled == "1" || 16357 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 16358 wp_chatbot_obj.grok_enabled == "1" ||
16359 globalwpw.settings.obj.tvlyai_enabled == "1" 16360 ) { 16361 wpwMsg.open_ai_message_callback(openai_msg); 16362 } else { 16363 var data = { 16364 action: "wpbo_failed_response", 16365 name: globalwpw.hasNameCookie, 16366 keyword: msg, 16367 }; 16368 wpwKits.ajax(data).done(function (res) { 16369 // 16370 if ( 16371 globalwpw.counter == 16372 globalwpw.settings.obj 16373 .no_result_attempt_count || 16374 globalwpw.settings.obj 16375 .no_result_attempt_count == 0 16376 ) { 16377 wpwMsg.single(wpwKits.randomMsg(json.html)); 16378 16379 if ( 16380 wpwKits.render( 16381 globalwpw.settings.obj 16382 .no_result_attempt_message 16383 ) != "" 16384 ) { 16385 setTimeout(function () { 16386 wpwMsg.single( 16387 wpwKits.render( 16388 globalwpw.settings.obj 16389 .no_result_attempt_message 16390 ) 16391 ); 16392 }, globalwpw.settings.preLoadingTime); 16393 } else { 16394 wpwTree.start_menu_settings(); 16395 } 16396 16397 globalwpw.counter = 0; 16398 } else { 16399 globalwpw.counter++; 16400 wpwMsg.single(wpwKits.randomMsg(json.html)); 16401 } 16402 }); 16403 } 16404 globalwpw.wildCard = 0; 16405 }); 16406 } else if ( 16407 wp_chatbot_obj.ollama_enabled == "1" || 16408 wp_chatbot_obj.open_ai_enable == "1" || 16409 wp_chatbot_obj.grok_enabled == "1" || 16410 globalwpw.settings.obj.tvlyai_enabled == "1" 16411 ) { 16412 wpwMsg.open_ai_message_callback(openai_msg); 16413 } else { 16414 globalwpw.wildCard = 0; 16415 wpwMsg.single( 16416 wpwKits.randomMsg( 16417 globalwpw.settings.obj.empty_filter_msg 16418 ) 16419 ); 16420 16421 wpwTree.start_menu_settings(); 16422 } 16423 } else { 16424 var productSucces = 16425 wpwKits.randomMsg( 16426 globalwpw.settings.obj.product_success 16427 ) + 16428 " <strong>" + 16429 msg + 16430 "</strong>!"; 16431 wpwMsg.double_nobg(productSucces, response.html); 16432 16433 if (response.per_page >= response.product_num) { 16434 setTimeout(function () { 16435 var searchAgain = wpwKits.randomMsg( 16436 globalwpw.settings.obj.product_infinite 16437 ); 16438 if ( 16439 globalwpw.settings.obj 16440 .qcld_disable_repited_startmenu == "1" 16441 ) { 16442 wpwMsg.single( 16443 searchAgain 16444 ); 16445 wpwTree.start_menu_settings(); 16446 } else { 16447 wpwMsg.single(searchAgain); 16448 wpwTree.start_menu_settings(); 16449 } 16450 //keeping value in localstorage
16451 globalwpw.wildCard = 0; 16452 globalwpw.productStep = "search"; 16453 localStorage.setItem( 16454 "productStep", 16455 globalwpw.productStep 16456 ); 16457 }, globalwpw.settings.wildcardsShowTime); 16458 } 16459 } 16460 }); 16461 } else { 16462 if ( 16463 msg != "" && 16464 globalwpw.settings.obj.disable_sitesearch != "1" 16465 ) { 16466 var data = { 16467 action: "wpbo_search_site", 16468 name: globalwpw.hasNameCookie, 16469 keyword: msg, 16470 language: globalwpw.settings.obj.language, 16471 }; 16472 if ( 16473 $( 16474 globalwpw.settings.messageLastChild + 16475 " .wp-chatbot-comment-loader" 16476 ).length == 0 16477 ) { 16478 $(globalwpw.settings.messageContainer).append( 16479 wpwKits.botPreloader() 16480 ); 16481 } 16482 wpwKits.ajax(data).done(function (response) { 16483 var json = $.parseJSON(response); 16484 if (json.status == "success") { 16485 $('span[data-wildcart="back"]').remove(); 16486 $( 16487 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 16488 ) 16489 .parent(".wp-chatbot-paragraph") 16490 .hide(); 16491 wpwMsg.single_nobg(json.html); 16492 // setTimeout(() => { 16493 // $(".wpb-search-result a").first()[0].scrollIntoView(); 16494 // }, 600); 16495 } else if ( 16496 globalwpw.settings.obj.open_ai_enable == "1" || 16497 globalwpw.settings.obj.tvlyai_enabled == "1" 16498 ) { 16499 wpwMsg.open_ai_message_callback(openai_msg); 16500 } else { 16501 var data = { 16502 action: "wpbo_failed_response", 16503 name: globalwpw.hasNameCookie, 16504 keyword: msg, 16505 }; 16506 wpwKits.ajax(data).done(function (res) { 16507 if ( 16508 globalwpw.counter < globalwpw.settings.obj.no_result_attempt_count || 16509 globalwpw.settings.obj.no_result_attempt_count == 0 16510 ) { 16511 if ( 16512 wpwKits.render( 16513 globalwpw.settings.obj.no_result_attempt_message 16514 ) != "" 16515 ) { 16516 setTimeout(function () { 16517 wpwMsg.single( 16518 wpwKits.render( 16519 globalwpw.settings.obj 16520 .no_result_attempt_message 16521 ) 16522 ); 16523 }, globalwpw.settings.preLoadingTime); 16524 wpwTree.start_menu_settings(); 16525 } else { 16526 wpwTree.start_menu_settings(); 16527 } 16528 setTimeout(function () { 16529 if ( 16530 globalwpw.settings.obj 16531 .qcld_disable_repited_startmenu == "1" 16532 ) { 16533 wpwMsg.single( 16534 wpwKits.randomMsg( 16535 '<span class="qcld-chatbot-wildcard" data-wildcart="back">' + 16536 wpwKits.randomMsg(
16537 globalwpw.settings.obj.back_to_start 16538 ) + 16539 "</span>" 16540 ) 16541 ); 16542 } 16543 }); 16544 16545 globalwpw.counter = 0; 16546 } else { 16547 globalwpw.counter++; 16548 16549 if ( 16550 globalwpw.settings.obj 16551 .qcld_disable_repited_startmenu == "1" 16552 ) { 16553 wpwMsg.double_nobg( 16554 wpwKits.randomMsg( 16555 globalwpw.settings.obj.no_result 16556 ), 16557 '<span class="qcld-chatbot-wildcard qcld_back_to_start" data-wildcart="back">' + 16558 wpwKits.randomMsg( 16559 globalwpw.settings.obj.back_to_start 16560 ) + 16561 "</span>" 16562 ); 16563 } else { 16564 wpwMsg.double_nobg( 16565 wpwKits.randomMsg( 16566 globalwpw.settings.obj.no_result 16567 ), 16568 globalwpw.wildcards 16569 ); 16570 // wpwMsg.single_nobg('<span class="qcld-chatbot-wildcard" data-wildcart="back">' + + '</span>'); 16571 } 16572 } 16573 }); 16574 } 16575 globalwpw.wildCard = 0; 16576 }); 16577 } else if ( 16578 wp_chatbot_obj.ollama_enabled == "1" || 16579 wp_chatbot_obj.openrouter_enabled == "1" || 16580 wp_chatbot_obj.open_ai_enable == "1" || 16581 wp_chatbot_obj.mistral_enabled == "1" || 16582 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 16583 wp_chatbot_obj.grok_enabled == "1" || 16584 globalwpw.settings.obj.tvlyai_enabled == "1" 16585 ) { 16586 wpwMsg.open_ai_message_callback(openai_msg); 16587 } else { 16588 wpwTree.start_menu_settings(); 16589 } 16590 } 16591 } 16592 } 16593 } 16594 } 16595 if (globalwpw.settings.obj.woocommerce) { 16596 //Product 16597 if (globalwpw.wildCard == 20 && msg.toLowerCase() != "featured") { 16598 wpwTree.product(msg); 16599 } else if ( 16600 typeof msg != "undefined" && 16601 msg.toLowerCase() == "featured" && 16602 globalwpw.wildCard == 20 16603 ) { 16604 globalwpw.wildCard = 20; 16605 globalwpw.productStep = "featured"; 16606 wpwTree.product("featured"); 16607 } else if (globalwpw.wildCard == 21 || msg == "Order Status") { 16608 wpwTree.order(msg); 16609 } 16610 } 16611 if (globalwpw.wildCard == 1) { 16612 wpwTree.support(msg); 16613 } 16614 if (globalwpw.wildCard == 3) { 16615 wpwTree.subscription(msg); 16616 } 16617 if (globalwpw.wildCard == 6) { 16618 wpwTree.unsubscription(msg); 16619 } 16620 16621 if (globalwpw.wildCard == 7) { 16622 wpwTree.formbuilder(msg); 16623 } 16624 if (globalwpw.wildCard == 9) { 16625 wpwTree.bargain(msg); 16626 } 16627 if (globalwpw.wildCard == 25) { 16628 wpwTree.reset(msg); 16629 } 16630 if (globalwpw.wildCard == 26) { 16631 wpwTree.dfcx(msg); 16632 } 16633 if (globalwpw.wildCard == 30) { 16634 wpwTree.ldsuggestion(); 16635 } 16636 } 16637 wpwKits.wpwHistorySave(); 16638 }, 16639 shopper: function (msg) { 16640 wpwMsg.shopper(msg); 16641 if (globalwpw.wildCard == 1) { 16642 this.bot(msg); 16643 } else if ( 16644 globalwpw.settings.obj.ai_df_enable == 1 && 16645 globalwpw.wildCard == 0 &&
16646 globalwpw.ai_step == 1 && 16647 globalwpw.df_status_lock == 0 16648 ) { 16649 this.bot(msg); 16650 } else { 16651 var filterMsg = msg; 16652 //Filtering the user given messages by stopwords 16653 if (!localStorage.getItem("shopper")) { 16654 filterMsg = msg; 16655 } 16656 16657 //handle empty filterMsg as repeat the message. 16658 if (filterMsg == "") { 16659 //need to add condition for email collecting 16660 if (globalwpw.settings.obj.ask_email_wp_greetings == 1) { 16661 this.bot(msg); 16662 } else { 16663 globalwpw.repeatQueryEmpty = wpwKits.randomMsg( 16664 globalwpw.settings.obj.empty_filter_msg 16665 ); 16666 globalwpw.emptymsghandler++; 16667 16668 wpwMsg.single(globalwpw.repeatQueryEmpty); 16669 wpwTree.start_menu_settings(); 16670 } 16671 } else { 16672 globalwpw.emptymsghandler = 0; 16673 this.bot(filterMsg); 16674 } 16675 } 16676 }, 16677 }; 16678 16679 /* 16680 * wpwBot Plugin Creation without selector and 16681 * wpwbot and shoppers all activities will be handled. 16682 */ 16683 $.wpwbot = function (options) { 16684 //Using plugins defualts values or overwrite by options. 16685 var settings = $.extend({}, $.wpwbot.defaults, options); 16686 //Updating global settings 16687 globalwpw.settings = settings; 16688 16689 wpwKits.initAiFileUpload(); 16690 setTimeout(function () { 16691 wpwKits.initAiFileUpload(); 16692 }, 0); 16693 16694 // GTranslate URL language check (js way) 16695 if (window.location.pathname) { 16696 var pathParts = window.location.pathname.split('/'); 16697 var pathLang = pathParts[1] ? pathParts[1].toLowerCase() : ''; 16698 if (pathLang && pathLang.length === 2) { 16699 var foundLang = false; 16700 if (globalwpw.settings.obj.wildcard_msg) { 16701 for (var langKey in globalwpw.settings.obj.wildcard_msg) { 16702 if (langKey.toLowerCase().indexOf(pathLang) === 0) { 16703 globalwpw.settings.obj.language = langKey; 16704 globalwpw.settings.obj.default_language = langKey; 16705 localStorage.setItem("bot_language", langKey); 16706 wpwKits.doReset(); 16707 foundLang = true; 16708 break; 16709 } 16710 } 16711 } 16712 if (!foundLang) { 16713 if (pathLang === 'es') { 16714 globalwpw.settings.obj.language = 'es_ES'; 16715 globalwpw.settings.obj.default_language = 'es_ES'; 16716 localStorage.setItem("bot_language", 'es_ES'); 16717 wpwKits.doReset(); 16718 } else if (pathLang === 'it') { 16719 globalwpw.settings.obj.language = 'it_IT'; 16720 globalwpw.settings.obj.default_language = 'it_IT'; 16721 localStorage.setItem("bot_language", 'it_IT'); 16722 wpwKits.doReset(); 16723 } else if (pathLang === 'fr') { 16724 globalwpw.settings.obj.language = 'fr_FR'; 16725 globalwpw.settings.obj.default_language = 'fr_FR'; 16726 localStorage.setItem("bot_language", 'fr_FR'); 16727 wpwKits.doReset(); 16728 } else if (pathLang === 'de') { 16729 globalwpw.settings.obj.language = 'de_DE'; 16730 globalwpw.settings.obj.default_language = 'de_DE'; 16731 localStorage.setItem("bot_language", 'de_DE'); 16732 wpwKits.doReset(); 16733 } else if (pathLang === 'pl') { 16734 globalwpw.settings.obj.language = 'pl_PL'; 16735 globalwpw.settings.obj.default_language = 'pl_PL'; 16736 localStorage.setItem("bot_language", 'pl_PL'); 16737 wpwKits.doReset(); 16738 } else if (pathLang === 'pt') { 16739 globalwpw.settings.obj.language = 'pt_BR'; 16740 globalwpw.settings.obj.default_language = 'pt_BR'; 16741 localStorage.setItem("bot_language", 'pt_BR'); 16742 wpwKits.doReset(); 16743 } else if (pathLang === 'bs') { 16744 globalwpw.settings.obj.language = 'bs_BA'; 16745 globalwpw.settings.obj.default_language = 'bs_BA'; 16746 localStorage.setItem("bot_language", 'bs_BA'); 16747 wpwKits.doReset(); 16748 } 16749 } 16750 } 16751 } 16752 16753 //updating the helpkeywords 16754 //Language setup 16755 if ( 16756 localStorage.getItem("bot_language") && 16757 localStorage.getItem("bot_language") !== globalwpw.settings.obj.language 16758 ) { 16759 localStorage.setItem("bot_language", globalwpw.settings.obj.language); 16760 wpwKits.doReset(); 16761 } else { 16762 localStorage.setItem("bot_language", globalwpw.settings.obj.language); 16763 } 16764 16765 if (globalwpw.settings.obj.woocommerce) {
16766 globalwpw.wildcardsHelp = [ 16767 (wpwKits.render(globalwpw.settings.obj.sys_key_help) || '').toLowerCase(), 16768 (wpwKits.render(globalwpw.settings.obj.sys_key_support) || '').toLowerCase(), 16769 (wpwKits.render(globalwpw.settings.obj.sys_key_reset) || '').toLowerCase(), 16770 (wpwKits.render(globalwpw.settings.obj.email_subscription) || '').toLowerCase(), 16771 (wpwKits.render(globalwpw.settings.obj.unsubscribe) || '').toLowerCase(), 16772 (wpwKits.render(globalwpw.settings.obj.sys_key_livechat) || '').toLowerCase(), 16773 (wpwKits.render(globalwpw.settings.obj.sys_key_product) || '').toLowerCase(), 16774 (wpwKits.render(globalwpw.settings.obj.sys_key_catalog) || '').toLowerCase(), 16775 (wpwKits.render(globalwpw.settings.obj.sys_key_order) || '').toLowerCase(), 16776 ]; 16777 16778 if ( 16779 globalwpw.settings.obj.ticket_url != "" && 16780 globalwpw.settings.obj.disable_open_ticket == "" 16781 ) { 16782 globalwpw.wildcardsHelp.push( 16783 (wpwKits.render(globalwpw.settings.obj.open_a_ticket) || '').toLowerCase() 16784 ); 16785 } 16786 if ( 16787 typeof globalwpw.settings.obj.good_bye !== "undefined" && 16788 globalwpw.settings.obj.good_bye !== "" && 16789 globalwpw.settings.obj.disable_good_bye === "" 16790 ) { 16791 var goodByeRendered = wpwKits.render(globalwpw.settings.obj.good_bye); 16792 if (typeof goodByeRendered === "string") { 16793 globalwpw.wildcardsHelp.push(goodByeRendered.toLowerCase()); 16794 } 16795 } 16796 } else { 16797 globalwpw.wildcardsHelp = [ 16798 ( 16799 wpwKits.render(globalwpw.settings.obj.sys_key_help) || "" 16800 ).toLowerCase(), 16801 ( 16802 wpwKits.render(globalwpw.settings.obj.sys_key_support) || "" 16803 ).toLowerCase(), 16804 ( 16805 wpwKits.render(globalwpw.settings.obj.sys_key_reset) || "" 16806 ).toLowerCase(), 16807 ( 16808 wpwKits.render(globalwpw.settings.obj.email_subscription) || "" 16809 ).toLowerCase(), 16810 ( 16811 wpwKits.render(globalwpw.settings.obj.unsubscribe) || "" 16812 ).toLowerCase(), 16813 ( 16814 wpwKits.render(globalwpw.settings.obj.sys_key_livechat) || "" 16815 ).toLowerCase(), 16816 ]; 16817 if ( 16818 globalwpw.settings.obj.ticket_url != "" && 16819 globalwpw.settings.obj.disable_open_ticket == "" 16820 ) { 16821 globalwpw.wildcardsHelp.push( 16822 (wpwKits.render(globalwpw.settings.obj.open_a_ticket) || '').toLowerCase() 16823 ); 16824 } 16825 if ( 16826 typeof globalwpw.settings.obj.good_bye !== "undefined" && 16827 globalwpw.settings.obj.good_bye !== "" && 16828 globalwpw.settings.obj.disable_good_bye === "" 16829 ) { 16830 var goodByeRendered = wpwKits.render(globalwpw.settings.obj.good_bye); 16831 if (typeof goodByeRendered === "string") { 16832 globalwpw.wildcardsHelp.push(goodByeRendered.toLowerCase()); 16833 } 16834 } 16835 } 16836 16837 //updating wildcards 16838 globalwpw.wildcards = ""; 16839 16840 //Adding custom Intents 16841 16842 if (wpwKits.render(globalwpw.settings.obj.start_menu) != "") { 16843 var menu_html = ""; 16844 var menu_items = $.parseHTML( 16845 $.trim(wpwKits.render(globalwpw.settings.obj.start_menu)) 16846 ); 16847 var tempData = []; 16848 if ( 16849 globalwpw.settings.obj.disable_livechat_operator_offline == "1" || 16850 globalwpw.settings.obj.disable_livechat == 1 16851 ) { 16852 if ( 16853 globalwpw.settings.obj.is_operator_online != "1" && 16854 globalwpw.settings.obj.livechatlink == "" 16855 ) { 16856 $.each(menu_items, function (index, value) { 16857 var htmlObject = jQuery(value); 16858 if ( 16859 !htmlObject.hasClass("wpbo_live_chat") && 16860 !htmlObject.hasClass("qcld-chatbot-custom-intent") 16861 ) { 16862 tempData.push(value); 16863 } 16864 }); 16865 } 16866 } 16867 16868 if (tempData.length != 0) { 16869 menu_items = tempData; 16870 } 16871 16872 $(menu_items).each(function () { 16873 if ($(this).prop("tagName") == "SPAN") { 16874 //disable_voice_message 16875 if ($(this).hasClass("wpbd_voice_message")) { 16876 if (globalwpw.settings.obj.disable_voice_message == "") { 16877 menu_html += $(this).prop("outerHTML"); 16878 } 16879 } else if ($(this).hasClass("qcld-chatbot-site-search")) { 16880 if (globalwpw.settings.obj.disable_sitesearch == "") { 16881 menu_html += $(this).prop("outerHTML"); 16882 } 16883 } else if ( 16884 $(this).hasClass("qcld-chatbot-suggest-email") && 16885 !$(this).hasClass("wpbd_feedback") 16886 ) { 16887 if (globalwpw.settings.obj.disable_feedback == "") { 16888 menu_html += $(this).prop("outerHTML"); 16889 } 16890 } else if ($(this).hasClass("wpbd_feedback")) { 16891 if (globalwpw.settings.obj.disable_leave_feedback == "") { 16892 menu_html += $(this).prop("outerHTML"); 16893 } 16894 } else if ($(this).hasClass("wpbo_live_chat")) { 16895 if (
16896 globalwpw.settings.obj.disable_livechat_operator_offline == "1" || 16897 globalwpw.settings.obj.disable_livechat == 1 16898 ) { 16899 if (globalwpw.settings.obj.is_operator_online == 1) { 16900 if ( 16901 globalwpw.settings.obj.livechat == "1" && 16902 !globalwpw.settings.obj.is_livechat_active 16903 ) { 16904 menu_html += $(this).prop("outerHTML"); 16905 } 16906 } 16907 } 16908 if (globalwpw.settings.obj.livechatlink != "") { 16909 menu_html += $(this).prop("outerHTML"); 16910 } 16911 } else if ($(this).hasClass("qcld-chatbot-suggest-phone")) { 16912 if (globalwpw.settings.obj.call_gen == "") { 16913 menu_html += $(this).prop("outerHTML"); 16914 } 16915 } else if ($(this).hasClass("wpbd_subscription")) { 16916 if (globalwpw.settings.obj.disable_email_subscription == "") { 16917 menu_html += $(this).prop("outerHTML"); 16918 } 16919 } 16920 else if ($(this).hasClass("wpbd_good_bye")) { 16921 if (globalwpw.settings.obj.disable_good_bye == "") { 16922 menu_html += $(this).prop("outerHTML"); 16923 } 16924 } 16925 else if ($(this).hasClass("qcld_btn_n8n_txt")) { 16926 if (globalwpw.settings.obj.qcld_enable_n8n == "1") { 16927 menu_html += $(this).prop("outerHTML"); 16928 } 16929 } 16930 else if ( 16931 $(this).hasClass("qcld-chatbot-wildcard") && 16932 $(this).attr("data-wildcart") == "product" 16933 ) { 16934 if (globalwpw.settings.obj.disable_product_search != 1) { 16935 menu_html += $(this).prop("outerHTML"); 16936 } 16937 } else if ( 16938 $(this).hasClass("qcld-chatbot-wildcard") && 16939 $(this).attr("data-wildcart") == "catalog" 16940 ) { 16941 if (globalwpw.settings.obj.disable_catalog != 1) { 16942 menu_html += $(this).prop("outerHTML"); 16943 } 16944 } else if ( 16945 $(this).hasClass("qcld-chatbot-wildcard") && 16946 $(this).attr("data-wildcart") == "featured" 16947 ) { 16948 if (globalwpw.settings.obj.disable_featured_product != 1) { 16949 menu_html += $(this).prop("outerHTML"); 16950 } 16951 } else if ( 16952 $(this).hasClass("qcld-chatbot-wildcard") && 16953 $(this).attr("data-wildcart") == "sale" 16954 ) { 16955 if (globalwpw.settings.obj.disable_sale_product != 1) { 16956 menu_html += $(this).prop("outerHTML"); 16957 } 16958 } else if ( 16959 $(this).hasClass("qcld-chatbot-wildcard") && 16960 $(this).attr("data-wildcart") == "order" 16961 ) { 16962 if (globalwpw.settings.obj.disable_order_status != 1) { 16963 menu_html += $(this).prop("outerHTML"); 16964 } 16965 } else if ( 16966 $(this).hasClass("qcld-chatbot-wildcard") && 16967 $(this).attr("data-wildcart") == "support" 16968 ) { 16969 if (globalwpw.settings.obj.disable_faq == "") { 16970 menu_html += $(this).prop("outerHTML"); 16971 } 16972 } else if ( 16973 $(this).hasClass("qcld-chatbot-wildcard") && 16974 $(this).attr("data-wildcart") == "messenger" 16975 ) { 16976 if (globalwpw.settings.obj.enable_messenger == 1) { 16977 menu_html += $(this).prop("outerHTML"); 16978 } 16979 } else if ( 16980 $(this).hasClass("qcld-chatbot-wildcard") && 16981 $(this).attr("data-wildcart") == "whatspp" 16982 ) { 16983 if (globalwpw.settings.obj.enable_whats == 1) { 16984 menu_html += $(this).prop("outerHTML"); 16985 } 16986 } else { 16987 menu_html += $(this).prop("outerHTML"); 16988 } 16989 } 16990 }); 16991 if (globalwpw.settings.obj.qcld_disable_start_menu != "1") { 16992 if (menu_html != "") { 16993 globalwpw.wildcards = menu_html; 16994 } else { 16995 globalwpw.wildcards = wpwKits.render(menu_items); 16996 } 16997 } 16998 } 16999 17000 //Initialize the wpwBot with greeting and if already initialize and given name then return greeting..
17001 if (localStorage.getItem("wpwHitory") && globalwpw.initialize == 1) { 17002 var wpwHistory = localStorage.getItem("wpwHitory"); 17003 // document.getElementById("wp-chatbot-editor").remove(); 17004 // var editorHitory = localStorage.getItem("editorHitory"); 17005 // jQuery("#wp-chatbot-editor-container").prepend(editorHitory); 17006 // 17007 $(globalwpw.settings.messageWrapper).html(wpwHistory); 17008 wpwKits.addMessageTimestamps(); 17009 //Scroll to the last element. 17010 wpwKits.scrollTo(); 17011 //Now mainting the current stages tokens 17012 globalwpw.initialize = 1; 17013 if (localStorage.getItem("wildCard")) { 17014 globalwpw.wildCard = localStorage.getItem("wildCard"); 17015 } 17016 17017 if (localStorage.getItem("wildCard") == 95) { 17018 if (localStorage.getItem("strObject") !== null) { 17019 globalwpw.strObject = JSON.parse(localStorage.getItem("strObject")); 17020 } 17021 17022 if (localStorage.getItem("strEntities") !== null) { 17023 globalwpw.strEntities = JSON.parse( 17024 localStorage.getItem("strEntities") 17025 ); 17026 } 17027 17028 globalwpw.strStep = localStorage.getItem("strStep"); 17029 17030 if (globalwpw.strStep == "match_query") { 17031 response_type = 17032 globalwpw.strObject.data[0].users_answer.response_type; 17033 setTimeout(function () { 17034 if (response_type == 1) { 17035 jQuery("#botstartvoicemicro").css("visibility", "hidden"); 17036 } else if (response_type == 3) { 17037 jQuery("#wp-chatbot-editor").attr("disabled", "disabled"); 17038 jQuery("#wp-chatbot-editor").attr("placeholder", ""); 17039 } 17040 }, globalwpw.settings.preLoadingTime * 2); 17041 } 17042 17043 globalwpw.strMatchfailed = localStorage.getItem("strMatchfailed"); 17044 } 17045 17046 if (localStorage.getItem("productStep")) { 17047 globalwpw.productStep = localStorage.getItem("productStep"); 17048 } 17049 if (localStorage.getItem("orderStep")) { 17050 globalwpw.orderStep = localStorage.getItem("orderStep"); 17051 } 17052 if (localStorage.getItem("supportStep")) { 17053 globalwpw.supportStep = localStorage.getItem("supportStep"); 17054 } 17055 if (localStorage.getItem("aiStep")) { 17056 globalwpw.ai_step = localStorage.getItem("aiStep"); 17057 } 17058 if (localStorage.getItem("formfieldid")) { 17059 globalwpw.formfieldid = localStorage.getItem("formfieldid"); 17060 } 17061 17062 if (localStorage.getItem("formentry")) { 17063 globalwpw.formentry = localStorage.getItem("formentry"); 17064 } 17065 17066 if (localStorage.getItem("formStep")) { 17067 globalwpw.formStep = localStorage.getItem("formStep"); 17068 } 17069 if (localStorage.getItem("formid")) { 17070 globalwpw.formid = localStorage.getItem("formid"); 17071 } 17072 17073 //update the value for initializing. 17074 globalwpw.initialize = 0; 17075 } else { 17076 if (wp_chatbot_obj.re_target_handler != 1) { 17077 if (globalwpw.initialize == 1) { 17078 wpwWelcome.greeting(); 17079 } 17080 } 17081 } 17082 17083 //When shopper click on send button 17084 $(document).on("click", settings.sendButton, function (e) { 17085 if (!$(settings.messageEditor)[0].checkValidity()) { 17086 $(settings.messageEditor)[0].reportValidity(); 17087 } else { 17088 var shopperMsg = $(settings.messageEditor).val(); 17089 if (shopperMsg != "") { 17090 wpwAction.shopper(wpwKits.htmlTagsScape(shopperMsg)); 17091 $(settings.messageEditor).val(""); 17092 } 17093 } 17094 }); 17095 17096 /* 17097 * Or when shopper press the ENTER key 17098 * Then chatting functionality will be started. 17099 */ 17100 17101 $(document).on("keypress", settings.messageEditor, function (e) { 17102 if (e.which == 13 || e.keyCode == 13) { 17103 if (!$(settings.messageEditor)[0].checkValidity()) { 17104 $(settings.messageEditor)[0].reportValidity(); 17105 } else { 17106 var shopperMsg = $(settings.messageEditor).val(); 17107 if (shopperMsg != "") { 17108 wpwAction.shopper(wpwKits.htmlTagsScape(shopperMsg)); 17109 $(settings.messageEditor).val(""); 17110 } 17111 } 17112 } 17113 }); 17114 17115 $(document).on( 17116 "keypress", 17117 ".qcwp-chatbot-search-article input", 17118 function (e) { 17119 if (e.which == 13 || e.keyCode == 13) { 17120 if ($(this).val() != "") {
17121 $(".wp-chatbot-container").show(); 17122 $(".wp-chatbot-start-container").hide(); 17123 17124 $(".wp-chatbot-container").show(); 17125 $(".wp-chatbot-start-container").hide(); 17126 var msg = $(this).val(); 17127 wpwMsg.shopper_choice(msg); 17128 var openai_msg = msg; 17129 msg = wpwKits.filterStopWords(msg); 17130 var data = { 17131 action: "wpbo_search_site", 17132 name: globalwpw.hasNameCookie, 17133 keyword: msg, 17134 language: globalwpw.settings.obj.language, 17135 }; 17136 if ( 17137 $( 17138 globalwpw.settings.messageLastChild + 17139 " .wp-chatbot-comment-loader" 17140 ).length == 0 17141 ) { 17142 $(globalwpw.settings.messageContainer).append( 17143 wpwKits.botPreloader() 17144 ); 17145 } 17146 wpwKits.ajax(data).done(function (response) { 17147 var json = $.parseJSON(response); 17148 if (json.status == "success") { 17149 $( 17150 "#wp-chatbot-messages-container li .wp-chatbot-comment-loader" 17151 ) 17152 .parent(".wp-chatbot-paragraph") 17153 .hide(); 17154 $('span[data-wildcart="back"]').remove(); 17155 wpwMsg.single_nobg(json.html); 17156 wpwTree.start_menu_settings(); 17157 } else if ( 17158 wp_chatbot_obj.ollama_enabled == "1" || 17159 wp_chatbot_obj.openrouter_enabled == "1" || 17160 wp_chatbot_obj.open_ai_enable == "1" || 17161 wp_chatbot_obj.grok_enabled == "1" || 17162 wp_chatbot_obj.mistral_enabled == "1" || 17163 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 17164 globalwpw.settings.obj.tvlyai_enabled == "1" 17165 ) { 17166 17167 wpwMsg.open_ai_message_callback(openai_msg); 17168 } else { 17169 var data = { 17170 action: "wpbo_failed_response", 17171 name: globalwpw.hasNameCookie, 17172 keyword: msg, 17173 }; 17174 wpwKits.ajax(data).done(function (res) { 17175 if ( 17176 globalwpw.counter < 17177 globalwpw.settings.obj.no_result_attempt_count || 17178 globalwpw.settings.obj.no_result_attempt_count == 0 17179 ) { 17180 wpwMsg.single(wpwKits.randomMsg(json.html)); 17181 17182 if ( 17183 wpwKits.render( 17184 globalwpw.settings.obj.no_result_attempt_message 17185 ) != "" 17186 ) { 17187 setTimeout(function () { 17188 wpwMsg.single( 17189 wpwKits.render( 17190 globalwpw.settings.obj.no_result_attempt_message 17191 ) 17192 ); 17193 }, globalwpw.settings.preLoadingTime); 17194 } else { 17195 wpwTree.start_menu_settings(); 17196 } 17197 17198 globalwpw.counter = 0; 17199 } else { 17200 globalwpw.counter++; 17201 wpwMsg.single(wpwKits.randomMsg(json.html)); 17202 } 17203 }); 17204 } 17205 17206 if ( 17207 globalwpw.settings.obj.skip_wp_greetings != 1 && 17208 !globalwpw.settings.obj.order_login && 17209 !localStorage.getItem("shopper") 17210 ) { 17211 setTimeout(function () { 17212 var secondMsg = wpwKits.randomMsg( 17213 globalwpw.settings.obj.asking_name 17214 ); 17215 wpwMsg.single(secondMsg); 17216 }, globalwpw.settings.preLoadingTime); 17217 } else if ( 17218 globalwpw.settings.obj.skip_wp_greetings != 1 && 17219 !globalwpw.settings.obj.order_login && 17220 globalwpw.settings.obj.ask_email_wp_greetings == 1 && 17221 !localStorage.getItem("shopperemail") 17222 ) { 17223 setTimeout(function () { 17224 var emailsharetext = wpwKits.randomMsg(
17225 globalwpw.settings.obj.asking_emailaddress 17226 ); 17227 if (globalwpw.settings.obj.enable_gdpr) { 17228 wpwMsg.triple_nobg( 17229 NameGreeting, 17230 emailsharetext, 17231 wpwKits.render(globalwpw.settings.obj.gdpr_text) 17232 ); 17233 } else { 17234 wpwMsg.double(NameGreeting, emailsharetext); 17235 } 17236 }, globalwpw.settings.preLoadingTime); 17237 } else if ( 17238 globalwpw.settings.obj.skip_wp_greetings != 1 && 17239 !globalwpw.settings.obj.order_login && 17240 globalwpw.settings.obj.ask_phone_wp_greetings == 1 && 17241 !localStorage.getItem("shopperphone") 17242 ) { 17243 setTimeout(function () { 17244 var phonesharetext = wpwKits.randomMsg( 17245 globalwpw.settings.obj.asking_phone_gt 17246 ); 17247 if (globalwpw.settings.obj.enable_gdpr) { 17248 wpwMsg.triple_nobg( 17249 NameGreeting, 17250 phonesharetext, 17251 wpwKits.render(globalwpw.settings.obj.gdpr_text) 17252 ); 17253 } else { 17254 wpwMsg.double(NameGreeting, phonesharetext); 17255 } 17256 }, globalwpw.settings.preLoadingTime); 17257 } 17258 }); 17259 17260 $(".qcwp-chatbot-search-article input").val(""); 17261 } else { 17262 $(".qcwp-chatbot-search-article input")[0].reportValidity(); 17263 } 17264 } 17265 } 17266 ); 17267 17268 $(".qcwp-chatbot-search-article-submit").on("click", function (e) { 17269 var obj = $(".qcwp-chatbot-search-article input"); 17270 if (obj.val() != "") { 17271 $(".wp-chatbot-container").show(); 17272 $(".wp-chatbot-start-container").hide(); 17273 var msg = obj.val(); 17274 wpwMsg.shopper_choice(msg); 17275 var openai_msg = msg; 17276 msg = wpwKits.filterStopWords(msg); 17277 var data = { 17278 action: "wpbo_search_site", 17279 name: globalwpw.hasNameCookie, 17280 keyword: msg, 17281 language: globalwpw.settings.obj.language, 17282 }; 17283 if ( 17284 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 17285 .length == 0 17286 ) { 17287 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 17288 17289 } 17290 wpwKits.ajax(data).done(function (response) { 17291 var json = $.parseJSON(response); 17292 if (json.status == "success") { 17293 $('span[data-wildcart="back"]').remove(); 17294 $("#wp-chatbot-messages-container li .wp-chatbot-comment-loader") 17295 .parent(".wp-chatbot-paragraph") 17296 .hide(); 17297 wpwMsg.single_nobg(json.html); 17298 wpwTree.start_menu_settings(); 17299 } else if ( 17300 wp_chatbot_obj.ollama_enabled == "1" || 17301 wp_chatbot_obj.openrouter_enabled == "1" || 17302 wp_chatbot_obj.open_ai_enable == "1" || 17303 wp_chatbot_obj.grok_enabled == "1" || 17304 wp_chatbot_obj.mistral_enabled == "1" || 17305 wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" || 17306 globalwpw.settings.obj.tvlyai_enabled == "1" 17307 ) { 17308 var msg = obj.val(); 17309 wpwMsg.open_ai_message_callback(openai_msg); 17310 } else { 17311 var data = { 17312 action: "wpbo_failed_response", 17313 name: globalwpw.hasNameCookie, 17314 keyword: msg, 17315 }; 17316 wpwKits.ajax(data).done(function (res) { 17317 if ( 17318 globalwpw.counter < globalwpw.settings.obj.no_result_attempt_count|| 17319 globalwpw.settings.obj.no_result_attempt_count == 0 17320 ) { 17321 wpwMsg.single(wpwKits.randomMsg(json.html)); 17322 17323 if ( 17324 wpwKits.render( 17325 globalwpw.settings.obj.no_result_attempt_message 17326 ) != "" 17327 ) { 17328 setTimeout(function () { 17329 wpwMsg.single( 17330 wpwKits.render(
17331 globalwpw.settings.obj.no_result_attempt_message 17332 ) 17333 ); 17334 }, globalwpw.settings.preLoadingTime); 17335 } else { 17336 wpwTree.start_menu_settings(); 17337 } 17338 17339 globalwpw.counter = 0; 17340 } else { 17341 globalwpw.counter++; 17342 wpwMsg.single(wpwKits.randomMsg(json.html)); 17343 } 17344 }); 17345 } 17346 if ( 17347 globalwpw.settings.obj.skip_wp_greetings != 1 && 17348 !globalwpw.settings.obj.order_login && 17349 !localStorage.getItem("shopper") 17350 ) { 17351 setTimeout(function () { 17352 var secondMsg = wpwKits.randomMsg( 17353 globalwpw.settings.obj.asking_name 17354 ); 17355 wpwMsg.single(secondMsg); 17356 }, globalwpw.settings.preLoadingTime); 17357 } else if ( 17358 globalwpw.settings.obj.skip_wp_greetings != 1 && 17359 !globalwpw.settings.obj.order_login && 17360 globalwpw.settings.obj.ask_email_wp_greetings == 1 && 17361 !localStorage.getItem("shopperemail") 17362 ) { 17363 setTimeout(function () { 17364 var emailsharetext = wpwKits.randomMsg( 17365 globalwpw.settings.obj.asking_emailaddress 17366 ); 17367 if (globalwpw.settings.obj.enable_gdpr) { 17368 wpwMsg.triple_nobg( 17369 NameGreeting, 17370 emailsharetext, 17371 wpwKits.render(globalwpw.settings.obj.gdpr_text) 17372 ); 17373 } else { 17374 wpwMsg.double(NameGreeting, emailsharetext); 17375 } 17376 }, globalwpw.settings.preLoadingTime); 17377 } else if ( 17378 globalwpw.settings.obj.skip_wp_greetings != 1 && 17379 !globalwpw.settings.obj.order_login && 17380 globalwpw.settings.obj.ask_phone_wp_greetings == 1 && 17381 !localStorage.getItem("shopperphone") 17382 ) { 17383 setTimeout(function () { 17384 var phonesharetext = wpwKits.randomMsg( 17385 globalwpw.settings.obj.asking_phone_gt 17386 ); 17387 if (globalwpw.settings.obj.enable_gdpr) { 17388 wpwMsg.triple_nobg( 17389 NameGreeting, 17390 phonesharetext, 17391 wpwKits.render(globalwpw.settings.obj.gdpr_text) 17392 ); 17393 } else { 17394 wpwMsg.double(NameGreeting, phonesharetext); 17395 } 17396 }, globalwpw.settings.preLoadingTime); 17397 } 17398 }); 17399 17400 $(".qcwp-chatbot-search-article input").val(""); 17401 } else { 17402 $(".qcwp-chatbot-search-article input")[0].reportValidity(); 17403 } 17404 }); 17405 17406 $(document).on("click", ".wpbd_good_bye", function (e) { 17407 e.preventDefault(); 17408 var shooperChoice = $(this).text(); 17409 wpwMsg.shopper_choice(shooperChoice); 17410 wpwAction.bot(shooperChoice); 17411 }); 17412 //Click on the n8n button 17413 $(document).on("click", ".qcld_btn_n8n_txt", function (e) { 17414 e.preventDefault(); 17415 var url = globalwpw.settings.obj.qcld_wpbot_url; 17416 if (url && url != '') { 17417 window.open(url, '_blank'); 17418 } 17419 }); 17420 //Click on the wildcards to select a service 17421 $(document).on("click", ".qcld-chatbot-wildcard", function () { 17422 var wildcardData = $(this).attr("data-wildcart"); 17423 var shooperChoice = $(this).text(); 17424 wpwMsg.shopper_choice(shooperChoice); 17425 //Wild cards handling for bot. 17426 if (wildcardData == "product") { 17427 globalwpw.wildCard = 20; 17428 globalwpw.productStep = "asking"; 17429 wpwAction.bot("from wildcard product"); 17430 //keeping value in localstorage 17431 localStorage.setItem("wildCard", globalwpw.wildCard); 17432 localStorage.setItem("productStep", globalwpw.productStep); 17433 } 17434 if (wildcardData == "catalog") { 17435 wpwAction.bot( 17436 (wpwKits.render(globalwpw.settings.obj.sys_key_catalog) || '').toLowerCase() 17437 ); 17438 } 17439 if (wildcardData == "featured") { 17440 globalwpw.wildCard = 20;
17441 globalwpw.productStep = "featured"; 17442 wpwAction.bot("from wildcard product"); 17443 //keeping value in localstorage 17444 localStorage.setItem("wildCard", globalwpw.wildCard); 17445 localStorage.setItem("productStep", globalwpw.productStep); 17446 } 17447 if (wildcardData == "sale") { 17448 globalwpw.wildCard = 20; 17449 globalwpw.productStep = "sale"; 17450 wpwAction.bot("from wildcard product"); 17451 //keeping value in localstorage 17452 localStorage.setItem("wildCard", globalwpw.wildCard); 17453 localStorage.setItem("productStep", globalwpw.productStep); 17454 } 17455 if (wildcardData == "order") { 17456 globalwpw.wildCard = 21; 17457 globalwpw.orderStep = "welcome"; 17458 wpwAction.bot("from wildcard order"); 17459 //keeping value in localstorage 17460 localStorage.setItem("wildCard", globalwpw.wildCard); 17461 localStorage.setItem("orderStep", globalwpw.orderStep); 17462 } 17463 if (wildcardData == "support") { 17464 globalwpw.wildCard = 1; 17465 globalwpw.supportStep = "welcome"; 17466 wpwAction.bot("from wildcard support"); 17467 //keeping value in localstorage 17468 localStorage.setItem("wildCard", globalwpw.wildCard); 17469 localStorage.setItem("supportStep", globalwpw.supportStep); 17470 } 17471 if (wildcardData == "ai_form") { 17472 globalwpw.wildCard = 0; 17473 globalwpw.is_in_ai_form = true; 17474 wpwAction.bot(shooperChoice); 17475 localStorage.setItem("wildCard", globalwpw.wildCard); 17476 } 17477 if (wildcardData == "back") { 17478 globalwpw.fromBackToStart = true; 17479 globalwpw.settings.obj.clickintent = ""; 17480 globalwpw.aiContext = []; // Clear context on reset 17481 globalwpw.is_in_ai_form = false; 17482 if (globalwpw.wildCard == 9) { 17483 wpwTree.bargain(); 17484 } else if ( 17485 typeof globalwpw.settings.obj.clickintent !== "undefined" && 17486 wpwKits.render(globalwpw.settings.obj.clickintent) == "Faq" 17487 ) { 17488 if (!localStorage.getItem("shopper")) { 17489 $.cookie( 17490 "shopper", 17491 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 17492 { expires: 365 } 17493 ); 17494 localStorage.setItem( 17495 "shopper", 17496 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 17497 ); 17498 globalwpw.hasNameCookie = wpwKits.render( 17499 globalwpw.settings.obj.shopper_demo_name 17500 ); 17501 } 17502 globalwpw.wildCard = 1; 17503 globalwpw.supportStep = "welcome"; 17504 wpwAction.bot("from wildcard support"); 17505 //keeping value in localstorage 17506 localStorage.setItem("wildCard", globalwpw.wildCard); 17507 localStorage.setItem("supportStep", globalwpw.supportStep); 17508 globalwpw.initialize = 0; 17509 globalwpw.ai_step = 1; 17510 } else if ( 17511 typeof globalwpw.settings.obj.clickintent !== "undefined" && 17512 wpwKits.render(globalwpw.settings.obj.clickintent) == 17513 "Email Subscription" 17514 ) { 17515 if (!localStorage.getItem("shopper")) { 17516 $.cookie( 17517 "shopper", 17518 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 17519 { expires: 365 } 17520 ); 17521 localStorage.setItem( 17522 "shopper", 17523 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 17524 ); 17525 globalwpw.hasNameCookie = wpwKits.render( 17526 globalwpw.settings.obj.shopper_demo_name 17527 ); 17528 } 17529 17530 globalwpw.wildCard = 3; 17531 globalwpw.subscriptionStep = "welcome"; 17532 wpwTree.subscription(); 17533 localStorage.setItem("wildCard", globalwpw.wildCard); 17534 localStorage.setItem("supportStep", globalwpw.supportStep); 17535 globalwpw.initialize = 0; 17536 globalwpw.ai_step = 1; 17537 } else if ( 17538 typeof globalwpw.settings.obj.clickintent !== "undefined" && 17539 wpwKits.render(globalwpw.settings.obj.clickintent) == "Product Search" 17540 ) { 17541 if (!localStorage.getItem("shopper")) { 17542 $.cookie( 17543 "shopper", 17544 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 17545 { expires: 365 } 17546 ); 17547 localStorage.setItem( 17548 "shopper", 17549 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 17550 );
17551 globalwpw.hasNameCookie = wpwKits.render( 17552 globalwpw.settings.obj.shopper_demo_name 17553 ); 17554 } 17555 17556 globalwpw.wildCard = 20; 17557 globalwpw.productStep = "asking"; 17558 wpwAction.bot("from wildcard product"); 17559 //keeping value in localstorage 17560 localStorage.setItem("wildCard", globalwpw.wildCard); 17561 localStorage.setItem("productStep", globalwpw.productStep); 17562 globalwpw.initialize = 0; 17563 globalwpw.ai_step = 1; 17564 } else if ( 17565 typeof globalwpw.settings.obj.clickintent !== "undefined" && 17566 wpwKits.render(globalwpw.settings.obj.clickintent) == "Catalog" 17567 ) { 17568 if (!localStorage.getItem("shopper")) { 17569 $.cookie( 17570 "shopper", 17571 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 17572 { expires: 365 } 17573 ); 17574 localStorage.setItem( 17575 "shopper", 17576 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 17577 ); 17578 globalwpw.hasNameCookie = wpwKits.render( 17579 globalwpw.settings.obj.shopper_demo_name 17580 ); 17581 } 17582 wpwAction.bot( 17583 (wpwKits.render(globalwpw.settings.obj.sys_key_catalog) || '').toLowerCase() 17584 ); 17585 globalwpw.initialize = 0; 17586 globalwpw.ai_step = 1; 17587 } else if ( 17588 typeof globalwpw.settings.obj.clickintent !== "undefined" && 17589 wpwKits.render(globalwpw.settings.obj.clickintent) == 17590 "Featured Products" 17591 ) { 17592 if (!localStorage.getItem("shopper")) { 17593 $.cookie( 17594 "shopper", 17595 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 17596 { expires: 365 } 17597 ); 17598 localStorage.setItem( 17599 "shopper", 17600 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 17601 ); 17602 globalwpw.hasNameCookie = wpwKits.render( 17603 globalwpw.settings.obj.shopper_demo_name 17604 ); 17605 } 17606 globalwpw.wildCard = 20; 17607 globalwpw.productStep = "featured"; 17608 wpwAction.bot("from wildcard product"); 17609 //keeping value in localstorage 17610 localStorage.setItem("wildCard", globalwpw.wildCard); 17611 localStorage.setItem("productStep", globalwpw.productStep); 17612 17613 globalwpw.initialize = 0; 17614 globalwpw.ai_step = 1; 17615 } else if ( 17616 typeof globalwpw.settings.obj.clickintent !== "undefined" && 17617 wpwKits.render(globalwpw.settings.obj.clickintent) == 17618 "Products on Sale" 17619 ) { 17620 if (!localStorage.getItem("shopper")) { 17621 $.cookie( 17622 "shopper", 17623 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 17624 { expires: 365 } 17625 ); 17626 localStorage.setItem( 17627 "shopper", 17628 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 17629 ); 17630 globalwpw.hasNameCookie = wpwKits.render( 17631 globalwpw.settings.obj.shopper_demo_name 17632 ); 17633 } 17634 globalwpw.wildCard = 20; 17635 globalwpw.productStep = "sale"; 17636 wpwAction.bot("from wildcard product"); 17637 //keeping value in localstorage 17638 localStorage.setItem("wildCard", globalwpw.wildCard); 17639 localStorage.setItem("productStep", globalwpw.productStep); 17640 17641 globalwpw.initialize = 0; 17642 globalwpw.ai_step = 1; 17643 } else if ( 17644 typeof globalwpw.settings.obj.clickintent !== "undefined" && 17645 wpwKits.render(globalwpw.settings.obj.clickintent) == "Order Status" 17646 ) { 17647 if (!localStorage.getItem("shopper")) { 17648 $.cookie( 17649 "shopper", 17650 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 17651 { expires: 365 } 17652 ); 17653 localStorage.setItem( 17654 "shopper", 17655 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 17656 ); 17657 globalwpw.hasNameCookie = wpwKits.render(
17658 globalwpw.settings.obj.shopper_demo_name 17659 ); 17660 } 17661 globalwpw.wildCard = 21; 17662 globalwpw.orderStep = "welcome"; 17663 wpwAction.bot("from wildcard order"); 17664 //keeping value in localstorage 17665 localStorage.setItem("wildCard", globalwpw.wildCard); 17666 localStorage.setItem("orderStep", globalwpw.orderStep); 17667 globalwpw.initialize = 0; 17668 globalwpw.ai_step = 1; 17669 } else if ( 17670 typeof globalwpw.settings.obj.clickintent !== "undefined" && 17671 wpwKits.render(globalwpw.settings.obj.clickintent) == 17672 wpwKits.render(globalwpw.settings.obj.site_search) 17673 ) { 17674 if (!localStorage.getItem("shopper")) { 17675 $.cookie( 17676 "shopper", 17677 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 17678 { expires: 365 } 17679 ); 17680 localStorage.setItem( 17681 "shopper", 17682 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 17683 ); 17684 globalwpw.hasNameCookie = wpwKits.render( 17685 globalwpw.settings.obj.shopper_demo_name 17686 ); 17687 } 17688 17689 if ( 17690 typeof globalwpw.hasNameCookie == "undefined" || 17691 globalwpw.hasNameCookie == "" 17692 ) { 17693 var shopperName = wpwKits.render( 17694 globalwpw.settings.obj.shopper_demo_name 17695 ); 17696 } else { 17697 var shopperName = globalwpw.hasNameCookie; 17698 } 17699 var askEmail = wpwKits.randomMsg( 17700 wp_chatbot_obj.asking_search_keyword 17701 ); 17702 17703 wpwMsg.single(askEmail.replace("#name", shopperName)); 17704 //Now updating the support part as . 17705 globalwpw.supportStep = "search"; 17706 globalwpw.wildCard = 1; 17707 globalwpw.ai_step = 1; 17708 globalwpw.initialize = 0; 17709 //keeping value in localstorage 17710 localStorage.setItem("wildCard", globalwpw.wildCard); 17711 localStorage.setItem("supportStep", globalwpw.supportStep); 17712 } else if ( 17713 typeof globalwpw.settings.obj.clickintent !== "undefined" && 17714 wpwKits.render(globalwpw.settings.obj.clickintent) == "Send Us Email" 17715 ) { 17716 if (!localStorage.getItem("shopper")) { 17717 $.cookie( 17718 "shopper", 17719 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 17720 { expires: 365 } 17721 ); 17722 localStorage.setItem( 17723 "shopper", 17724 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 17725 ); 17726 globalwpw.hasNameCookie = wpwKits.render( 17727 globalwpw.settings.obj.shopper_demo_name 17728 ); 17729 } 17730 17731 if ( 17732 typeof globalwpw.hasNameCookie == "undefined" || 17733 globalwpw.hasNameCookie == "" 17734 ) { 17735 var shopperName = wpwKits.render( 17736 globalwpw.settings.obj.shopper_demo_name 17737 ); 17738 } else { 17739 var shopperName = globalwpw.hasNameCookie; 17740 } 17741 var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_email); 17742 wpwMsg.single(askEmail); 17743 //Now updating the support part as . 17744 globalwpw.supportStep = "email"; 17745 globalwpw.wildCard = 1; 17746 globalwpw.ai_step = 1; 17747 globalwpw.initialize = 0; 17748 //keeping value in localstorage 17749 localStorage.setItem("wildCard", globalwpw.wildCard); 17750 localStorage.setItem("supportStep", globalwpw.supportStep); 17751 } else if ( 17752 typeof globalwpw.settings.obj.clickintent !== "undefined" && 17753 wpwKits.render(globalwpw.settings.obj.clickintent) == 17754 "Leave A Feedback" 17755 ) { 17756 if (!localStorage.getItem("shopper")) { 17757 $.cookie( 17758 "shopper", 17759 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 17760 { expires: 365 } 17761 ); 17762 localStorage.setItem( 17763 "shopper", 17764 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 17765 );
17766 globalwpw.hasNameCookie = wpwKits.render( 17767 globalwpw.settings.obj.shopper_demo_name 17768 ); 17769 } 17770 17771 if ( 17772 typeof globalwpw.hasNameCookie == "undefined" || 17773 globalwpw.hasNameCookie == "" 17774 ) { 17775 var shopperName = wpwKits.render( 17776 globalwpw.settings.obj.shopper_demo_name 17777 ); 17778 } else { 17779 var shopperName = globalwpw.hasNameCookie; 17780 } 17781 17782 var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_email); 17783 wpwMsg.single(askEmail); 17784 //Now updating the support part as . 17785 globalwpw.supportStep = "email"; 17786 globalwpw.wildCard = 1; 17787 globalwpw.ai_step = 1; 17788 globalwpw.initialize = 0; 17789 17790 //keeping value in localstorage 17791 localStorage.setItem("wildCard", globalwpw.wildCard); 17792 localStorage.setItem("supportStep", globalwpw.supportStep); 17793 } else if ( 17794 typeof globalwpw.settings.obj.clickintent !== "undefined" && 17795 wpwKits.render(globalwpw.settings.obj.clickintent) == 17796 "Request Callback" 17797 ) { 17798 if (!localStorage.getItem("shopper")) { 17799 $.cookie( 17800 "shopper", 17801 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 17802 { expires: 365 } 17803 ); 17804 localStorage.setItem( 17805 "shopper", 17806 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 17807 ); 17808 globalwpw.hasNameCookie = wpwKits.render( 17809 globalwpw.settings.obj.shopper_demo_name 17810 ); 17811 } 17812 17813 if ( 17814 typeof globalwpw.hasNameCookie == "undefined" || 17815 globalwpw.hasNameCookie == "" 17816 ) { 17817 var shopperName = wpwKits.render( 17818 globalwpw.settings.obj.shopper_demo_name 17819 ); 17820 } else { 17821 var shopperName = globalwpw.hasNameCookie; 17822 } 17823 var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_phone); 17824 setTimeout(function () { 17825 wpwMsg.single(askEmail); 17826 //Now updating the support part as . 17827 globalwpw.supportStep = "phone"; 17828 globalwpw.wildCard = 1; 17829 globalwpw.ai_step = 1; 17830 globalwpw.initialize = 0; 17831 //keeping value in localstorage 17832 localStorage.setItem("wildCard", globalwpw.wildCard); 17833 localStorage.setItem("supportStep", globalwpw.supportStep); 17834 }, 1000); 17835 } else if ( 17836 typeof globalwpw.settings.obj.clickintent !== "undefined" && 17837 wpwKits.render(globalwpw.settings.obj.clickintent) != "" 17838 ) { 17839 if (!localStorage.getItem("shopper")) { 17840 $.cookie( 17841 "shopper", 17842 wpwKits.render(globalwpw.settings.obj.shopper_demo_name), 17843 { expires: 365 } 17844 ); 17845 localStorage.setItem( 17846 "shopper", 17847 wpwKits.render(globalwpw.settings.obj.shopper_demo_name) 17848 ); 17849 globalwpw.hasNameCookie = wpwKits.render( 17850 globalwpw.settings.obj.shopper_demo_name 17851 ); 17852 } 17853 globalwpw.initialize = 0; 17854 globalwpw.ai_step = 1; 17855 globalwpw.wildCard = 0; 17856 wpwAction.bot(wpwKits.render(globalwpw.settings.obj.clickintent)); 17857 } else if (typeof ldsuggestionObject !== "undefined") { 17858 globalwpw.wildCard = 30; 17859 wpwAction.bot("from wildcard ldsesson"); 17860 } else { 17861 // re targeting part . 17862 var number = Math.random(); // 0.9394456857981651 17863 number.toString(36); // '0.xtis06h6' 17864 var id = number.toString(36).substr(2); // 'xtis06h6' 17865 17866 localStorage.setItem("botsessionid", id); 17867 globalwpw.wildCard = 0; 17868 wpwAction.bot( 17869 (wpwKits.render(globalwpw.settings.obj.sys_key_help) || '').toLowerCase() 17870 ); 17871 //keeping value in localstorage 17872 localStorage.setItem("wildCard", globalwpw.wildCard); 17873 } 17874 17875 //After completing two steps messaging showing wildcards. 17876 if (
17877 globalwpw.settings.obj.show_menu_after_greetings == 1 && 17878 globalwpw.settings.obj.qcld_disable_start_menu != "1" && 17879 typeof globalwpw.wildcards != "undefined" && 17880 globalwpw.wildcards != "" 17881 ) { 17882 var serviceOffer = wpwKits.randomMsg( 17883 globalwpw.settings.obj.wildcard_msg 17884 ); 17885 17886 wpwMsg.single_nobg(globalwpw.wildcards); 17887 } else { 17888 var serviceOffer = wpwKits.randomMsg( 17889 globalwpw.settings.obj.wildcard_msg 17890 ); 17891 wpwMsg.single(serviceOffer); 17892 } 17893 globalwpw.supportStep = "search"; 17894 globalwpw.initialize = 0; 17895 globalwpw.settings.obj.clickintent = ""; 17896 globalwpw.fromBackToStart = false; 17897 } 17898 17899 if (wildcardData == "messenger") { 17900 var url = 17901 "https://www.messenger.com/t/" + globalwpw.settings.obj.fb_page_id; 17902 var win = window.open(url, "_blank"); 17903 win.focus(); 17904 } 17905 if (wildcardData == "whatsapp") { 17906 var url = 17907 "https://api.whatsapp.com/send?phone=" + 17908 globalwpw.settings.obj.whats_num; 17909 var win = window.open(url, "_blank"); 17910 win.focus(); 17911 } 17912 }); 17913 17914 $(document).on("click", "#wp-chatbot-email-transcript", function (e) { 17915 e.preventDefault(); 17916 globalwpw.wildCard = 99; 17917 wpwTree.goodbye((wpwKits.render(globalwpw.settings.obj.yes) || '').toLowerCase()); 17918 }); 17919 17920 $(document).on("click", ".wpbot-payment-modal-close, #wpbot-payment-modal", function (e) { 17921 if (e.target !== this && !jQuery(e.target).hasClass("wpbot-payment-modal-close")) { 17922 return; 17923 } 17924 e.preventDefault(); 17925 wpwKits.wpwClosePaymentPopup(); 17926 }); 17927 $(document).on("click", ".qcld-chatbot-form", function (e) { 17928 e.preventDefault(); 17929 var formid = $(this).attr("data-form"); 17930 globalwpw.wildCard = 7; 17931 globalwpw.formStep = "welcome"; 17932 wpwKits.toggleAiFileUploadButton(); 17933 if ($(".chatbot_intent_reload").length > 0) { 17934 $(".chatbot_intent_reload").remove(); 17935 } 17936 wpwTree.formbuilder(formid); 17937 }); 17938 17939 $(document).on("click", ".qcld_simple_txt_response", function (e) { 17940 e.preventDefault(); 17941 var text = $(this).text(); 17942 var strid = $(this).data("strid"); 17943 var data = { 17944 action: "wpbo_search_response", 17945 name: globalwpw.hasNameCookie, 17946 keyword: text, 17947 strid: strid, 17948 language: globalwpw.settings.obj.language, 17949 }; 17950 if ( 17951 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 17952 .length == 0 17953 ) { 17954 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloaderWithicon()); 17955 } 17956 wpwKits.ajax(data).done(function (respond) { 17957 var json = $.parseJSON(respond); 17958 if (json.status == "success") { 17959 globalwpw.strStep = "match_query"; 17960 localStorage.setItem("strStep", globalwpw.strStep); 17961 wpwTree.strHandler(text, json); 17962 } 17963 }); 17964 }); 17965 17966 $(document).on("click", ".wpbd_str_categories", function (e) { 17967 e.preventDefault(); 17968 var text = $(this).text(); 17969 globalwpw.wildCard = 0; 17970 var data = { 17971 action: "wpbo_search_response_catlist", 17972 name: globalwpw.hasNameCookie, 17973 category: text, 17974 language: globalwpw.settings.obj.language, 17975 }; 17976 if ( 17977 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 17978 .length == 0 17979 ) { 17980 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 17981 } 17982 wpwKits.ajax(data).done(function (response) { 17983 var json = $.parseJSON(response); 17984 if (json.status == "success") { 17985 var question = ""; 17986 $.each(json.data, function (i, obj) { 17987 question += 17988 '<span class="qcld-chatbot-wildcard qcld_simple_txt_response">' + 17989 obj.name + 17990 "</span>"; 17991 }); 17992 17993 wpwMsg.single_nobg(question); 17994 } else { 17995 wpwMsg.single("No Category found!"); 17996 } 17997 }); 17998 }); 17999 18000 $(document).on("click", ".chatbot_intent_reload", function (e) { 18001 e.preventDefault(); 18002 var obj = $(this); 18003 if (obj.attr("data-intent-type") == "formbuilder") { 18004 if (obj.attr("data-step") == "complete") {
18005 globalwpw.formStep = "field"; 18006 localStorage.setItem("formStep", globalwpw.formStep); 18007 } 18008 globalwpw.wildCard = obj.attr("data-wildcard"); 18009 globalwpw.formfieldid = obj.attr("data-intent"); 18010 wpwTree.formbuilder(); 18011 } else if (obj.attr("data-intent-type") == "subscription") { 18012 var shopperChoice = obj.attr("data-intent"); 18013 wpwMsg.shopper_choice(shopperChoice); 18014 globalwpw.wildCard = obj.attr("data-wildcard"); 18015 globalwpw.subscriptionStep = obj.attr("data-step"); 18016 wpwTree.subscription(shopperChoice); 18017 } else if (obj.attr("data-intent-type") == "unsubscription") { 18018 var shopperChoice = obj.attr("data-intent"); 18019 wpwMsg.shopper_choice(shopperChoice); 18020 globalwpw.wildCard = obj.attr("data-wildcard"); 18021 globalwpw.subscriptionStep = obj.attr("data-step"); 18022 wpwTree.subscription(shopperChoice); 18023 } 18024 }); 18025 18026 $(document).on("click", ".qcld-chatbot-formanswer", function (e) { 18027 e.preventDefault(); 18028 var answer = $(this).attr("data-form-value"); 18029 wpwAction.bot(answer); 18030 wpwMsg.shopper(answer); 18031 $("#wp-chatbot-messages-container li .wp-chatbot-comment-loader") 18032 .parent(".wp-chatbot-paragraph") 18033 .hide(); 18034 // wpwMsg.single(answer); 18035 }); 18036 18037 $(document).on("change", ".qcld-chatbot-dropdown-select", function (e) { 18038 e.preventDefault(); 18039 var answer = $(this).val(); 18040 if (answer !== "") { 18041 var selectedText = $(this).find('option:selected').text(); 18042 wpwAction.bot(answer); 18043 wpwMsg.shopper(answer); 18044 $("#wp-chatbot-messages-container li .wp-chatbot-comment-loader") 18045 .parent(".wp-chatbot-paragraph") 18046 .hide(); 18047 } 18048 }); 18049 18050 $(document).on("click", ".wpbot_clickable_menu", function (e) { 18051 e.preventDefault(); 18052 var obj = $(this); 18053 obj.parent().parent().parent().remove(); 18054 var answer = obj.attr("menuitem"); 18055 wpwMsg.shopper_choice(answer); 18056 wpwTree.formbuilder(answer); 18057 }); 18058 18059 // 18060 $(document).on("click", ".qcld-chatbot-product-category", function () { 18061 var catType = $(this).attr("data-category-type"); 18062 var shopperChoiceCatId = 18063 $(this).text() + "#" + $(this).attr("data-category-id"); 18064 var shopperChoiceCategory = $(this).text(); 18065 if (catType == "hasChilds") { 18066 //Now hide all categories but shopper choice. 18067 wpwMsg.shopper_choice(shopperChoiceCategory); 18068 //updating the product steps and bringing the product by category. 18069 wpwKits.subCats($(this).attr("data-category-id")); 18070 globalwpw.productStep = "search"; 18071 globalwpw.wildCard = 20; 18072 } else { 18073 //Now hide all categories but shopper choice. 18074 wpwMsg.shopper_choice(shopperChoiceCategory); 18075 //updating the product steps and bringing the product by category. 18076 globalwpw.productStep = "category"; 18077 globalwpw.wildCard = 20; 18078 //keeping value in localstorage 18079 localStorage.setItem("productStep", globalwpw.productStep); 18080 wpwAction.bot(shopperChoiceCatId); 18081 } 18082 }); 18083 //Product Load More features for product search or category products 18084 $(document).on("click", "#wp-chatbot-loadmore", function (e) { 18085 $("#wp-chatbot-loadmore-loader").html( 18086 '<img class="wp-chatbot-comment-loader" src="' + 18087 globalwpw.settings.obj.image_path + 18088 'loadmore.gif" alt="..." />' 18089 ); 18090 18091 var loadMoreDom = $(this); 18092 18093 var tagattr = loadMoreDom.attr("data-search-tag"); 18094 var productOffest = loadMoreDom.attr("data-offset"); 18095 if (typeof tagattr !== typeof undefined && tagattr !== false) { 18096 var data = { 18097 action: "qcld_wb_chatbot_search_product_by_tag", 18098 name: globalwpw.hasNameCookie, 18099 tags: tagattr, 18100 paged: productOffest, 18101 }; 18102 if ( 18103 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 18104 .length == 0 18105 ) { 18106 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 18107 } 18108 wpwKits.ajax(data).done(function (presdata) { 18109 var productSucces = 18110 wpwKits.randomMsg(globalwpw.settings.obj.product_success) + 18111 " <strong>" + 18112 tagattr + 18113 "</strong>!"; 18114 wpwMsg.double_nobg(productSucces, presdata.html); 18115 }); 18116 } else { 18117 var searchType = loadMoreDom.attr("data-search-type"); 18118 var searchTerm = loadMoreDom.attr("data-search-term"); 18119 var data = { 18120 action: "qcld_wb_chatbot_load_more", 18121 offset: productOffest, 18122 search_type: searchType, 18123 search_term: searchTerm, 18124 language: globalwpw.settings.obj.language, 18125 }; 18126 18127 //Load more ajax handler. 18128 wpwKits.ajax(data).done(function (response) { 18129 $("#wp-chatbot-loadmore-loader").html("");
18130 $(".wp-chatbot-products").append(response.html); 18131 loadMoreDom.attr("data-search-term", response.search_term); 18132 wpwKits.wpwHistorySave(); 18133 loadMoreDom.attr("data-offset", response.offset); 18134 18135 if (response.product_num <= response.offset) { 18136 loadMoreDom.hide(); 18137 setTimeout(function () { 18138 if ( 18139 $( 18140 globalwpw.settings.messageLastChild + 18141 " .wp-chatbot-comment-loader" 18142 ).length == 0 18143 ) { 18144 $(globalwpw.settings.messageContainer).append( 18145 wpwKits.botPreloader() 18146 ); 18147 18148 } 18149 var searchAgain = wpwKits.randomMsg( 18150 globalwpw.settings.obj.product_infinite 18151 ); 18152 wpwMsg.single( 18153 searchAgain 18154 ); 18155 wpwTree.start_menu_settings(); 18156 globalwpw.productStep = "search"; 18157 localStorage.setItem("productStep", globalwpw.productStep); 18158 }, globalwpw.settings.wildcardsShowTime); 18159 } 18160 //scroll to the last message 18161 //wpwKits.scrollTo(); 18162 }); 18163 } 18164 }); 18165 18166 $(document).on("click", ".wp-chatbot-loadmore-saas", function (e) { 18167 $(".wp-chatbot-loadmore-loader").html( 18168 '<img class="wp-chatbot-comment-loader" src="' + 18169 globalwpw.settings.obj.image_path + 18170 'loadmore.gif" alt="..." />' 18171 ); 18172 var loadMoreDom = $(this); 18173 var page = loadMoreDom.attr("data-page"); 18174 var keyword = loadMoreDom.attr("data-keyword"); 18175 var data = { 18176 action: "qcld_wb_chatbot_load_more_saas", 18177 page: page, 18178 keyword: keyword, 18179 language: globalwpw.settings.obj.language, 18180 }; 18181 //Load more ajax handler. 18182 if ( 18183 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 18184 .length == 0 18185 ) { 18186 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 18187 } 18188 wpwKits.ajax(data).done(function (response) { 18189 var response = $.parseJSON(response); 18190 //Change button text 18191 $(".wp-chatbot-loadmore-loader").html(""); 18192 $(".wpb-search-result").append(response.html); 18193 loadMoreDom.attr("data-keyword", response.keyword); 18194 wpwKits.wpwHistorySave(); 18195 loadMoreDom.attr("data-page", response.page); 18196 if (response.product_num <= response.per_page) { 18197 loadMoreDom.hide(); 18198 //Now show the user infinite. 18199 setTimeout(function () { 18200 var searchAgain = wpwKits.randomMsg( 18201 globalwpw.settings.obj.product_infinite 18202 ); 18203 18204 wpwMsg.single( 18205 searchAgain 18206 ); 18207 wpwTree.start_menu_settings(); 18208 globalwpw.productStep = "search"; 18209 //keeping value in localstorage 18210 localStorage.setItem("productStep", globalwpw.productStep); 18211 }, globalwpw.settings.wildcardsShowTime); 18212 } 18213 //scroll to the last message 18214 wpwKits.scrollTo(); 18215 }); 18216 }); 18217 18218 /*Products details part **/ 18219 if ( 18220 globalwpw.settings.obj.open_product_detail != 1 && 18221 globalwpw.settings.obj.woocommerce 18222 ) { 18223 $(document).on("click", ".wp-chatbot-product a", function (e) { 18224 if (jQuery(".wp-chatbot-start-container:visible").length > 0) { 18225 } else { 18226 e.preventDefault(); 18227 } 18228 18229 $(".wp-chatbot-product-container").addClass( 18230 "active-chatbot-product-details" 18231 ); 18232 $(".wp-chatbot-product-reload") 18233 .addClass("wp-chatbot-product-loading") 18234 .html( 18235 '<img class="wp-chatbot-product-loader" src="' + 18236 globalwpw.settings.obj.image_path + 18237 'comment.gif" alt="Loading..." />' 18238 ); 18239 var productId = $(this).attr("wp-chatbot-pid"); 18240 var data = { 18241 action: "qcld_wb_chatbot_product_details", 18242 wp_chatbot_pid: productId, 18243 }; 18244 //product details ajax handler. 18245 wpwKits.ajax(data).done(function (response) {
18246 $(".wp-chatbot-product-reload") 18247 .removeClass("wp-chatbot-product-loading") 18248 .html(""); 18249 $("#wp-chatbot-product-title").html(response.title); 18250 $("#wp-chatbot-product-description").html(response.description); 18251 $("#wp-chatbot-product-image").html(response.image); 18252 $("#wp-chatbot-product-price").html(response.price); 18253 $("#wp-chatbot-product-quantity").html(response.quantity); 18254 $("#wp-chatbot-product-variable").html(response.variation); 18255 $("#wp-chatbot-product-cart-button").html(response.buttton); 18256 //Load gallery magnify 18257 setTimeout(function () { 18258 $("#wp-chatbot-product-image-large-path").magnificPopup({ 18259 type: "image", 18260 }); 18261 }, 1000); 18262 18263 //For shortcode handle recenlty view product by ajax as 18264 if ($("#wp-chatbot-shortcode-template-container").length > 0) { 18265 var data = { action: "qcld_wb_chatbot_recently_viewed_products" }; 18266 wpwKits.ajax(data).done(function (response) { 18267 $(".wp-chatbot-product-shortcode-container").html(response); 18268 $(".chatbot-sidebar .wp-chatbot-products").slimScroll({ 18269 height: "435px", 18270 start: "top", 18271 }); 18272 }); 18273 } 18274 }); 18275 }); 18276 } 18277 18278 $(document).on("click", ".wpb-quick-reply", function (e) { 18279 e.preventDefault(); 18280 $("#wp-chatbot-editor").val($(this).html()); 18281 $("#wp-chatbot-send-message").trigger("click"); 18282 }); 18283 18284 $(document).on("click", ".wpbot-inline-pay-btn", function (e) { 18285 e.preventDefault(); 18286 var $btn = $(this); 18287 var $card = $btn.closest(".wpbot-inline-checkout"); 18288 var payUrl = $btn.attr("data-pay-url"); 18289 var isStripeInline = $btn.hasClass("wpbot-inline-stripe-pay"); 18290 18291 if (isStripeInline) { 18292 var stripe = $card.data("stripe"); 18293 var cardNumber = $card.data("cardNumber"); 18294 var clientSecret = $card.data("clientSecret"); 18295 var cardholderName = ($card.find(".wpbot-stripe-name").val() || "").trim(); 18296 var zip = ($card.find(".wpbot-stripe-zip").val() || "").trim(); 18297 var $error = $card.find(".wpbot-stripe-card-error"); 18298 if (!stripe || !cardNumber || !clientSecret) { 18299 $error 18300 .text("Stripe checkout is not ready. Please wait a moment and try again.") 18301 .show(); 18302 return; 18303 } 18304 if (!cardholderName) { 18305 $error.text("Please enter the cardholder name.").show(); 18306 return; 18307 } 18308 if (!zip) { 18309 $error.text("Please enter your ZIP / postal code.").show(); 18310 return; 18311 } 18312 $btn.prop("disabled", true).text("Processing..."); 18313 $error.hide().text(""); 18314 stripe 18315 .confirmCardPayment(clientSecret, { 18316 payment_method: { 18317 card: cardNumber, 18318 billing_details: { 18319 name: cardholderName, 18320 address: { 18321 postal_code: zip, 18322 }, 18323 }, 18324 }, 18325 }) 18326 .then(function (result) { 18327 if (result.error) { 18328 $btn.prop("disabled", false).text($btn.data("label") || "Pay"); 18329 $error.text(result.error.message || "Payment failed.").show(); 18330 return; 18331 } 18332 if ( 18333 result.paymentIntent && 18334 result.paymentIntent.status === "succeeded" 18335 ) { 18336 wpwKits.wpwMarkInlinePaymentSuccess($card); 18337 } else { 18338 $btn.prop("disabled", false).text($btn.data("label") || "Pay"); 18339 $error.text("Payment was not completed. Please try again.").show(); 18340 } 18341 }); 18342 return; 18343 } 18344 18345 // Do not open payment URLs in a new tab from chatbot checkout. 18346 if (payUrl) { 18347 $card 18348 .find(".wpbot-inline-checkout-actions") 18349 .append( 18350 '<div class="wpbot-inline-checkout-opened">In-chat checkout is not available. Configure Stripe keys under Payment Processor.</div>' 18351 ); 18352 } 18353 }); 18354 18355 $(document).on("click", ".wpbot-inline-cancel-btn", function (e) { 18356 e.preventDefault(); 18357 var $btn = $(this); 18358 var $card = $btn.closest(".wpbot-inline-checkout"); 18359 $card.find("button").prop("disabled", true); 18360 $card 18361 .find(".wpbot-inline-checkout-actions") 18362 .html( 18363 '<div class="wpbot-inline-checkout-cancelled">Payment cancelled.</div>' 18364 ); 18365 wpwKits.wpwHistorySave(); 18366 }); 18367 18368 //Image gallery. 18369 $(document).on( 18370 "click", 18371 ".wp-chatbot-product-image-thumbs-path", 18372 function (e) { 18373 e.preventDefault(); 18374 var imagePath = $(this).attr("href"); 18375 $("#wp-chatbot-product-image-large-path").attr("href", imagePath); 18376 $("#wp-chatbot-product-image-large-src").attr("src", imagePath); 18377 //handle thumb active one
18378 $(".wp-chatbot-product-image-thumbs-path") 18379 .parent() 18380 .removeClass("wp-chatbot-product-active-image-thumbs"); 18381 $(this).parent().addClass("wp-chatbot-product-active-image-thumbs"); 18382 } 18383 ); 18384 //Product details close 18385 $(document).on("click", ".wp-chatbot-product-close", function (e) { 18386 $(".wp-chatbot-product-container").removeClass( 18387 "active-chatbot-product-details" 18388 ); 18389 }); 18390 /*add to cart part **/ 18391 $(document).on("click", "#wp-chatbot-add-cart-button", function (e) { 18392 var pId = $(this).attr("wp-chatbot-product-id"); 18393 var qnty = $("#vPQuantity").val(); 18394 var data = { 18395 action: "qcld_wb_chatbot_add_to_cart", 18396 product_id: pId, 18397 quantity: qnty, 18398 }; 18399 //add to cart ajax handler. 18400 wpwKits.ajax(data).done(function (response) { 18401 //Change button text 18402 if (response == "simple") { 18403 //Showing cart. 18404 wpwKits.showCart(); 18405 //handle the active tab on chat board. 18406 $(".wp-chatbot-operation-option").each(function () { 18407 if ($(this).attr("data-option") == "cart") { 18408 $(this).parent().addClass("wp-chatbot-operation-active"); 18409 } else { 18410 $(this).parent().removeClass("wp-chatbot-operation-active"); 18411 } 18412 }); 18413 } 18414 //Hide the shortcode and chat ui product details. 18415 $(".wp-chatbot-product-container").removeClass( 18416 "active-chatbot-product-details" 18417 ); 18418 $(document.body).trigger("added_to_cart"); 18419 jQuery("[name='update_cart']").removeAttr("disabled"); 18420 jQuery('[name="update_cart"]').trigger("click"); // Update Cart 18421 }); 18422 }); 18423 //Add to cart operation for variable product. 18424 $(document).on( 18425 "click", 18426 "#wp-chatbot-variation-add-to-cart", 18427 function (event) { 18428 event.preventDefault(); 18429 18430 var attrselected = true; 18431 $(".each_attribute").each(function () { 18432 if ($(this).val() != "") { 18433 attrselected = true; 18434 } else { 18435 attrselected = false; 18436 } 18437 }); 18438 if (attrselected) { 18439 var pId = $(this).attr("wp-chatbot-product-id"); 18440 var quanity = $("#vPQuantity").val(); 18441 var variation_id = $(this).attr("variation_id"); 18442 var attributes = new Array(); 18443 $.each($("#wp-chatbot-variation-data select"), function () { 18444 var attribute = 18445 $(this).attr("name") + 18446 "#" + 18447 $(this).find("option:selected").text(); 18448 attributes.push(attribute); 18449 }); 18450 var data = { 18451 action: "variable_add_to_cart", 18452 p_id: pId, 18453 quantity: quanity, 18454 variations_id: variation_id, 18455 attributes: attributes, 18456 }; 18457 //add to cart ajax handler. 18458 if (!$(".spinner").hasClass("is-active")) { 18459 $(".spinner").addClass("is-active"); 18460 } 18461 wpwKits.ajax(data).done(function (response) { 18462 //Change button text 18463 if (response == "variable") { 18464 //Showing cart. 18465 wpwKits.showCart(); 18466 //handle the active tab on chat board. 18467 //handle the active tab on chat board. 18468 $(".wp-chatbot-operation-option").each(function () { 18469 if ($(this).attr("data-option") == "cart") { 18470 $(this).parent().addClass("wp-chatbot-operation-active"); 18471 } else { 18472 $(this).parent().removeClass("wp-chatbot-operation-active"); 18473 } 18474 }); 18475 } 18476 //Hide the shortcode and chat ui product details. 18477 $(".wp-chatbot-product-container").removeClass( 18478 "active-chatbot-product-details" 18479 ); 18480 if ($(".spinner").hasClass("is-active")) { 18481 $(".spinner").removeClass("is-active"); 18482 } 18483 }); 18484 } 18485 } 18486 ); 18487 18488 //search load more 18489 $(document).on("click", ".wp-chatbot-loadmore", function (e) { 18490 e.preventDefault(); 18491 var obj = $(this); 18492 18493 var keyword = obj.attr("data-keyword"); 18494 var post_type = obj.attr("data-post_type"); 18495 var page = obj.attr("data-page"); 18496 obj.text("Loading..."); 18497 var data = { 18498 action: "wpbo_search_site_pagination", 18499 name: globalwpw.hasNameCookie, 18500 keyword: keyword, 18501 language: globalwpw.settings.obj.language, 18502 type: post_type, 18503 page: page, 18504 }; 18505 if (
18506 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 18507 .length == 0 18508 ) { 18509 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 18510 } 18511 wpwKits.ajax(data).done(function (res) { 18512 var json = $.parseJSON(res); 18513 if (json.status == "success") { 18514 $('span[data-wildcart="back"]').remove(); 18515 wpwMsg.single_nobg(json.html); 18516 18517 setTimeout(function () { 18518 wpwTree.start_menu_settings(); 18519 }, globalwpw.settings.preLoadingTime); 18520 18521 obj.remove(); 18522 } else { 18523 18524 if ( 18525 globalwpw.counter < 18526 globalwpw.settings.obj.no_result_attempt_count || 18527 globalwpw.settings.obj.no_result_attempt_count == 0 18528 ) { 18529 wpwMsg.single(json.html); 18530 if (globalwpw.settings.obj.disable_repeatative != 1) { 18531 if ( 18532 wpwKits.render( 18533 globalwpw.settings.obj.no_result_attempt_message 18534 ) != "" 18535 ) { 18536 setTimeout(function () { 18537 wpwMsg.single( 18538 wpwKits.render( 18539 globalwpw.settings.obj.no_result_attempt_message 18540 ) 18541 ); 18542 }, globalwpw.settings.preLoadingTime); 18543 } else { 18544 setTimeout(function () { 18545 var serviceOffer = wpwKits.randomMsg( 18546 globalwpw.settings.obj.support_option_again 18547 ); 18548 wpwTree.start_menu_settings(); 18549 }, globalwpw.settings.preLoadingTime); 18550 } 18551 } 18552 globalwpw.counter = 0; 18553 } else { 18554 globalwpw.counter++; 18555 wpwTree.df_reply(response); 18556 } 18557 } 18558 globalwpw.wildCard = 0; 18559 }); 18560 }); 18561 18562 //search load more 18563 $(document).on("click", ".wp-chatbot-loadmore2", function (e) { 18564 e.preventDefault(); 18565 var obj = $(this); 18566 18567 var keyword = obj.attr("data-keyword"); 18568 18569 var page = obj.attr("data-page"); 18570 18571 var search_type = obj.attr("data-search-type"); 18572 obj.text(globalwpw.settings.obj.loading.en_US); 18573 18574 if (search_type == "default-wp-search") { 18575 var data = { 18576 action: "wpbo_default_search_pagination2", 18577 name: globalwpw.hasNameCookie, 18578 keyword: keyword, 18579 page: page, 18580 search_type: "default-wp-search", 18581 }; 18582 } else { 18583 var data = { 18584 action: "wpbo_search_site_pagination2", 18585 name: globalwpw.hasNameCookie, 18586 keyword: keyword, 18587 page: page, 18588 }; 18589 } 18590 if ( 18591 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 18592 .length == 0 18593 ) { 18594 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 18595 } 18596 wpwKits.ajax(data).done(function (res) { 18597 var json = $.parseJSON(res); 18598 if (json.status == "success") { 18599 $('span[data-wildcart="back"]').remove(); 18600 18601 wpwMsg.single_nobg(json.html); 18602 18603 setTimeout(function () { 18604 wpwTree.start_menu_settings(); 18605 }, globalwpw.settings.preLoadingTime); 18606 18607 obj.remove(); 18608 } else { 18609 if ( 18610 globalwpw.counter < 18611 globalwpw.settings.obj.no_result_attempt_count || 18612 globalwpw.settings.obj.no_result_attempt_count == 0 18613 ) { 18614 wpwMsg.single(json.html); 18615 wpwTree.start_menu_settings(); 18616 globalwpw.counter = 0; 18617 } else { 18618 globalwpw.counter++; 18619 wpwTree.df_reply(response); 18620 } 18621 } 18622 globalwpw.wildCard = 0; 18623 }); 18624 }); 18625 18626 //fuzzy search load more 18627 $(document).on("click", ".wp-chatbot-fuse-loadmore", function (e) { 18628 e.preventDefault(); 18629 var obj = $(this); 18630 var keyword = obj.attr("data-keyword"); 18631 var post_type = obj.attr("data-post_type"); 18632 var page = obj.attr("data-page"); 18633 obj.text("loading..."); 18634 var data = { 18635 action: "wpbo_fuse_search_site_pagination", 18636 name: globalwpw.hasNameCookie, 18637 keyword: keyword, 18638 type: post_type, 18639 page: page, 18640 }; 18641 if (
18642 $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader") 18643 .length == 0 18644 ) { 18645 $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader()); 18646 } 18647 wpwKits.ajax(data).done(function (res) { 18648 var json = $.parseJSON(res); 18649 if (json.status == "success") { 18650 $('span[data-wildcart="back"]').remove(); 18651 18652 wpwMsg.single_nobg(json.html); 18653 18654 setTimeout(function () { 18655 wpwTree.start_menu_settings(); 18656 }, globalwpw.settings.preLoadingTime); 18657 18658 obj.remove(); 18659 } else { 18660 if ( 18661 globalwpw.counter < globalwpw.settings.obj.no_result_attempt_count || 18662 globalwpw.settings.obj.no_result_attempt_count == 0 18663 ) { 18664 wpwMsg.single(json.html); 18665 if (globalwpw.settings.obj.disable_repeatative != 1) { 18666 if ( 18667 wpwKits.render( 18668 globalwpw.settings.obj.no_result_attempt_message 18669 ) != "" 18670 ) { 18671 setTimeout(function () { 18672 wpwMsg.single( 18673 wpwKits.render( 18674 globalwpw.settings.obj.no_result_attempt_message 18675 ) 18676 ); 18677 }, globalwpw.settings.preLoadingTime); 18678 } else { 18679 wpwTree.start_menu_settings(); 18680 } 18681 } 18682 globalwpw.counter = 0; 18683 } else { 18684 globalwpw.counter++; 18685 wpwTree.df_reply(response); 18686 } 18687 } 18688 globalwpw.wildCard = 0; 18689 }); 18690 }); 18691 18692 //Update cart. 18693 $(document).on("change", ".qcld-wp-chatbot-cart-item-qnty", function () { 18694 //Update editor only for chat ui 18695 if ($("#wp-chatbot-shortcode-template-container").length == 0) { 18696 wpwKits.disableEditor( 18697 wpwKits.randomMsg(globalwpw.settings.obj.cart_updating) 18698 ); 18699 } 18700 var currentItem = $(this); 18701 setTimeout(function () { 18702 var item_key = currentItem.attr("data-cart-item"); 18703 var qnty = currentItem.val(); 18704 var data = { 18705 action: "qcld_wb_chatbot_update_cart_item_number", 18706 cart_item_key: item_key, 18707 qnty: qnty, 18708 }; 18709 wpwKits.ajax(data).done(function () { 18710 //Showing cart. 18711 wpwKits.showCart(); 18712 }); 18713 }, globalwpw.settings.preLoadingTime); 18714 }); 18715 //remove the cart item from global cart. 18716 $(document).on("click", ".wp-chatbot-remove-cart-item", function () { 18717 //Update editor only for chat ui 18718 if ($("#wp-chatbot-shortcode-template-container").length == 0) { 18719 wpwKits.disableEditor( 18720 wpwKits.randomMsg(globalwpw.settings.obj.cart_removing) 18721 ); 18722 } 18723 var item = $(this).attr("data-cart-item"); 18724 var data = { 18725 action: "qcld_wb_chatbot_cart_item_remove", 18726 cart_item: item, 18727 }; 18728 wpwKits.ajax(data).done(function () { 18729 //Showing cart. 18730 wpwKits.showCart(); 18731 $(document.body).trigger("added_to_cart"); 18732 jQuery("[name='update_cart']").removeAttr("disabled"); 18733 jQuery('[name="update_cart"]').trigger("click"); // Update Cart 18734 }); 18735 }); 18736 18737 /*Support query answering.. **/ 18738 $(document).on("click", ".qcld-chatbot-support-items", function (e) { 18739 var shopperChoose = $(this).text(); 18740 var queryIndex = $(this).attr("data-query-index"); 18741 wpwMsg.shopper_choice(shopperChoose); 18742 //Now answering the query. 18743 var queryAns = 18744 globalwpw.settings.obj.support_ans[globalwpw.settings.obj.language][ 18745 queryIndex 18746 ]; 18747 wpwMsg.single(queryAns); 18748 //Asking email after showing answer. 18749 var orPhoneSuggest = ""; 18750 setTimeout(function () { 18751 if (globalwpw.settings.obj.call_sup != 1) { 18752 orPhoneSuggest = 18753 '<span class="qcld-chatbot-suggest-phone" >' + 18754 wpwKits.render(globalwpw.settings.obj.support_phone) + 18755 "</span>"; 18756 } 18757 var orEmailSuggest = 18758 '<span class="qcld-chatbot-suggest-email">' + 18759 wpwKits.randomMsg(globalwpw.settings.obj.support_email) + 18760 "</span>"; 18761 18762 wpwTree.start_menu_settings(); 18763 }
18763, globalwpw.settings.wildcardsShowTime); 18764 }); 18765 /*Support Email **/ 18766 $(document).on("click", ".qcld-chatbot-suggest-email", function (e) { 18767 var shopperChoice = $(this).text(); 18768 wpwMsg.shopper_choice(shopperChoice); 18769 //Then ask email address 18770 if ( 18771 typeof globalwpw.hasNameCookie == "undefined" || 18772 globalwpw.hasNameCookie == "" 18773 ) { 18774 var shopperName = wpwKits.render( 18775 globalwpw.settings.obj.shopper_demo_name 18776 ); 18777 } else { 18778 var shopperName = globalwpw.hasNameCookie; 18779 } 18780 18781 //keeping value in localstorage 18782 18783 var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_email); 18784 wpwMsg.single(askEmail); 18785 //Now updating the support part as . 18786 globalwpw.supportStep = "email"; 18787 globalwpw.wildCard = 1; 18788 globalwpw.ai_step = 1; 18789 globalwpw.initialize = 0; 18790 18791 localStorage.setItem("wildCard", globalwpw.wildCard); 18792 localStorage.setItem("supportStep", globalwpw.supportStep); 18793 }); 18794 18795 $(document).on("click", ".qcld_wpbot_df_cx_agent", function (e) { 18796 e.preventDefault(); 18797 var obj = $(this); 18798 var shopperChoice = $(this).text(); 18799 wpwMsg.shopper_choice(shopperChoice); 18800 18801 //Now updating the support part as . 18802 globalwpw.wildCard = 26; 18803 //keeping value in localstorage 18804 localStorage.setItem("wildCard", globalwpw.wildCard); 18805 localStorage.setItem("cx-name", obj.attr("data-agent-name")); 18806 localStorage.setItem( 18807 "cx-diaplayname", 18808 obj.attr("data-agent-diaplay-name") 18809 ); 18810 localStorage.setItem( 18811 "cx-languagecode", 18812 obj.attr("data-agent-defaultlanguagecode") 18813 ); 18814 localStorage.setItem("cx-timezone", obj.attr("data-agent-timezone")); 18815 18816 wpwTree.dfcx(shopperChoice); 18817 }); 18818 18819 /*Support Phone **/ 18820 $(document).on("click", ".qcld-chatbot-suggest-phone", function (e) { 18821 var shopperChoice = $(this).text(); 18822 wpwMsg.shopper_choice(shopperChoice); 18823 //Then ask email address 18824 if ( 18825 typeof globalwpw.hasNameCookie == "undefined" || 18826 globalwpw.hasNameCookie == "" 18827 ) { 18828 var shopperName = wpwKits.render( 18829 globalwpw.settings.obj.shopper_demo_name 18830 ); 18831 } else { 18832 var shopperName = globalwpw.hasNameCookie; 18833 } 18834 var askEmail = wpwKits.randomMsg(globalwpw.settings.obj.asking_phone); 18835 setTimeout(function () { 18836 wpwMsg.single(askEmail); 18837 //Now updating the support part as . 18838 globalwpw.supportStep = "phone"; 18839 globalwpw.wildCard = 1; 18840 //keeping value in localstorage 18841 localStorage.setItem("wildCard", globalwpw.wildCard); 18842 localStorage.setItem("supportStep", globalwpw.supportStep); 18843 }, 1000); 18844 }); 18845 18846 $(document).on("click", ".wpbd_subscription", function (e) { 18847 var shopperChoice = $(this).text(); 18848 wpwMsg.shopper_choice(shopperChoice); 18849 globalwpw.wildCard = 3; 18850 globalwpw.subscriptionStep = "welcome"; 18851 wpwTree.subscription(shopperChoice); 18852 }); 18853 /* support Search */ 18854 18855 $(document).on("click", ".qcld-chatbot-site-search", function (e) { 18856 var shopperChoice = $(this).text(); 18857 wpwMsg.shopper_choice(shopperChoice); 18858 //Then ask email address 18859 if ( 18860 typeof globalwpw.hasNameCookie == "undefined" || 18861 globalwpw.hasNameCookie == "" 18862 ) { 18863 var shopperName = wpwKits.render( 18864 globalwpw.settings.obj.shopper_demo_name 18865 ); 18866 } else { 18867 var shopperName = globalwpw.hasNameCookie; 18868 } 18869 var askEmail = wpwKits.randomMsg( 18870 globalwpw.settings.obj.asking_search_keyword 18871 ); 18872 18873 wpwMsg.single(askEmail.replace("#name", shopperName)); 18874 //Now updating the support part as . 18875 globalwpw.supportStep = "search"; 18876 globalwpw.wildCard = 1; 18877 //keeping value in localstorage 18878 localStorage.setItem("wildCard", globalwpw.wildCard); 18879 localStorage.setItem("supportStep", globalwpw.supportStep); 18880 }); 18881 $(document).on("click", ".wpbo_live_chat", function (e) { 18882 e.preventDefault(); 18883 wpwKits.wpwOpenWindow(
18884 globalwpw.settings.obj.livechatlink, 18885 "Testing", 18886 400, 18887 600 18888 ); 18889 }); 18890 18891 $(document).on("click", "#wpbot_live_chat_floating_btn", function (e) { 18892 e.preventDefault(); 18893 if (globalwpw.settings.obj.is_livechat_active) { 18894 jQuery(".wp-chatbot-start-container").hide(); 18895 $("#wp-chatbot-editor").val( 18896 wpwKits.render(globalwpw.settings.obj.sys_key_livechat) 18897 ); 18898 $("#wp-chatbot-send-message").trigger("click"); 18899 } else { 18900 wpwKits.wpwOpenWindow( 18901 globalwpw.settings.obj.livechatlink, 18902 "Testing", 18903 400, 18904 600 18905 ); 18906 } 18907 }); 18908 18909 $(document).on( 18910 "click", 18911 "#start_wpbot_live_chat_floating_btn", 18912 function (e) { 18913 e.preventDefault(); 18914 if (globalwpw.settings.obj.is_livechat_active) { 18915 jQuery(".wp-chatbot-start-container").hide(); 18916 $("#wp-chatbot-editor").val( 18917 wpwKits.render(globalwpw.settings.obj.sys_key_livechat) 18918 ); 18919 $("#wp-chatbot-send-message").trigger("click"); 18920 } else { 18921 wpwKits.wpwOpenWindow( 18922 globalwpw.settings.obj.livechatlink, 18923 "Testing", 18924 400, 18925 600 18926 ); 18927 } 18928 } 18929 ); 18930 18931 $(document).on("click", ".qcld-chatbot-checkbox", function (e) { 18932 var value = []; 18933 var obj = $(this); 18934 obj 18935 .parent(".wp-chatbot-paragraph") 18936 .find(".qcld-chatbot-checkbox") 18937 .each(function () { 18938 if ($(this).prop("checked") == true) { 18939 value.push($(this).val()); 18940 } 18941 }); 18942 18943 $("#wp-chatbot-editor").val(value.join()); 18944 }); 18945 18946 $(document).on("click", ".qcld-chatbot-custom-intent", function (e) { 18947 var shopperChoice = $(this).attr("data-text"); 18948 18949 globalwpw.initialize = 0; 18950 globalwpw.ai_step = 1; 18951 globalwpw.wildCard = 0; 18952 wpwAction.bot(shopperChoice); 18953 }); 18954 18955 $(document).on("click", ".qcld-chatbot-buttonlink", function (e) { 18956 e.stopPropagation(); 18957 e.preventDefault(); 18958 var btnlink = $(this).attr("data-link"); 18959 var target = $(this).attr("data-target"); 18960 var type = $(this).attr("data-type"); 18961 if (btnlink != "") { 18962 if (target == 1) { 18963 if (type == "phone") { 18964 window.open("tel:" + btnlink); 18965 } else if (type == "email") { 18966 window.open("mailto:" + btnlink); 18967 } else { 18968 window.open(btnlink); 18969 } 18970 } else { 18971 if (type == "phone") { 18972 window.location.href = "tel:" + btnlink; 18973 } else if (type == "email") { 18974 window.location.href = "mailto:" + btnlink; 18975 } else { 18976 window.location.href = btnlink; 18977 } 18978 } 18979 } 18980 18981 return false; 18982 }); 18983 18984 $(document).on("click", ".qcld_continue_shopping", function (e) { 18985 e.preventDefault(); 18986 $(globalwpw.settings.messageWrapper).html( 18987 localStorage.getItem("wpwHitory") 18988 ); 18989 wpwKits.scrollTo(); 18990 wpwKits.enableEditor( 18991 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 18992 ); 18993 }); 18994 $(document).on( 18995 "click", 18996 ".added_to_cart, .add_to_cart_button", 18997 function (e) { 18998 //e.preventDefault(); 18999 setTimeout(function () { 19000 wpwKits.showCart(); 19001 //jQuery( '.wp-chatbot-operation-option' ).trigger( 'click' ); 19002 }, 2000); 19003 } 19004 ); 19005 //Show chat,cart and recently view products by click event. 19006 $(document).on("click", ".wp-chatbot-operation-option", function (e) { 19007 e.preventDefault(); 19008 var oppt = $(this).attr("data-option"); 19009 if (oppt == "recent") { 19010 $(globalwpw.settings.messageWrapper).html( 19011 localStorage.getItem("wpwHitory") 19012 ); 19013 wpwKits.disableEditor( 19014 wpwKits.render(globalwpw.settings.obj.sys_key_product) 19015 ); 19016 var data = { action: "qcld_wb_chatbot_recently_viewed_products" }; 19017 wpwKits.ajax(data).done(function (response) { 19018 $(globalwpw.settings.messageWrapper).html(response); 19019 }); 19020 //First remove wp-chatbot-operation-active class from all selector
19021 $(".wp-chatbot-operation-option") 19022 .parent() 19023 .removeClass("wp-chatbot-operation-active"); 19024 //then add the active class to current element. 19025 $(this).parent().addClass("wp-chatbot-operation-active"); 19026 } else if (oppt == "chat") { 19027 $(globalwpw.settings.messageWrapper).html( 19028 localStorage.getItem("wpwHitory") 19029 ); 19030 wpwKits.scrollTo(); 19031 wpwKits.enableEditor( 19032 wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg) 19033 ); 19034 //First remove wp-chatbot-operation-active class from all selector 19035 $(".wp-chatbot-operation-option") 19036 .parent() 19037 .removeClass("wp-chatbot-operation-active"); 19038 //then add the active class to current element. 19039 $(this).parent().addClass("wp-chatbot-operation-active"); 19040 if ( 19041 globalwpw.wildCard == 7 && 19042 globalwpw.settings.obj.template != "template-05" && 19043 (typeof wpbotshortcodetemplate === "undefined" || 19044 wpbotshortcodetemplate != "template-05") && 19045 (typeof globalwpw.settings.obj.clickintent === "undefined" || 19046 wpwKits.render(globalwpw.settings.obj.clickintent) == "") 19047 ) { 19048 $("#wp-chatbot-editor").removeAttr("type"); 19049 $(globalwpw.settings.messageLastChild).fadeOut(); 19050 wpwTree.start_menu_settings(); 19051 } 19052 } else if (oppt == "cart") { 19053 wpwKits.showCart(); 19054 //First remove wp-chatbot-operation-active class from all selector 19055 $(".wp-chatbot-operation-option") 19056 .parent() 19057 .removeClass("wp-chatbot-operation-active"); 19058 //then add the active class to current element. 19059 $(this).parent().addClass("wp-chatbot-operation-active"); 19060 } else if (oppt == "help") { 19061 $(globalwpw.settings.messageWrapper).html( 19062 localStorage.getItem("wpwHitory") 19063 ); 19064 19065 if ($(".wp-chatbot-messages-container").length == 0) { 19066 //if from other nob then goo to the chat window 19067 $(globalwpw.settings.messageWrapper).html( 19068 localStorage.getItem("wpwHitory") 19069 ); 19070 //Showing help message 19071 setTimeout(function () { 19072 wpwKits.scrollTo(); 19073 var helpWelcome = wpwKits.randomMsg( 19074 globalwpw.settings.obj.help_welcome 19075 ); 19076 var helpMsg = wpwKits.randomMsg(globalwpw.settings.obj.help_msg); 19077 wpwMsg.double(helpWelcome, helpMsg); 19078 //dialogflow 19079 if ( 19080 globalwpw.settings.obj.ai_df_enable == 1 && 19081 globalwpw.df_status_lock == 0 19082 ) { 19083 globalwpw.wildCard = 0; 19084 globalwpw.ai_step = 1; 19085 localStorage.setItem("wildCard", globalwpw.wildCard); 19086 localStorage.setItem("aiStep", globalwpw.ai_step); 19087 } 19088 }, globalwpw.settings.preLoadingTime); 19089 } else { 19090 //Showing help message on chat self window. 19091 var helpWelcome = wpwKits.randomMsg( 19092 globalwpw.settings.obj.help_welcome 19093 ); 19094 var helpMsg = wpwKits.randomMsg(globalwpw.settings.obj.help_msg); 19095 wpwMsg.double(helpWelcome, helpMsg); 19096 //dialogflow 19097 if ( 19098 globalwpw.settings.obj.ai_df_enable == 1 && 19099 globalwpw.df_status_lock == 0 19100 ) { 19101 globalwpw.wildCard = 0; 19102 globalwpw.ai_step = 1; 19103 localStorage.setItem("wildCard", globalwpw.wildCard); 19104 localStorage.setItem("aiStep", globalwpw.ai_step); 19105 } 19106 } 19107 //First remove wp-chatbot-operation-active class from all selector 19108 $(".wp-chatbot-operation-option") 19109 .parent() 19110 .removeClass("wp-chatbot-operation-active"); 19111 //then add the active class to current element. 19112 $(this).parent().addClass("wp-chatbot-operation-active"); 19113 } else if (oppt == "support") { 19114 $(globalwpw.settings.messageWrapper).html( 19115 localStorage.getItem("wpwHitory") 19116 ); 19117 var support_wildcards = ""; 19118 19119 if ( 19120 globalwpw.settings.obj.livechat == "1" && 19121 !globalwpw.settings.obj.is_livechat_active 19122 ) { 19123 support_wildcards += 19124 '<span class="qcld-chatbot-default wpbo_live_chat" >' + 19125 wpwKits.render(globalwpw.settings.obj.livechat_button_label) + 19126 "</span>"; 19127 } 19128 19129 if (globalwpw.settings.obj.disable_feedback == "") { 19130 support_wildcards += 19131 '<span class="qcld-chatbot-suggest-email">' + 19132 wpwKits.render(globalwpw.settings.obj.send_us_email) + 19133 "</span>"; 19134 } 19135 if (globalwpw.settings.obj.disable_leave_feedback == "") { 19136 support_wildcards += 19137 '<span class="qcld-chatbot-suggest-email wpbd_feedback">' + 19138 wpwKits.render(globalwpw.settings.obj.leave_feedback) + 19139 "</span>"; 19140 } 19141 19142 if (globalwpw.settings.obj.call_gen == "") { 19143 support_wildcards += 19144 '<span class="qcld-chatbot-suggest-phone" >' + 19145 wpwKits.render(globalwpw.settings.obj.support_phone) + 19146 "</span>"; 19147 } 19148 19149 var serviceOffer = wpwKits.randomMsg(
19150 globalwpw.settings.obj.support_option_again 19151 ); 19152 if ( 19153 typeof support_wildcards != "undefined" && 19154 support_wildcards != "" 19155 ) { 19156 wpwMsg.double_nobg(serviceOffer, support_wildcards); 19157 } else { 19158 wpwMsg.single(serviceOffer); 19159 } 19160 } else if (oppt == "live-chat") { 19161 $(globalwpw.settings.messageWrapper).html( 19162 localStorage.getItem("wpwHitory") 19163 ); 19164 if (globalwpw.settings.obj.livechat_autopopulation != "1") { 19165 if ($("#wbca_signup_fullname").length > 0) { 19166 if (localStorage.getItem("shopper") !== null) { 19167 $("#wbca_signup_fullname").val(localStorage.getItem("shopper")); 19168 } 19169 if (localStorage.getItem("shopperemail") !== null) { 19170 $("#wbca_signup_email").val(localStorage.getItem("shopperemail")); 19171 } 19172 } 19173 } 19174 $("#wp-chatbot-board-container").removeClass("active-chat-board"); 19175 $(".wp-chatbot-container").hide(); 19176 $(".wpbot-saas-live-chat").show(); 19177 } 19178 //show chat wrapper and hide cart-checkout wrapper 19179 $(globalwpw.settings.messageWrapper).show(); 19180 $("#wp-chatbot-checkout-short-code").hide(); 19181 $("#wp-chatbot-cart-short-code").hide(); 19182 }); 19183 19184 $(document).on("click", ".qcld-chatbot-reset-btn", function (e) { 19185 e.preventDefault(); 19186 var actionType = $(this).attr("reset-data"); 19187 if (actionType == "yes") { 19188 $("#wp-chatbot-messages-container").html(""); 19189 localStorage.removeItem("wpwHitory"); 19190 localStorage.removeItem("shopper"); 19191 globalwpw.wildCard = 0; 19192 globalwpw.ai_step = 0; 19193 globalwpw.aiContext = []; // Clear context on reset 19194 globalwpw.is_in_ai_form = false; 19195 localStorage.setItem("wildCard", globalwpw.wildCard); 19196 localStorage.setItem("aiStep", globalwpw.ai_step); 19197 19198 globalwpw.formfieldid = ""; 19199 localStorage.setItem("formfieldid", globalwpw.formfieldid); 19200 globalwpw.formStep = "welcome"; 19201 localStorage.setItem("formStep", globalwpw.formStep); 19202 globalwpw.formid = ""; 19203 localStorage.setItem("formid", globalwpw.formid); 19204 globalwpw.formentry = 0; 19205 localStorage.setItem("formentry", globalwpw.formentry); 19206 19207 localStorage.removeItem("cx-name"); 19208 localStorage.removeItem("cx-diaplayname"); 19209 localStorage.removeItem("cx-languagecode"); 19210 localStorage.removeItem("cx-timezone"); 19211 var number = Math.random(); // 0.9394456857981651 19212 number.toString(36); // '0.xtis06h6' 19213 var id = number.toString(36).substr(2); // 'xtis06h6' 19214 19215 localStorage.setItem("botsessionid", id); 19216 wpwWelcome.greeting(); 19217 } else if (actionType == "no") { 19218 wpwAction.bot( 19219 (wpwKits.render(globalwpw.settings.obj.sys_key_help) || '').toLowerCase() 19220 ); 19221 } 19222 }); 19223 19224 if ($("#wpbot_language").length > 0) { 19225 $('select[name^="wpbot_language"] option:selected').attr( 19226 "selected", 19227 null 19228 ); 19229 $( 19230 "#wpbot_language option[value='" + 19231 globalwpw.settings.obj.language + 19232 "']" 19233 ).attr("selected", "selected"); 19234 } 19235 19236 $(document).on("change", "#wpbot_language", function (e) { 19237 var language = $(this).val(); 19238 globalwpw.settings.obj.language = language; 19239 wpwKits.language_switcher(language); 19240 $("#wp-chatbot-messages-container").html(""); 19241 localStorage.removeItem("wpwHitory"); 19242 19243 if (language == "ar") { 19244 if (!$("#wp-chatbot-chat-container").hasClass("wp-chatbot-rtl")) { 19245 $("#wp-chatbot-chat-container").addClass("wp-chatbot-rtl"); 19246 } 19247 } else { 19248 if ($("#wp-chatbot-chat-container").hasClass("wp-chatbot-rtl")) { 19249 $("#wp-chatbot-chat-container").removeClass("wp-chatbot-rtl"); 19250 } 19251 } 19252 19253 if ( 19254 localStorage.getItem("bot_language") && 19255 localStorage.getItem("bot_language") !== globalwpw.settings.obj.language 19256 ) { 19257 localStorage.setItem("bot_language", globalwpw.settings.obj.language); 19258 wpwKits.doReset(); 19259 $('#wp-chatbot-email-transcript').attr("title", wpwKits.render(wp_chatbot_obj.email_transcrips_toolip)); 19260 $('#wp-chatbot-desktop-close').attr("title", wpwKits.render(wp_chatbot_obj.qlcd_wp_chatbot_close)); 19261 $('#wp-chatbot-desktop-reload').attr("title", wpwKits.render(wp_chatbot_obj.qlcd_wp_chatbot_reset));
19262 $('.wp-chatbot-operation-option').attr("title", wpwKits.render(wp_chatbot_obj.viewed_products)); 19263 } else { 19264 localStorage.setItem("bot_language", globalwpw.settings.obj.language); 19265 } 19266 19267 localStorage.removeItem("shopper"); 19268 localStorage.removeItem("shopperemail"); 19269 localStorage.removeItem("shopperphone"); 19270 19271 localStorage.removeItem("cx-name"); 19272 localStorage.removeItem("cx-diaplayname"); 19273 localStorage.removeItem("cx-languagecode"); 19274 localStorage.removeItem("cx-timezone"); 19275 19276 localStorage.removeItem("wpwHitory"); 19277 localStorage.setItem("wildCard", 0); 19278 localStorage.setItem("aiStep", 0); 19279 19280 globalwpw.wildCard = 0; 19281 globalwpw.ai_step = 0; 19282 localStorage.setItem("wildCard", globalwpw.wildCard); 19283 localStorage.setItem("aiStep", globalwpw.ai_step); 19284 globalwpw.formfieldid = ""; 19285 localStorage.setItem("formfieldid", globalwpw.formfieldid); 19286 globalwpw.formStep = "welcome"; 19287 localStorage.setItem("formStep", globalwpw.formStep); 19288 globalwpw.formid = ""; 19289 localStorage.setItem("formid", globalwpw.formid); 19290 globalwpw.formentry = 0; 19291 localStorage.setItem("formentry", globalwpw.formentry); 19292 wpwKits.updateGlobalMenu(); 19293 var number = Math.random(); // 0.9394456857981651 19294 number.toString(36); // '0.xtis06h6' 19295 var id = number.toString(36).substr(2); // 'xtis06h6' 19296 19297 localStorage.setItem("botsessionid", id); 19298 wpwWelcome.greeting(); 19299 }); 19300 19301 $(document).on("click", "#wp-chatbot-desktop-reload", function (e) { 19302 e.preventDefault(); 19303 wpwKits.doReset(); 19304 wpwKits.updateGlobalMenu(); 19305 wpwWelcome.greeting(); 19306 }); 19307 $(document).on("click", "#submit", function (e) { 19308 e.preventDefault(); 19309 wpwKits.doReset(); 19310 wpwKits.updateGlobalMenu(); 19311 wpwWelcome.greeting(); 19312 }); 19313 19314 $(document).on("click", ".qcld_woo_prod_src", function (e) { 19315 e.preventDefault(); 19316 19317 if (globalwpw.settings.obj.woocommerce) { 19318 var keyword = $(this).attr("keyword"); 19319 19320 if (typeof keyword !== typeof undefined && keyword !== false) { 19321 globalwpw.wildCard = 20; 19322 globalwpw.productStep = "search"; 19323 wpwTree.product(keyword); 19324 } 19325 } 19326 }); 19327 19328 if (globalwpw.settings.obj.clear_cache == 1) { 19329 $("#wp-chatbot-messages-container").html(""); 19330 localStorage.removeItem("wpwHitory"); 19331 localStorage.removeItem("shopper"); 19332 localStorage.removeItem("cx-name"); 19333 localStorage.removeItem("cx-diaplayname"); 19334 localStorage.removeItem("cx-languagecode"); 19335 localStorage.removeItem("cx-timezone"); 19336 globalwpw.wildCard = 0; 19337 globalwpw.ai_step = 0; 19338 localStorage.setItem("wildCard", globalwpw.wildCard); 19339 localStorage.setItem("aiStep", globalwpw.ai_step); 19340 var number = Math.random(); // 0.9394456857981651 19341 number.toString(36); // '0.xtis06h6' 19342 var id = number.toString(36).substr(2); // 'xtis06h6' 19343 19344 localStorage.setItem("botsessionid", id); 19345 //wpwWelcome.greeting(); 19346 } 19347 19348 $(document).on("click", ".qcld_subscribe_confirm", function (e) { 19349 e.preventDefault(); 19350 var actionType = $(this).attr("subscription"); 19351 if (actionType == "yes") { 19352 globalwpw.wildCard = 3; 19353 globalwpw.subscriptionStep = "getname"; 19354 wpwTree.subscription(); 19355 } else if (actionType == "no") { 19356 wpwAction.bot( 19357 (wpwKits.render(globalwpw.settings.obj.sys_key_help) || '').toLowerCase() 19358 ); 19359 if ($(".chatbot_intent_reload").length > 0) { 19360 $(".chatbot_intent_reload").remove(); 19361 } 19362 } 19363 }); 19364 19365 $(document).on("click", ".qcld-name-confirm", function (e) { 19366 e.preventDefault(); 19367 var actionType = $(this).attr("data-res"); 19368 wpwMsg.shopper_choice(actionType); 19369 wpwAction.bot(actionType); 19370 }); 19371 19372 $(document).on("click", ".qcld_unsubscribe_confirm", function (e) { 19373 e.preventDefault(); 19374 var actionType = $(this).attr("unsubscription"); 19375 if (actionType == "yes") { 19376 globalwpw.wildCard = 6;
19377 globalwpw.unsubscriptionStep = "getemail"; 19378 wpwTree.unsubscription(); 19379 } else if (actionType == "no") { 19380 wpwAction.bot( 19381 (wpwKits.render(globalwpw.settings.obj.sys_key_help) || '').toLowerCase() 19382 ); 19383 if ($(".chatbot_intent_reload").length > 0) { 19384 $(".chatbot_intent_reload").remove(); 19385 } 19386 } 19387 }); 19388 19389 $(document).on("click", ".qcld_unsubscribe_again", function (e) { 19390 e.preventDefault(); 19391 19392 globalwpw.wildCard = 6; 19393 globalwpw.unsubscriptionStep = "getemail"; 19394 wpwTree.unsubscription(); 19395 }); 19396 19397 return this; 19398 }; 19399 19400 $(document).on("click", "#wpbot-ai-file-upload", function (e) { 19401 e.preventDefault(); 19402 e.stopPropagation(); 19403 if (!qcldWpbotIsAiFileUploadAllowed()) { 19404 return; 19405 } 19406 var fileInput = document.getElementById("wpbot-ai-file-input"); 19407 if (fileInput) { 19408 fileInput.click(); 19409 } 19410 }); 19411 19412 $(document).on("change", "#wpbot-ai-file-input", function () { 19413 var fileInput = this; 19414 if (!fileInput.files || !fileInput.files.length) { 19415 return; 19416 } 19417 if (!qcldWpbotIsAiFileUploadAllowed()) { 19418 wpwKits.clearAiPendingFile(); 19419 return; 19420 } 19421 19422 var form_data = new FormData(); 19423 form_data.append("ai_chat_file", fileInput.files[0]); 19424 form_data.append("action", "qcld_chatbot_ai_file_upload"); 19425 19426 $.ajax({ 19427 url: globalwpw.settings.obj.ajax_url, 19428 cache: false, 19429 contentType: false, 19430 processData: false, 19431 data: form_data, 19432 type: "post", 19433 success: function (response) { 19434 var json = $.parseJSON(response); 19435 if (json.status === "success") { 19436 globalwpw.aiPendingFile = { 19437 url: json.url, 19438 name: json.name, 19439 type: json.type, 19440 is_image: json.is_image, 19441 }; 19442 wpwKits.renderAiFilePreview(); 19443 } else { 19444 var errormsg = 19445 wpwKits.render(globalwpw.settings.obj.chatbot_file_upload_fail) || 19446 "Failed to upload the file."; 19447 if (json.errors && json.errors.length > 0) { 19448 errormsg = json.errors.join(" "); 19449 } 19450 wpwMsg.single(errormsg); 19451 wpwKits.clearAiPendingFile(); 19452 } 19453 }, 19454 error: function () { 19455 wpwMsg.single("An error occured, please try again."); 19456 wpwKits.clearAiPendingFile(); 19457 }, 19458 }); 19459 }); 19460 19461 $(document).on("click", ".wpbot-ai-file-remove", function (e) { 19462 e.preventDefault(); 19463 wpwKits.clearAiPendingFile(); 19464 }); 19465 19466 var fileuploadblock = false; 19467 19468 $(document).on("change", "#wp-chatbot-editor:file", function () { 19469 var obj = $(this); 19470 if (!fileuploadblock) { 19471 fileuploadblock = true; 19472 19473 if ($(".wpbot_upload_bar").length > 0) { 19474 $(".wpbot_upload_bar").html( 19475 '<progress id="qcld_cfb_progress" value="0" max="100"></progress><div class="qcld_upload_status">file uploading..</div>' 19476 ); 19477 wpwKits.scrollTo(); 19478 } else { 19479 var msg = 19480 '<div class="wpbot_upload_bar"><progress id="qcld_cfb_progress" value="0" max="100"></progress><div class="qcld_upload_status">file uploading..</div></div>'; 19481 19482 $(globalwpw.settings.messageContainer).append( 19483 wpwKits.shopperMsgDom(msg) 19484 ); 19485 wpwKits.scrollTo(); 19486 } 19487 19488 var percent = $("#percent"); 19489 var form_data = new FormData(); // Creating object of FormData class 19490 19491 for (var i = 0; i < $(this).prop("files").length; i++) { 19492 form_data.append("cfb_file[]", $(this).prop("files")[i]); 19493 } 19494 19495 form_data.append("formid", globalwpw.formid); // Adding extra parameters to form_data 19496 form_data.append("fieldid", globalwpw.formfieldid); // Adding extra parameters to form_data 19497 form_data.append("action", "qcld_wpcfb_file_upload"); // Adding extra parameters to form_data 19498 $.ajax({ 19499 url: globalwpw.settings.obj.ajax_url, 19500 cache: false, 19501 contentType: false, 19502 processData: false, 19503 data: form_data, // Setting the data attribute of ajax with file_data 19504 type: "post", 19505 19506 xhr: function () { 19507 var xhr = new window.XMLHttpRequest(); 19508 xhr.upload.addEventListener( 19509 "progress", 19510 function (evt) { 19511 if (evt.lengthComputable) { 19512 var percentComplete = evt.loaded / evt.total; 19513 percentComplete = parseInt(percentComplete * 100); 19514 $("#qcld_cfb_progress").attr("value", percentComplete); 19515 } 19516 }, 19517 false 19518 ); 19519 return xhr; 19520 }, 19521 19522 success: function (response) { 19523 response = $.parseJSON(response); 19524 if (response.status == "success") { 19525 $(".qcld_upload_status").html( 19526 wpwKits.render(globalwpw.settings.obj.chatbot_file_upload_succ) 19527 );
19528 jQuery("#wp-chatbot-editor").removeAttr("type"); 19529 wpwKits.toggleAiFileUploadButton(); 19530 fileuploadblock = false; 19531 wpwTree.formbuilder(response.url.join(",")); 19532 } else { 19533 var errormsg = ""; 19534 errormsg += 19535 "<p>" + 19536 wpwKits.render(globalwpw.settings.obj.chatbot_file_upload_fail) + 19537 "</p>"; 19538 if (response.errors.length > 0) { 19539 jQuery.each(response.errors, function (key, message) { 19540 errormsg += "<p>" + message + "</p>"; 19541 }); 19542 } 19543 $(".qcld_upload_status").html(errormsg); 19544 obj.val(""); 19545 fileuploadblock = false; 19546 } 19547 }, 19548 error: function () { 19549 alert("An error occured, please try again."); 19550 }, 19551 }); 19552 } 19553 }); 19554 19555 $(document).on("keydown keyup", ".qcphonebasicus", function (e) { 19556 19557 var value = $(this).val(); 19558 if (value.length > 9) { 19559 $(this).val(wpwKits.formatPhoneNumberUS(value)); 19560 } 19561 }); 19562 $(document).on("keypress", ".qcnumberfield", function (e) { 19563 if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) { 19564 return false; 19565 } 19566 }); 19567 19568 //Deafault value for wpwbot.If nothing passes from the work station 19569 //Then defaults value will be used. 19570 $.wpwbot.defaults = { 19571 obj: {}, 19572 editor_handler: 0, 19573 sendButton: "#wp-chatbot-send-message", 19574 messageEditor: "#wp-chatbot-editor", 19575 messageContainer: "#wp-chatbot-messages-container", 19576 messageWrapper: ".wp-chatbot-messages-wrapper", 19577 botContainer: ".wp-chatbot-ball-inner", 19578 messageLastChild: "#wp-chatbot-messages-container li:last", 19579 messageLastBot: 19580 "#wp-chatbot-messages-container .wp-chatbot-msg:last .wp-chatbot-paragraph", 19581 preLoadingTime: 0, 19582 wildcardsShowTime: 5000, 19583 }; 19584 19585 19586 document.addEventListener("click", function (e) { 19587 // Toggle share menu 19588 if (e.target.closest(".share-toggle")) { 19589 e.preventDefault(); 19590 let menu = e.target.closest(".qcld-share").querySelector(".share-menu"); 19591 menu.style.display = menu.style.display === "none" ? "block" : "none"; 19592 } 19593 19594 // Find message content dynamically 19595 let msgItem = e.target.closest(".wp-chatbot-msg"); 19596 if (!msgItem) return; 19597 19598 let msgContent = msgItem.querySelector(".wp-chatbot-paragraph"); 19599 if (!msgContent) return; 19600 19601 // Extract plain text 19602 let msgText = msgContent.innerText.trim(); 19603 let shareSite = window.location.origin; // Get the site URL dynamically (e.g., "https://www.example.com") 19604 // Ensure a trailing slash if it's meant to represent the root of the site 19605 if (!shareSite.endsWith('/')) { 19606 shareSite += '/'; 19607 } 19608 let fullMsg = `${msgText}\n-- ${shareSite}`; 19609 let encodedMsg = encodeURIComponent(fullMsg); 19610 19611 // Facebook (requires App ID) 19612 if (e.target.closest(".share-fb")) { 19613 e.preventDefault(); 19614 19615 // You must include a URL even if you're just sharing text 19616 const shareURL = encodeURIComponent(window.location.href); // or your chatbot page URL 19617 const fbShareURL = "https://www.facebook.com/sharer/sharer.php?u=" + shareURL + ""e=" + encodedMsg; 19618 19619 window.open(fbShareURL, "_blank", "width=600,height=400"); 19620 } 19621 19622 // WhatsApp 19623 if (e.target.closest(".share-wa")) { 19624 e.preventDefault(); 19625 window.open("https://wa.me/?text=" + encodedMsg, "_blank"); 19626 } 19627 19628 // X (Twitter) 19629 if (e.target.closest(".share-x")) { 19630 e.preventDefault(); 19631 window.open("https://twitter.com/intent/tweet?text=" + encodedMsg, "_blank"); 19632 } 19633 19634 // Email 19635 if (e.target.closest(".share-email")) { 19636 e.preventDefault(); 19637 window.location.href = "mailto:?subject=Chatbot Message&body=" + encodedMsg; 19638 } 19639 }); 19640 19641})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.