feat(webchat): Update of webchat to the newer version 4.

This commit is contained in:
Rodrigo Rodriguez 2018-12-12 20:40:33 -02:00
parent 8490f5ed06
commit 0270a8ef40
17 changed files with 2623 additions and 3579 deletions

File diff suppressed because one or more lines are too long

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>GBServer | botserver</title>
<title>GBServer | General Bots Open Core</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
@ -22,7 +22,7 @@
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">botserver</a>
<a href="../index.html" class="title">General Bots Open Core</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
@ -109,7 +109,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/app.ts#L70">src/app.ts:70</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/app.ts#L65">src/app.ts:65</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -160,9 +160,6 @@
<li class=" tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a href="../modules/_src_app_.html#logger" class="tsd-kind-icon">logger</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a href="../modules/_src_app_.html#opn" class="tsd-kind-icon">opn</a>
</li>
</ul>
</nav>
</div>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>botserver</title>
<title>General Bots Open Core</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="assets/css/main.css">
@ -22,7 +22,7 @@
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="index.html" class="title">botserver</a>
<a href="index.html" class="title">General Bots Open Core</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
@ -56,7 +56,7 @@
<a href="globals.html">Globals</a>
</li>
</ul>
<h1> botserver</h1>
<h1> General Bots Open Core</h1>
</div>
</div>
</header>
@ -70,49 +70,46 @@
<section class="tsd-index-section ">
<h3>External modules</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-external-module"><a href="modules/_packages_admin_gbapp_dialogs_admindialog_.html" class="tsd-kind-icon">"packages/admin.gbapp/dialogs/<wbr>Admin<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_admin_gbapp_index_.html" class="tsd-kind-icon">"packages/admin.gbapp/index"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_admin_gbapp_models_adminmodel_.html" class="tsd-kind-icon">"packages/admin.gbapp/models/<wbr>Admin<wbr>Model"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_admin_gbapp_services_gbadminservice_.html" class="tsd-kind-icon">"packages/admin.gbapp/services/GBAdmin<wbr>Service"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_admin_gbapp_strings_.html" class="tsd-kind-icon">"packages/admin.gbapp/strings"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_analytics_gblib_index_.html" class="tsd-kind-icon">"packages/analytics.gblib/index"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_analytics_gblib_models_index_.html" class="tsd-kind-icon">"packages/analytics.gblib/models/index"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_analytics_gblib_services_analyticsservice_.html" class="tsd-kind-icon">"packages/analytics.gblib/services/<wbr>Analytics<wbr>Service"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_azuredeployer_gbapp_dialogs_botfarmdialog_.html" class="tsd-kind-icon">"packages/azuredeployer.gbapp/dialogs/<wbr>Bot<wbr>Farm<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_azuredeployer_gbapp_index_.html" class="tsd-kind-icon">"packages/azuredeployer.gbapp/index"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_azuredeployer_gbapp_services_azuredeployerservice_.html" class="tsd-kind-icon">"packages/azuredeployer.gbapp/services/<wbr>Azure<wbr>Deployer<wbr>Service"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_azuredeployer_gbapp_strings_.html" class="tsd-kind-icon">"packages/azuredeployer.gbapp/strings"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_console_gblib_index_.html" class="tsd-kind-icon">"packages/console.gblib/index"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_console_gblib_services_consoledirectline_.html" class="tsd-kind-icon">"packages/console.gblib/services/<wbr>Console<wbr>Direct<wbr>Line"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_core_gbapp_dialogs_welcomedialog_.html" class="tsd-kind-icon">"packages/core.gbapp/dialogs/<wbr>Welcome<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_core_gbapp_dialogs_whoamidialog_.html" class="tsd-kind-icon">"packages/core.gbapp/dialogs/<wbr>Who<wbr>AmIDialog"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_core_gbapp_index_.html" class="tsd-kind-icon">"packages/core.gbapp/index"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_core_gbapp_models_gbmodel_.html" class="tsd-kind-icon">"packages/core.gbapp/models/GBModel"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_core_gbapp_services_gbconfigservice_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBConfig<wbr>Service"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_core_gbapp_services_gbconversationalservice_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBConversational<wbr>Service"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_core_gbapp_services_gbcoreservice_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBCore<wbr>Service"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_core_gbapp_services_gbdeployer_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBDeployer"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_core_gbapp_services_gbimporter_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBImporter"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_core_gbapp_services_gbminservice_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBMin<wbr>Service"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_core_gbapp_strings_.html" class="tsd-kind-icon">"packages/core.gbapp/strings"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_customer_satisfaction_gbapp_dialogs_feedbackdialog_.html" class="tsd-kind-icon">"packages/customer-<wbr>satisfaction.gbapp/dialogs/<wbr>Feedback<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_customer_satisfaction_gbapp_dialogs_qualitydialog_.html" class="tsd-kind-icon">"packages/customer-<wbr>satisfaction.gbapp/dialogs/<wbr>Quality<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_customer_satisfaction_gbapp_index_.html" class="tsd-kind-icon">"packages/customer-<wbr>satisfaction.gbapp/index"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_customer_satisfaction_gbapp_models_index_.html" class="tsd-kind-icon">"packages/customer-<wbr>satisfaction.gbapp/models/index"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_customer_satisfaction_gbapp_services_csservice_.html" class="tsd-kind-icon">"packages/customer-<wbr>satisfaction.gbapp/services/CSService"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_customer_satisfaction_gbapp_strings_.html" class="tsd-kind-icon">"packages/customer-<wbr>satisfaction.gbapp/strings"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_kb_gbapp_dialogs_askdialog_.html" class="tsd-kind-icon">"packages/kb.gbapp/dialogs/<wbr>Ask<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_kb_gbapp_dialogs_faqdialog_.html" class="tsd-kind-icon">"packages/kb.gbapp/dialogs/<wbr>Faq<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_kb_gbapp_dialogs_menudialog_.html" class="tsd-kind-icon">"packages/kb.gbapp/dialogs/<wbr>Menu<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_kb_gbapp_index_.html" class="tsd-kind-icon">"packages/kb.gbapp/index"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_kb_gbapp_models_index_.html" class="tsd-kind-icon">"packages/kb.gbapp/models/index"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_kb_gbapp_services_kbservice_.html" class="tsd-kind-icon">"packages/kb.gbapp/services/KBService"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_kb_gbapp_strings_.html" class="tsd-kind-icon">"packages/kb.gbapp/strings"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_security_gblib_index_.html" class="tsd-kind-icon">"packages/security.gblib/index"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_security_gblib_models_index_.html" class="tsd-kind-icon">"packages/security.gblib/models/index"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_security_gblib_services_secservice_.html" class="tsd-kind-icon">"packages/security.gblib/services/<wbr>Sec<wbr>Service"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_whatsapp_gblib_index_.html" class="tsd-kind-icon">"packages/whatsapp.gblib/index"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_packages_whatsapp_gblib_services_whatsappdirectline_.html" class="tsd-kind-icon">"packages/whatsapp.gblib/services/<wbr>Whatsapp<wbr>Direct<wbr>Line"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_admin_gbapp_dialogs_admindialog_.html" class="tsd-kind-icon">"packages/admin.gbapp/dialogs/<wbr>Admin<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_admin_gbapp_index_.html" class="tsd-kind-icon">"packages/admin.gbapp/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_admin_gbapp_models_adminmodel_.html" class="tsd-kind-icon">"packages/admin.gbapp/models/<wbr>Admin<wbr>Model"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_admin_gbapp_services_gbadminservice_.html" class="tsd-kind-icon">"packages/admin.gbapp/services/GBAdmin<wbr>Service"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_admin_gbapp_strings_.html" class="tsd-kind-icon">"packages/admin.gbapp/strings"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_analytics_gblib_index_.html" class="tsd-kind-icon">"packages/analytics.gblib/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_analytics_gblib_models_index_.html" class="tsd-kind-icon">"packages/analytics.gblib/models/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_azuredeployer_gbapp_services_azuredeployerservice_.html" class="tsd-kind-icon">"packages/azuredeployer.gbapp/services/<wbr>Azure<wbr>Deployer<wbr>Service"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_dialogs_welcomedialog_.html" class="tsd-kind-icon">"packages/core.gbapp/dialogs/<wbr>Welcome<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_dialogs_whoamidialog_.html" class="tsd-kind-icon">"packages/core.gbapp/dialogs/<wbr>Who<wbr>AmIDialog"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_index_.html" class="tsd-kind-icon">"packages/core.gbapp/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_models_gbmodel_.html" class="tsd-kind-icon">"packages/core.gbapp/models/GBModel"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_services_gbapiservice_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBAPIService"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_services_gbconfigservice_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBConfig<wbr>Service"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_services_gbconversationalservice_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBConversational<wbr>Service"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_services_gbcoreservice_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBCore<wbr>Service"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_services_gbdeployer_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBDeployer"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_services_gbimporterservice_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBImporter<wbr>Service"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_services_gbminservice_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBMin<wbr>Service"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_services_gbvmservice_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBVMService"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_services_tscompiler_.html" class="tsd-kind-icon">"packages/core.gbapp/services/TSCompiler"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_strings_.html" class="tsd-kind-icon">"packages/core.gbapp/strings"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_customer_satisfaction_gbapp_dialogs_feedbackdialog_.html" class="tsd-kind-icon">"packages/customer-<wbr>satisfaction.gbapp/dialogs/<wbr>Feedback<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_customer_satisfaction_gbapp_dialogs_qualitydialog_.html" class="tsd-kind-icon">"packages/customer-<wbr>satisfaction.gbapp/dialogs/<wbr>Quality<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_customer_satisfaction_gbapp_index_.html" class="tsd-kind-icon">"packages/customer-<wbr>satisfaction.gbapp/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_customer_satisfaction_gbapp_models_index_.html" class="tsd-kind-icon">"packages/customer-<wbr>satisfaction.gbapp/models/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_customer_satisfaction_gbapp_services_csservice_.html" class="tsd-kind-icon">"packages/customer-<wbr>satisfaction.gbapp/services/CSService"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_customer_satisfaction_gbapp_strings_.html" class="tsd-kind-icon">"packages/customer-<wbr>satisfaction.gbapp/strings"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_kb_gbapp_dialogs_askdialog_.html" class="tsd-kind-icon">"packages/kb.gbapp/dialogs/<wbr>Ask<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_kb_gbapp_dialogs_faqdialog_.html" class="tsd-kind-icon">"packages/kb.gbapp/dialogs/<wbr>Faq<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_kb_gbapp_dialogs_menudialog_.html" class="tsd-kind-icon">"packages/kb.gbapp/dialogs/<wbr>Menu<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_kb_gbapp_index_.html" class="tsd-kind-icon">"packages/kb.gbapp/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_kb_gbapp_models_index_.html" class="tsd-kind-icon">"packages/kb.gbapp/models/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_kb_gbapp_services_kbservice_.html" class="tsd-kind-icon">"packages/kb.gbapp/services/KBService"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_kb_gbapp_strings_.html" class="tsd-kind-icon">"packages/kb.gbapp/strings"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_security_gblib_index_.html" class="tsd-kind-icon">"packages/security.gblib/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_security_gblib_models_index_.html" class="tsd-kind-icon">"packages/security.gblib/models/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_security_gblib_services_secservice_.html" class="tsd-kind-icon">"packages/security.gblib/services/<wbr>Sec<wbr>Service"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_whatsapp_gblib_index_.html" class="tsd-kind-icon">"packages/whatsapp.gblib/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_whatsapp_gblib_services_whatsappdirectline_.html" class="tsd-kind-icon">"packages/whatsapp.gblib/services/<wbr>Whatsapp<wbr>Direct<wbr>Line"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_src_app_.html" class="tsd-kind-icon">"src/app"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_src_logger_.html" class="tsd-kind-icon">"src/logger"</a></li>
</ul>
@ -127,134 +124,8 @@
<li class="globals current ">
<a href="globals.html"><em>Globals</em></a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_admin_gbapp_dialogs_admindialog_.html">"packages/admin.gbapp/dialogs/<wbr>Admin<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_admin_gbapp_index_.html">"packages/admin.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_admin_gbapp_models_adminmodel_.html">"packages/admin.gbapp/models/<wbr>Admin<wbr>Model"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_admin_gbapp_services_gbadminservice_.html">"packages/admin.gbapp/services/GBAdmin<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_admin_gbapp_strings_.html">"packages/admin.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_analytics_gblib_index_.html">"packages/analytics.gblib/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_analytics_gblib_models_index_.html">"packages/analytics.gblib/models/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_analytics_gblib_services_analyticsservice_.html">"packages/analytics.gblib/services/<wbr>Analytics<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_azuredeployer_gbapp_dialogs_botfarmdialog_.html">"packages/azuredeployer.gbapp/dialogs/<wbr>Bot<wbr>Farm<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_azuredeployer_gbapp_index_.html">"packages/azuredeployer.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_azuredeployer_gbapp_services_azuredeployerservice_.html">"packages/azuredeployer.gbapp/services/<wbr>Azure<wbr>Deployer<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_azuredeployer_gbapp_strings_.html">"packages/azuredeployer.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_console_gblib_index_.html">"packages/console.gblib/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_console_gblib_services_consoledirectline_.html">"packages/console.gblib/services/<wbr>Console<wbr>Direct<wbr>Line"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_dialogs_welcomedialog_.html">"packages/core.gbapp/dialogs/<wbr>Welcome<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_dialogs_whoamidialog_.html">"packages/core.gbapp/dialogs/<wbr>Who<wbr>AmIDialog"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_index_.html">"packages/core.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_models_gbmodel_.html">"packages/core.gbapp/models/GBModel"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_services_gbconfigservice_.html">"packages/core.gbapp/services/GBConfig<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_services_gbconversationalservice_.html">"packages/core.gbapp/services/GBConversational<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_services_gbcoreservice_.html">"packages/core.gbapp/services/GBCore<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_services_gbdeployer_.html">"packages/core.gbapp/services/GBDeployer"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_services_gbimporter_.html">"packages/core.gbapp/services/GBImporter"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_services_gbminservice_.html">"packages/core.gbapp/services/GBMin<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_strings_.html">"packages/core.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_customer_satisfaction_gbapp_dialogs_feedbackdialog_.html">"packages/customer-<wbr>satisfaction.gbapp/dialogs/<wbr>Feedback<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_customer_satisfaction_gbapp_dialogs_qualitydialog_.html">"packages/customer-<wbr>satisfaction.gbapp/dialogs/<wbr>Quality<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_customer_satisfaction_gbapp_index_.html">"packages/customer-<wbr>satisfaction.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_customer_satisfaction_gbapp_models_index_.html">"packages/customer-<wbr>satisfaction.gbapp/models/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_customer_satisfaction_gbapp_services_csservice_.html">"packages/customer-<wbr>satisfaction.gbapp/services/CSService"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_customer_satisfaction_gbapp_strings_.html">"packages/customer-<wbr>satisfaction.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_kb_gbapp_dialogs_askdialog_.html">"packages/kb.gbapp/dialogs/<wbr>Ask<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_kb_gbapp_dialogs_faqdialog_.html">"packages/kb.gbapp/dialogs/<wbr>Faq<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_kb_gbapp_dialogs_menudialog_.html">"packages/kb.gbapp/dialogs/<wbr>Menu<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_kb_gbapp_index_.html">"packages/kb.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_kb_gbapp_models_index_.html">"packages/kb.gbapp/models/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_kb_gbapp_services_kbservice_.html">"packages/kb.gbapp/services/KBService"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_kb_gbapp_strings_.html">"packages/kb.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_security_gblib_index_.html">"packages/security.gblib/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_security_gblib_models_index_.html">"packages/security.gblib/models/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_security_gblib_services_secservice_.html">"packages/security.gblib/services/<wbr>Sec<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_whatsapp_gblib_index_.html">"packages/whatsapp.gblib/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_whatsapp_gblib_services_whatsappdirectline_.html">"packages/whatsapp.gblib/services/<wbr>Whatsapp<wbr>Direct<wbr>Line"</a>
<li class="label tsd-is-external">
<span>Internals</span>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_src_app_.html">"src/app"</a>
@ -262,6 +133,129 @@
<li class=" tsd-kind-external-module">
<a href="modules/_src_logger_.html">"src/logger"</a>
</li>
<li class="label tsd-is-external">
<span>Externals</span>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_admin_gbapp_dialogs_admindialog_.html">"packages/admin.gbapp/dialogs/<wbr>Admin<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_admin_gbapp_index_.html">"packages/admin.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_admin_gbapp_models_adminmodel_.html">"packages/admin.gbapp/models/<wbr>Admin<wbr>Model"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_admin_gbapp_services_gbadminservice_.html">"packages/admin.gbapp/services/GBAdmin<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_admin_gbapp_strings_.html">"packages/admin.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_analytics_gblib_index_.html">"packages/analytics.gblib/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_analytics_gblib_models_index_.html">"packages/analytics.gblib/models/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_azuredeployer_gbapp_services_azuredeployerservice_.html">"packages/azuredeployer.gbapp/services/<wbr>Azure<wbr>Deployer<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_dialogs_welcomedialog_.html">"packages/core.gbapp/dialogs/<wbr>Welcome<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_dialogs_whoamidialog_.html">"packages/core.gbapp/dialogs/<wbr>Who<wbr>AmIDialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_index_.html">"packages/core.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_models_gbmodel_.html">"packages/core.gbapp/models/GBModel"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbapiservice_.html">"packages/core.gbapp/services/GBAPIService"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbconfigservice_.html">"packages/core.gbapp/services/GBConfig<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbconversationalservice_.html">"packages/core.gbapp/services/GBConversational<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbcoreservice_.html">"packages/core.gbapp/services/GBCore<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbdeployer_.html">"packages/core.gbapp/services/GBDeployer"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbimporterservice_.html">"packages/core.gbapp/services/GBImporter<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbminservice_.html">"packages/core.gbapp/services/GBMin<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbvmservice_.html">"packages/core.gbapp/services/GBVMService"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_tscompiler_.html">"packages/core.gbapp/services/TSCompiler"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_strings_.html">"packages/core.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_dialogs_feedbackdialog_.html">"packages/customer-<wbr>satisfaction.gbapp/dialogs/<wbr>Feedback<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_dialogs_qualitydialog_.html">"packages/customer-<wbr>satisfaction.gbapp/dialogs/<wbr>Quality<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_index_.html">"packages/customer-<wbr>satisfaction.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_models_index_.html">"packages/customer-<wbr>satisfaction.gbapp/models/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_services_csservice_.html">"packages/customer-<wbr>satisfaction.gbapp/services/CSService"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_strings_.html">"packages/customer-<wbr>satisfaction.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_dialogs_askdialog_.html">"packages/kb.gbapp/dialogs/<wbr>Ask<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_dialogs_faqdialog_.html">"packages/kb.gbapp/dialogs/<wbr>Faq<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_dialogs_menudialog_.html">"packages/kb.gbapp/dialogs/<wbr>Menu<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_index_.html">"packages/kb.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_models_index_.html">"packages/kb.gbapp/models/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_services_kbservice_.html">"packages/kb.gbapp/services/KBService"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_strings_.html">"packages/kb.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_security_gblib_index_.html">"packages/security.gblib/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_security_gblib_models_index_.html">"packages/security.gblib/models/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_security_gblib_services_secservice_.html">"packages/security.gblib/services/<wbr>Sec<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_whatsapp_gblib_index_.html">"packages/whatsapp.gblib/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_whatsapp_gblib_services_whatsappdirectline_.html">"packages/whatsapp.gblib/services/<wbr>Whatsapp<wbr>Direct<wbr>Line"</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>botserver</title>
<title>General Bots Open Core</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="assets/css/main.css">
@ -22,7 +22,7 @@
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="index.html" class="title">botserver</a>
<a href="index.html" class="title">General Bots Open Core</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
@ -56,7 +56,7 @@
<a href="globals.html">Globals</a>
</li>
</ul>
<h1> botserver</h1>
<h1> General Bots Open Core</h1>
</div>
</div>
</header>
@ -64,7 +64,283 @@
<div class="row">
<div class="col-8 col-content">
<div class="tsd-panel tsd-typography">
<p><em>This is a General Bots open core package, more information can be found on the <a href="https://github.com/pragmatismo-io/BotServer">BotServer</a> repository.</em></p>
<table>
<thead>
<tr>
<th>Area</th>
<th>Status</th>
</tr>
</thead>
<tbody><tr>
<td>Community</td>
<td><a href="https://stackoverflow.com/questions/tagged/generalbots"><img src="https://img.shields.io/stackexchange/stackoverflow/t/generalbots.svg" alt="StackExchange"></a> <a href="https://gitter.im/GeneralBots"><img src="https://img.shields.io/gitter/room/pragmatismo-io/GeneralBots.svg" alt="Gitter"></a> <a href="https://badges.frapsoft.com"><img src="https://badges.frapsoft.com/os/v2/open-source.svg" alt="Open-source"></a> <a href="http://makeapullrequest.com"><img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square" alt="PRs Welcome"></a> <a href="https://github.com/pragmatismo-io/BotServer/blob/master/LICENSE.txt"><img src="https://img.shields.io/badge/license-AGPL-blue.svg" alt="License"></a></td>
</tr>
<tr>
<td>Management</td>
<td><a href="https://gitHub.com/pragmatismo-io/BotServer/graphs/commit-activity"><img src="https://img.shields.io/badge/Maintained%3F-yes-green.svg" alt="Maintenance"></a> <a href="https://waffle.io/pragmatismo-io/BotServer"><img src="https://badge.waffle.io/pragmatismo-io/BotServer.svg?columns=all" alt="Waffle.io - Columns and their card count"></a></td>
</tr>
<tr>
<td>Security</td>
<td><a href="https://snyk.io/test/github/pragmatismo-io/BotServer"><img src="https://snyk.io/test/github/pragmatismo-io/BotServer/badge.svg" alt="Known Vulnerabilities"></a></td>
</tr>
<tr>
<td>Building &amp; Quality</td>
<td><a href="https://travis-ci.com/pragmatismo-io/BotServer"><img src="https://travis-ci.com/pragmatismo-io/BotServer.svg?branch=master" alt="Build Status"></a> <a href="https://coveralls.io/github/pragmatismo-io/BotServer"><img src="https://coveralls.io/repos/github/pragmatismo-io/BotServer/badge.svg" alt="Coverage Status"></a> <a href="https://github.com/prettier/prettier"><img src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square" alt="code style: prettier"></a></td>
</tr>
<tr>
<td>Packaging</td>
<td><a href="https://badge.fury.io"><img src="https://badge.fury.io/js/botserver.svg" alt="forthebadge"></a> <a href="https://david-dm.org"><img src="https://david-dm.org/pragmatismo-io/botserver.svg" alt="Dependencies"></a> <a href="https://greenkeeper.io/"><img src="https://badges.greenkeeper.io/pragmatismo-io/BotServer.svg" alt="Greenkeeper badge"></a> <a href="http://commitizen.github.io/cz-cli/"><img src="https://img.shields.io/badge/commitizen-friendly-brightgreen.svg" alt="Commitizen friendly"></a></td>
</tr>
<tr>
<td>Releases</td>
<td><a href="https://www.npmjs.com/package/botserver/"><img src="https://img.shields.io/npm/dt/botserver.svg?logo=npm&label=botserver" alt="General Bots"></a> <a href="https://www.npmjs.com/package/botlib/"><img src="https://img.shields.io/npm/dt/botlib.svg?logo=npm&label=botlib" alt=".gbapp lib"></a> <a href="https://github.com/semantic-release/semantic-release"><img src="https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg" alt="semantic-release"></a></td>
</tr>
<tr>
<td><a href="https://github.com/lpicanco/docker-botserver">Docker Image</a></td>
<td><img src="https://img.shields.io/docker/automated/lpicanco/botserver.svg" alt="Docker Automated build"> <img src="https://img.shields.io/docker/build/lpicanco/botserver.svg" alt="Docker Build Status"> <img src="https://img.shields.io/microbadger/image-size/lpicanco/botserver.svg" alt="MicroBadger Size"> <img src="https://img.shields.io/microbadger/layers/lpicanco/botserver.svg" alt="MicroBadger Layers"> <img src="https://img.shields.io/docker/pulls/lpicanco/botserver.svg" alt="Docker Pulls"> <br/> <em>Provided by <a href="https://github.com/lpicanco/docker-botserver">@lpicanco</a></em></td>
</tr>
</tbody></table>
<h4 id="watch-a-video-about-easeness-authoring-of-bot-packages-development-environment-and-self-deployment">Watch a video about easeness authoring of bot packages, development environment and self-deployment</h4>
<ul>
<li>Now with General Bots you can press F5 on Visual Studio to get a bot factory on your environment* published on November 10th, 2018.</li>
</ul>
<p><a href="https://www.youtube.com/watch?v=AfKTwljoMOs"><img src="https://raw.githubusercontent.com/pragmatismo-io/BotServer/master/docs/images/video-01-thumb.jpg" alt="General Bot Video"></a></p>
<h2 id="welcome-to-general-bot-community-edition">Welcome to General Bot Community Edition</h2>
<p><img src="https://raw.githubusercontent.com/pragmatismo-io/BotServer/master/logo.png" alt="General Bot Logo"></p>
<p>General Bot is a package based chat bot server focused in convention over configuration and code-less approaches, which brings software packages and application server concepts to help parallel bot development.</p>
<h2 id="sample-package-1-default-gbdialog-vba-">Sample Package #1: <a href="https://github.com/pragmatismo-io/BotServer/tree/master/packages/default.gbdialog">default.gbdialog (VBA)</a></h2>
<ul>
<li>See how easy is to use &#39;hear&#39; and &#39;talk&#39; to build Microsoft BOT Framework v4 logic with plain BASIC * published on December 3rd, 2018.</li>
</ul>
<p><a href="https://www.youtube.com/watch?v=yX1sF9n9628"><img src="https://raw.githubusercontent.com/pragmatismo-io/BotServer/master/docs/images/video-02-thumb.jpg" alt="See how easy is to use &#39;hear&#39; and &#39;talk&#39; to build Microsoft BOT Framework v4 logic with plain BASIC"></a></p>
<h2 id="sample-package-2-azureadpasswordreset-gbapp-typescript-">Sample Package #2: <a href="https://github.com/pragmatismo-io/AzureADPasswordReset.gbapp">AzureADPasswordReset.gbapp (TypeScript)</a></h2>
<p>Custom dialogs for reseting user password in Azure Active Directory, Office 365, Dynamics 365 or any app published through Azure AD. See also <a href="https://github.com/pragmatismo-io/IntranetBotQuickStart.gbai">IntranetBotQuickStart.gbai</a> and related MSDN article <strong><a href="https://blogs.msdn.microsoft.com/buckwoody/2018/09/25/applied-ai-using-a-bot-for-password-reset">Applied AI Using a Bot for Password Reset</a></strong> by <em>Rodrigo Souza</em>.</p>
<h3 id="bot-administrator-setup-security">Bot Administrator - Setup Security</h3>
<p>So the Bot provides an <strong>admin</strong> mode allowing the user having the Directory.AccessAsUser.All permission to be logged on Administrative interface to obtain and save its token into the database.</p>
<p><img src="https://raw.githubusercontent.com/pragmatismo-io/AzureADPasswordReset.gbapp/master/docs/general-bots-reset-ad-password-admin.gif" alt="General Bot Logo"></p>
<h3 id="bot-user-reset-password">Bot User - Reset Password</h3>
<p>With the access token stored in the database, any user can access anonymously the
bot and through a combination of e-mail and mobile received code, the user will be able to reset her or his password.</p>
<h4 id="reset-password-via-web">Reset password via Web</h4>
<p>Any user can use a web address to talk to a reset password bot. Just provide credentials that are confronted with Microsoft Graph to ensure security.</p>
<p><img src="https://raw.githubusercontent.com/pragmatismo-io/AzureADPasswordReset.gbapp/master/docs/password.gif" alt="General Bot Logo"></p>
<p>general-bots-reset-ad-password.gif </p>
<h4 id="reset-password-via-skype">Reset password via Skype</h4>
<p>This is the case when user does not have the password to login on Skype for Business or Teams, and they need to reset their password, so the right tool is Skype.</p>
<p><img src="https://raw.githubusercontent.com/pragmatismo-io/AzureADPasswordReset.gbapp/master/docs/general-bots-reset-ad-password.gif" alt="General Bot Logo"></p>
<h2 id="what-is-a-bot-server-">What is a Bot Server?</h2>
<p><img src="https://github.com/pragmatismo-io/BotServer/blob/master/docs/images/generalbots-open-core-starting-from-scratch.gif" alt="General Bots Starting From Scrach"></p>
<p>Bot Server accelerates the process of developing a bot. It provisions all code
base, resources and deployment to the cloud, and gives you templates you can
choose from whenever you need a new bot. The server has a database and service
backend allowing you to further modify your bot package directly by downloading
a zip file, editing and uploading it back to the server (deploying process) with
no code. The Bot Server also provides a framework to develop bot packages in a more
advanced fashion writing custom code in editors like Visual Studio Code, Atom or Brackets.</p>
<p>Everyone can create bots by just copying and pasting some files and using their
favorite tools like Excel (or any text editor) or Photoshop (or any image
editor).</p>
<h2 id="package-quick-reference">Package Quick Reference</h2>
<table>
<thead>
<tr>
<th>Whatsapp</th>
<th>Web</th>
<th>Core</th>
<th>KB</th>
</tr>
</thead>
<tbody><tr>
<td><a href="https://github.com/pragmatismo-io/BotServer/tree/master/packages/whatsapp.gblib">whatsapp.gblib</a></td>
<td><a href="https://github.com/pragmatismo-io/BotServer/tree/master/packages/default.gbui">default.gbui</a></td>
<td><a href="https://github.com/pragmatismo-io/BotServer/tree/master/packages/core.gbapp">core.gbapp</a></td>
<td><a href="https://github.com/pragmatismo-io/BotServer/tree/master/packages/kb.gbapp">kb.gbapp</a></td>
</tr>
</tbody></table>
<h3 id="the-bot-development-stack">The bot development stack</h3>
<p><img src="https://raw.githubusercontent.com/pragmatismo-io/BotServer/master/docs/images/general-bots-stack.png" alt="General Bot Logo"></p>
<h3 id="the-bot-factory">The Bot Factory</h3>
<p><img src="https://raw.githubusercontent.com/pragmatismo-io/BotServer/master/docs/images/general-bots-block-architecture.png" alt="General Bots Block Architecture"></p>
<p>GeneralBots aims to delivery bots in azure in a very easy and fast fashion. Use Office tools like Word or Excel to edit your Bot - using code (JavaScript or TypeScript) just to empower custom requirements.</p>
<h4 id="use-excel-for-hierarchical-knowledge-base-editing">Use Excel for (Hierarchical) Knowledge Base Editing</h4>
<p><img src="https://github.com/pragmatismo-io/BotServer/blob/master/docs/images/general-bots-composing-subjects-json-and-excel.gif" alt="General Bots Inside Excel can enable bot production the masses"></p>
<h4 id="use-visual-studio-for-a-complete-gbai-package-building-system">Use Visual Studio for a complete .gbai package building system</h4>
<p><img src="https://raw.githubusercontent.com/pragmatismo-io/BotServer/master/docs/images/general-bots-inside-visual-studio-code-provides-a-complete-artificial-intelligence-based-conversational-platform.png" alt="General Bots Inside Visual Studio Code provides a complete artificial intelligence based conversational platform"></p>
<h2 id="how-to">How To</h2>
<h3 id="run-the-server-locally">Run the server locally</h3>
<ol>
<li>Install <a href="https://www.npmjs.com/get-npm">Node.js</a> the current generation General Bot code execution platform;</li>
<li>Open a <strong>Terminal</strong> on Linux and Mac or a <strong>Command Prompt</strong> window on Windows;</li>
<li>Type <code>npm install -g botserver</code> and press <em>ENTER</em>;</li>
<li>Type <code>gbot</code> to run the server core.</li>
</ol>
<p>Notes:</p>
<ul>
<li><a href="https://chocolatey.org/packages/nodejs.install"><em>nodejs.install</em> Chocolatey Package</a> is also available.</li>
<li>The zip source code of General Bot is also available for <a href="https://codeload.github.com/pragmatismo-io/BotServer/zip/master">Download</a>;</li>
</ul>
<h3 id="configure-the-server-to-deploy-specific-directory">Configure the server to deploy specific directory</h3>
<ol>
<li>Create/Edit the .env file and add the ADDITIONAL_DEPLOY_PATH key pointing to the .gbai local parent folder of .gbapp, .gbot, .gbtheme, .gbkb package directories.</li>
<li>Specify STORAGE_SYNC to TRUE so database sync is run when the server is run.</li>
<li>In case of Microsoft SQL Server add the following keys: STORAGE_SERVER, STORAGE_NAME, STORAGE_USERNAME, STORAGE_PASSWORD, STORAGE_DIALECT to <code>mssql</code>.</li>
</ol>
<p>Note:</p>
<ul>
<li>You can specify several bots separated by semicolon, the BotServer will serve all of them at once.</li>
</ul>
<h2 id="setup-development-environment-windows-">Setup development environment (Windows)</h2>
<ol>
<li>[Optional] Install <a href="https://chocolatey.org/install">Chocolatey</a>, a Windows Package Manager;</li>
<li>Install <a href="%60https://git-scm.com/%60">git</a>, a Software Configuration Management (SCM).;</li>
<li>Install <a href="npmjs.com/get-npm">Node.js</a>, a <a href="https://en.wikipedia.org/wiki/Runtime_system">Runtime system</a>.
(<a href="https://www.npmjs.com/get-npm">https://www.npmjs.com/get-npm</a>) (suggested: LTS 8.x.x);</li>
<li>Install <a href="https://chocolatey.org/packages/nodejs.install">Visual Studio Code</a>, Brackets or Atom as an editor of your choice;</li>
<li><a href="https://en.wikipedia.org/wiki/Fork_(software_development)">Fork</a> by visiting <a href="https://github.com/pragmatismo-io/BotServer/fork">https://github.com/pragmatismo-io/BotServer/fork</a></li>
<li>Clone the just forked repository by running <code>git clone &lt;your-forked-repository-url&gt;/BotServer.git</code> ;</li>
<li>Run <code>npm install -g typescript</code>;</li>
<li>Run <code>npm install</code> on Command Prompt or PowerShell on the General Bot source-code folder;</li>
<li>Enter &#39;./packages/default.gbui&#39; folder;</li>
<li>Run <code>npm install</code> folled by <code>npm run build</code> (To build default Bot UI);</li>
<li>Enter the On the downloaded folder (../..);</li>
<li>Compile the bot server by <code>tsc</code>.</li>
<li>Run the bot server by <code>npm start</code>.</li>
</ol>
<p>Note:</p>
<ul>
<li>Whenever you are ready to turn your open-source bot ideas in form of .gbapp (source-code) and artifacts like .gbkb, .gbtheme, .gbot or the .gbai full package read <a href="https://github.com/pragmatismo-io/BotServer/blob/master/CONTRIBUTING.md">CONTRIBUTING.md</a> about performing Pull Requests (PR) and creating other public custom packages repositories of your own personal or organization General Bot Community Edition powered packages.</li>
</ul>
<h3 id="running-unit-tests">Running unit tests</h3>
<ol>
<li>Enter the BotServer root folder.</li>
<li>Run tests by <code>npm test</code>.</li>
</ol>
<h3 id="just-copy-the-source-code-to-your-machine">Just copy the source code to your machine</h3>
<ol>
<li>[Download] the Zip file of (<a href="https://codeload.github.com/pragmatismo-io/BotServer/zip/master">https://codeload.github.com/pragmatismo-io/BotServer/zip/master</a>)</li>
</ol>
<h3 id="updating-the-bot-knoledge-base-gbkb-folder-">Updating the Bot Knoledge Base (.gbkb folder)</h3>
<p>The subjects.json file contains all information related to the subject tree and can be used to build the menu carrousel as well give a set of words to be used as subject catcher in the conversation. A hierarchy can be specified.</p>
<h3 id="creating-a-new-theme-folder-gbtheme-folder-">Creating a new Theme folder (.gbtheme folder)</h3>
<p>A theme is composed of some CSS files and images. That set of files can change
everything in the General Bot UI. Use them extensively before going to change
the UI application itself (HTML &amp; JS).</p>
<h2 id="package-types">Package Types</h2>
<h3 id="-gbai">.gbai</h3>
<p>Embraces all packages types (content, logic &amp; conversation) into a pluggable bot
directory. <a href="https://github.com/pragmatismo-io/IntranetBotQuickStart.gbai">A sample .gbai is available</a>.</p>
<h3 id="-gbapp">.gbapp</h3>
<p>The artificial intelligence extensions in form of pluggable apps. Dialogs,
Services and all model related to data. A set of interactions, use cases,
integrations in form of conversationals dialogs.
The .gbapp adds the General Bot base library (botlib) for building Node.js TypeScript Apps packages.</p>
<p>Four components builds up a General Bot App:</p>
<ul>
<li>dialogs</li>
<li>models</li>
<li>services</li>
<li>tests</li>
</ul>
<h4 id="dialogs">Dialogs</h4>
<p>All code contained in a dialog builds the flow to custom conversations in
built-in and additional packages .</p>
<h4 id="models">Models</h4>
<p>Models builds the foundation of data relationships in form of entities.</p>
<h4 id="services">Services</h4>
<p>Services are a façade for bot back-end logic and other custom processing.</p>
<h4 id="tests">Tests</h4>
<p>Tests try to automate code execution validation before crashing in production.</p>
<h3 id="-gbot">.gbot</h3>
<p>An expression of an artificial inteligence entity. A .gbot file defines
all bots dependencies related to services and other resources.</p>
<h3 id="-gbtheme">.gbtheme</h3>
<p>A theme of a bot at a given time. CSS files &amp; images that can compose all UI
presentation and using it a branding can be done. <a href="https://github.com/pragmatismo-io/Office365.gbtheme">A sample .gbtheme is available</a></p>
<h3 id="-gbkb">.gbkb</h3>
<p>A set of subjects that bot knows in a form of hierarchical menu-based QnA. <a href="https://github.com/pragmatismo-io/ProjectOnline.gbkb">A sample .gbkb is available</a>.</p>
<h3 id="-gblib">.gblib</h3>
<p>Shared code that can be used across bot apps.</p>
<h2 id="reference">Reference</h2>
<h3 id="generalbots-admin-commands">GeneralBots admin commands</h3>
<p>General Bot can be controlled by the same chat window people talk to, so
here is a list of admin commands related to deploying .gb* files.</p>
<table>
<thead>
<tr>
<th>Command</th>
<th>Description</th>
</tr>
</thead>
<tbody><tr>
<td>deployPackage</td>
<td>Deploy a KB package. Usage <strong>deployPackage</strong> [package-name]. Then, you need to run rebuildIndex.</td>
</tr>
<tr>
<td>undeployPackage</td>
<td>Undeploy a KB. Usage <strong>undeployPackage</strong> [package-name].</td>
</tr>
<tr>
<td>redeployPackage</td>
<td>Undeploy and then deploys the KB. Usage <strong>redeployPackage</strong> [package-name]. Then, you need to run rebuildIndex.</td>
</tr>
<tr>
<td>setupSecurity</td>
<td>Setup connection to user directories.</td>
</tr>
</tbody></table>
<p>Discontinued commands:</p>
<table>
<thead>
<tr>
<th>Command</th>
<th>Description</th>
<th>Reason</th>
</tr>
</thead>
<tbody><tr>
<td>rebuildIndex</td>
<td>Rebuild Azure Search indexes, must be run after <strong>deployPackage</strong> or <strong>redeployPackage</strong>.</td>
<td>Now it is called automatically</td>
</tr>
</tbody></table>
<h3 id="credits-inspiration">Credits &amp; Inspiration</h3>
<ul>
<li>Rodrigo Rodriguez (<a href="mailto:me@rodrigorodriguez.com">me@rodrigorodriguez.com</a>) - Coding, Docs &amp; Architecture.</li>
<li>David Lerner (<a href="mailto:david.lerner@hotmail.com">david.lerner@hotmail.com</a>) - UI, UX &amp; Theming.</li>
<li>Eduardo Romeiro (<a href="mailto:eromeirosp@outlook.com">eromeirosp@outlook.com</a>) - Content &amp; UX.</li>
<li>Jorge Ramos (<a href="mailto:jramos@pobox.com">jramos@pobox.com</a>) - Coding, Docs &amp; Architecture.</li>
<li>PH Nascimento (<a href="mailto:ph.an@outlook.com">ph.an@outlook.com</a>) - Product Manager</li>
</ul>
<p>Powered by Microsoft <a href="https://dev.botframework.com/">BOT Framework</a> and <a href="http://www.azure.com">Azure</a>.</p>
<p>General Bot Code Name is <a href="https://en.wikipedia.org/wiki/Guaribas">Guaribas</a>, the name of a city in Brasil, state of Piaui.
<a href="http://www.robertounger.com/en/">Roberto Mangabeira Unger</a>: &quot;No one should have to do work that can be done by a machine&quot;.</p>
<h2 id="contributing">Contributing</h2>
<p>This project welcomes contributions and suggestions.
See our <a href="https://github.com/pragmatismo-io/BotServer/blob/master/CONTRIBUTING.md">Contribution Guidelines</a> for more details.</p>
<h2 id="reporting-security-issues">Reporting Security Issues</h2>
<p>Security issues and bugs should be reported privately, via email, to the Pragmatismo.io Security
team at <a href="mailto:security@pragmatismo.io">security@pragmatismo.io</a>. You should
receive a response within 24 hours. If for some reason you do not, please follow up via
email to ensure we received your original message. </p>
<h2 id="license-warranty">License &amp; Warranty</h2>
<p>General Bot Copyright (c) Pragmatismo.io. All rights reserved.
Licensed under the AGPL-3.0. </p>
<p>According to our dual licensing model, this program can be used either
under the terms of the GNU Affero General Public License, version 3,
or under a proprietary license. </p>
<p>The texts of the GNU Affero General Public License with an additional
permission and of our proprietary license can be found at and
in the LICENSE file you have received along with this program.</p>
<p>This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.</p>
<p>&quot;General Bot&quot; is a registered trademark of Pragmatismo.io.
The licensing of the program under the AGPLv3 does not imply a
trademark license. Therefore any rights, title and interest in
our trademarks remain entirely with us.</p>
<p><a href="https://stackoverflow.com/questions/ask?tags=generalbots">:speech_balloon: Ask a question</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="/docs">:book: Read the Docs</a></p>
</h2>
</div>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
@ -73,134 +349,8 @@
<li class="globals ">
<a href="globals.html"><em>Globals</em></a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_admin_gbapp_dialogs_admindialog_.html">"packages/admin.gbapp/dialogs/<wbr>Admin<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_admin_gbapp_index_.html">"packages/admin.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_admin_gbapp_models_adminmodel_.html">"packages/admin.gbapp/models/<wbr>Admin<wbr>Model"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_admin_gbapp_services_gbadminservice_.html">"packages/admin.gbapp/services/GBAdmin<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_admin_gbapp_strings_.html">"packages/admin.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_analytics_gblib_index_.html">"packages/analytics.gblib/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_analytics_gblib_models_index_.html">"packages/analytics.gblib/models/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_analytics_gblib_services_analyticsservice_.html">"packages/analytics.gblib/services/<wbr>Analytics<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_azuredeployer_gbapp_dialogs_botfarmdialog_.html">"packages/azuredeployer.gbapp/dialogs/<wbr>Bot<wbr>Farm<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_azuredeployer_gbapp_index_.html">"packages/azuredeployer.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_azuredeployer_gbapp_services_azuredeployerservice_.html">"packages/azuredeployer.gbapp/services/<wbr>Azure<wbr>Deployer<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_azuredeployer_gbapp_strings_.html">"packages/azuredeployer.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_console_gblib_index_.html">"packages/console.gblib/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_console_gblib_services_consoledirectline_.html">"packages/console.gblib/services/<wbr>Console<wbr>Direct<wbr>Line"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_dialogs_welcomedialog_.html">"packages/core.gbapp/dialogs/<wbr>Welcome<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_dialogs_whoamidialog_.html">"packages/core.gbapp/dialogs/<wbr>Who<wbr>AmIDialog"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_index_.html">"packages/core.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_models_gbmodel_.html">"packages/core.gbapp/models/GBModel"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_services_gbconfigservice_.html">"packages/core.gbapp/services/GBConfig<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_services_gbconversationalservice_.html">"packages/core.gbapp/services/GBConversational<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_services_gbcoreservice_.html">"packages/core.gbapp/services/GBCore<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_services_gbdeployer_.html">"packages/core.gbapp/services/GBDeployer"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_services_gbimporter_.html">"packages/core.gbapp/services/GBImporter"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_services_gbminservice_.html">"packages/core.gbapp/services/GBMin<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_core_gbapp_strings_.html">"packages/core.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_customer_satisfaction_gbapp_dialogs_feedbackdialog_.html">"packages/customer-<wbr>satisfaction.gbapp/dialogs/<wbr>Feedback<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_customer_satisfaction_gbapp_dialogs_qualitydialog_.html">"packages/customer-<wbr>satisfaction.gbapp/dialogs/<wbr>Quality<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_customer_satisfaction_gbapp_index_.html">"packages/customer-<wbr>satisfaction.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_customer_satisfaction_gbapp_models_index_.html">"packages/customer-<wbr>satisfaction.gbapp/models/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_customer_satisfaction_gbapp_services_csservice_.html">"packages/customer-<wbr>satisfaction.gbapp/services/CSService"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_customer_satisfaction_gbapp_strings_.html">"packages/customer-<wbr>satisfaction.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_kb_gbapp_dialogs_askdialog_.html">"packages/kb.gbapp/dialogs/<wbr>Ask<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_kb_gbapp_dialogs_faqdialog_.html">"packages/kb.gbapp/dialogs/<wbr>Faq<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_kb_gbapp_dialogs_menudialog_.html">"packages/kb.gbapp/dialogs/<wbr>Menu<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_kb_gbapp_index_.html">"packages/kb.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_kb_gbapp_models_index_.html">"packages/kb.gbapp/models/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_kb_gbapp_services_kbservice_.html">"packages/kb.gbapp/services/KBService"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_kb_gbapp_strings_.html">"packages/kb.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_security_gblib_index_.html">"packages/security.gblib/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_security_gblib_models_index_.html">"packages/security.gblib/models/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_security_gblib_services_secservice_.html">"packages/security.gblib/services/<wbr>Sec<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_whatsapp_gblib_index_.html">"packages/whatsapp.gblib/index"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_packages_whatsapp_gblib_services_whatsappdirectline_.html">"packages/whatsapp.gblib/services/<wbr>Whatsapp<wbr>Direct<wbr>Line"</a>
<li class="label tsd-is-external">
<span>Internals</span>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_src_app_.html">"src/app"</a>
@ -208,6 +358,129 @@
<li class=" tsd-kind-external-module">
<a href="modules/_src_logger_.html">"src/logger"</a>
</li>
<li class="label tsd-is-external">
<span>Externals</span>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_admin_gbapp_dialogs_admindialog_.html">"packages/admin.gbapp/dialogs/<wbr>Admin<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_admin_gbapp_index_.html">"packages/admin.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_admin_gbapp_models_adminmodel_.html">"packages/admin.gbapp/models/<wbr>Admin<wbr>Model"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_admin_gbapp_services_gbadminservice_.html">"packages/admin.gbapp/services/GBAdmin<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_admin_gbapp_strings_.html">"packages/admin.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_analytics_gblib_index_.html">"packages/analytics.gblib/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_analytics_gblib_models_index_.html">"packages/analytics.gblib/models/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_azuredeployer_gbapp_services_azuredeployerservice_.html">"packages/azuredeployer.gbapp/services/<wbr>Azure<wbr>Deployer<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_dialogs_welcomedialog_.html">"packages/core.gbapp/dialogs/<wbr>Welcome<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_dialogs_whoamidialog_.html">"packages/core.gbapp/dialogs/<wbr>Who<wbr>AmIDialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_index_.html">"packages/core.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_models_gbmodel_.html">"packages/core.gbapp/models/GBModel"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbapiservice_.html">"packages/core.gbapp/services/GBAPIService"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbconfigservice_.html">"packages/core.gbapp/services/GBConfig<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbconversationalservice_.html">"packages/core.gbapp/services/GBConversational<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbcoreservice_.html">"packages/core.gbapp/services/GBCore<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbdeployer_.html">"packages/core.gbapp/services/GBDeployer"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbimporterservice_.html">"packages/core.gbapp/services/GBImporter<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbminservice_.html">"packages/core.gbapp/services/GBMin<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbvmservice_.html">"packages/core.gbapp/services/GBVMService"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_tscompiler_.html">"packages/core.gbapp/services/TSCompiler"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_strings_.html">"packages/core.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_dialogs_feedbackdialog_.html">"packages/customer-<wbr>satisfaction.gbapp/dialogs/<wbr>Feedback<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_dialogs_qualitydialog_.html">"packages/customer-<wbr>satisfaction.gbapp/dialogs/<wbr>Quality<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_index_.html">"packages/customer-<wbr>satisfaction.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_models_index_.html">"packages/customer-<wbr>satisfaction.gbapp/models/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_services_csservice_.html">"packages/customer-<wbr>satisfaction.gbapp/services/CSService"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_strings_.html">"packages/customer-<wbr>satisfaction.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_dialogs_askdialog_.html">"packages/kb.gbapp/dialogs/<wbr>Ask<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_dialogs_faqdialog_.html">"packages/kb.gbapp/dialogs/<wbr>Faq<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_dialogs_menudialog_.html">"packages/kb.gbapp/dialogs/<wbr>Menu<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_index_.html">"packages/kb.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_models_index_.html">"packages/kb.gbapp/models/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_services_kbservice_.html">"packages/kb.gbapp/services/KBService"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_strings_.html">"packages/kb.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_security_gblib_index_.html">"packages/security.gblib/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_security_gblib_models_index_.html">"packages/security.gblib/models/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_security_gblib_services_secservice_.html">"packages/security.gblib/services/<wbr>Sec<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_whatsapp_gblib_index_.html">"packages/whatsapp.gblib/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_whatsapp_gblib_services_whatsappdirectline_.html">"packages/whatsapp.gblib/services/<wbr>Whatsapp<wbr>Direct<wbr>Line"</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>&quot;src/app&quot; | botserver</title>
<title>&quot;src/app&quot; | General Bots Open Core</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
@ -22,7 +22,7 @@
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">botserver</a>
<a href="../index.html" class="title">General Bots Open Core</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
@ -83,7 +83,6 @@
<li class="tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported"><a href="_src_app_.html#bodyparser" class="tsd-kind-icon">body<wbr>Parser</a></li>
<li class="tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported"><a href="_src_app_.html#express" class="tsd-kind-icon">express</a></li>
<li class="tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported"><a href="_src_app_.html#logger" class="tsd-kind-icon">logger</a></li>
<li class="tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported"><a href="_src_app_.html#opn" class="tsd-kind-icon">opn</a></li>
</ul>
</section>
</div>
@ -93,51 +92,41 @@
<h2>Variables</h2>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a name="apppackages" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagLet">Let</span> app<wbr>Packages</h3>
<h3><span class="tsd-flag ts-flagConst">Const</span> app<wbr>Packages</h3>
<div class="tsd-signature tsd-kind-icon">app<wbr>Packages<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> =&nbsp;new Array&lt;IGBPackage&gt;()</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/app.ts#L59">src/app.ts:59</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/app.ts#L55">src/app.ts:55</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a name="bodyparser" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> body<wbr>Parser</h3>
<div class="tsd-signature tsd-kind-icon">body<wbr>Parser<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> =&nbsp;require(&quot;body-parser&quot;)</span></div>
<div class="tsd-signature tsd-kind-icon">body<wbr>Parser<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> =&nbsp;require(&#x27;body-parser&#x27;)</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/app.ts#L38">src/app.ts:38</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/app.ts#L42">src/app.ts:42</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a name="express" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> express</h3>
<div class="tsd-signature tsd-kind-icon">express<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> =&nbsp;require(&quot;express&quot;)</span></div>
<div class="tsd-signature tsd-kind-icon">express<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> =&nbsp;require(&#x27;express&#x27;)</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/app.ts#L37">src/app.ts:37</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/app.ts#L41">src/app.ts:41</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a name="logger" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> logger</h3>
<div class="tsd-signature tsd-kind-icon">logger<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> =&nbsp;require(&quot;./logger&quot;)</span></div>
<div class="tsd-signature tsd-kind-icon">logger<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> =&nbsp;require(&#x27;./logger&#x27;)</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/app.ts#L36">src/app.ts:36</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a name="opn" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> opn</h3>
<div class="tsd-signature tsd-kind-icon">opn<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> =&nbsp;require(&#x27;opn&#x27;)</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/app.ts#L39">src/app.ts:39</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/app.ts#L40">src/app.ts:40</a></li>
</ul>
</aside>
</section>
@ -171,9 +160,6 @@
<li class=" tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a href="_src_app_.html#logger" class="tsd-kind-icon">logger</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a href="_src_app_.html#opn" class="tsd-kind-icon">opn</a>
</li>
</ul>
</nav>
</div>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>&quot;src/logger&quot; | botserver</title>
<title>&quot;src/logger&quot; | General Bots Open Core</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
@ -22,7 +22,7 @@
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">botserver</a>
<a href="../index.html" class="title">General Bots Open Core</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
@ -66,6 +66,43 @@
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>\
| ( )_ _ |
| _ _ _ <em>_ _ _ __ <strong>_ _</strong> _ _ | ,</em>)(<em>) <strong>_ _</strong> _ |
| ( &#39;</em><code>\ ( &#39;__)/&#39;_</code> ) /&#39;_ <code>\/&#39; _</code> _ <code>\ /&#39;_</code> )| | | |/&#39;,<strong>)/&#39; _ <code>\ /&#39;_</code>\ |
| | (<em>) )| | ( (</em>| |( (<em>) || ( ) ( ) |( (</em>| || |_ | |\</strong>, | ( ) |( (<em>) ) |
| | ,__/&#39;(</em>) <code>\__,_)</code>__ |(<em>) (</em>) (<em>)`__,</em>)<code>\__)(_)(____/(_) (_)</code>_<strong>/&#39; |
| | | ( )<em>) | |
| (</em>) _</strong>/&#39; |
| |
| General Bots Copyright (c) Pragmatismo.io. All rights reserved. |
| Licensed under the AGPL-3.0. |
| |
| According to our dual licensing model, this program can be used either |
| under the terms of the GNU Affero General Public License, version 3, |
| or under a proprietary license. |
| |
| The texts of the GNU Affero General Public License with an additional |
| permission and of our proprietary license can be found at and |
| in the LICENSE file you have received along with this program. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY, without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU Affero General Public License for more details. |
| |
| &quot;General Bots&quot; is a registered trademark of Pragmatismo.io. |
| The licensing of the program under the AGPLv3 does not imply a |
| trademark license. Therefore any rights, title and interest in |
| our trademarks remain entirely with us. |
| |
\</p>
</div>
</div>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
@ -96,7 +133,7 @@
<div class="tsd-signature tsd-kind-icon">create<wbr>Logger<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L33">src/logger.ts:33</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L37">src/logger.ts:37</a></li>
</ul>
</aside>
</section>
@ -106,17 +143,17 @@
<div class="tsd-signature tsd-kind-icon">format<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L33">src/logger.ts:33</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L37">src/logger.ts:37</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a name="logger" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> logger</h3>
<div class="tsd-signature tsd-kind-icon">logger<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> =&nbsp;createLogger({format: format.combine(format.colorize(),format.simple(),format.label({ label: &#x27;GeneralBots&#x27; }),format.timestamp(),format.printf(nfo &#x3D;&gt; {return &#x60;${nfo.timestamp} [${nfo.label}] ${nfo.level}: ${nfo.message}&#x60;})),levels: config.levels,transports: [new transports.Console()]})</span></div>
<div class="tsd-signature tsd-kind-icon">logger<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> =&nbsp;createLogger({format: format.combine(format.colorize(),format.simple(),format.label({ label: &#x27;GeneralBots&#x27; }),format.timestamp(),format.printf(nfo &#x3D;&gt; {return &#x60;${nfo.timestamp} [${nfo.label}] ${nfo.level}: ${nfo.message}&#x60;;})),levels: config.levels,transports: [new transports.Console()]})</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L58">src/logger.ts:58</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L62">src/logger.ts:62</a></li>
</ul>
</aside>
</section>
@ -126,7 +163,7 @@
<div class="tsd-signature tsd-kind-icon">transports<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L33">src/logger.ts:33</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L37">src/logger.ts:37</a></li>
</ul>
</aside>
</section>
@ -139,7 +176,7 @@
<div class="tsd-signature tsd-kind-icon">config<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L35">src/logger.ts:35</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L39">src/logger.ts:39</a></li>
</ul>
</aside>
<section class="tsd-panel tsd-member tsd-kind-object-literal tsd-parent-kind-object-literal tsd-is-not-exported">
@ -148,7 +185,7 @@
<div class="tsd-signature tsd-kind-icon">colors<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L46">src/logger.ts:46</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L50">src/logger.ts:50</a></li>
</ul>
</aside>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
@ -157,7 +194,7 @@
<div class="tsd-signature tsd-kind-icon">custom<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> =&nbsp;&quot;yellow&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L54">src/logger.ts:54</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L58">src/logger.ts:58</a></li>
</ul>
</aside>
</section>
@ -167,7 +204,7 @@
<div class="tsd-signature tsd-kind-icon">data<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> =&nbsp;&quot;grey&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L50">src/logger.ts:50</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L54">src/logger.ts:54</a></li>
</ul>
</aside>
</section>
@ -177,7 +214,7 @@
<div class="tsd-signature tsd-kind-icon">debug<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> =&nbsp;&quot;blue&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L48">src/logger.ts:48</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L52">src/logger.ts:52</a></li>
</ul>
</aside>
</section>
@ -187,7 +224,7 @@
<div class="tsd-signature tsd-kind-icon">error<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> =&nbsp;&quot;red&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L47">src/logger.ts:47</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L51">src/logger.ts:51</a></li>
</ul>
</aside>
</section>
@ -197,7 +234,7 @@
<div class="tsd-signature tsd-kind-icon">info<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> =&nbsp;&quot;green&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L51">src/logger.ts:51</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L55">src/logger.ts:55</a></li>
</ul>
</aside>
</section>
@ -207,7 +244,7 @@
<div class="tsd-signature tsd-kind-icon">silly<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> =&nbsp;&quot;magenta&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L53">src/logger.ts:53</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L57">src/logger.ts:57</a></li>
</ul>
</aside>
</section>
@ -217,7 +254,7 @@
<div class="tsd-signature tsd-kind-icon">verbose<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> =&nbsp;&quot;cyan&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L52">src/logger.ts:52</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L56">src/logger.ts:56</a></li>
</ul>
</aside>
</section>
@ -227,7 +264,7 @@
<div class="tsd-signature tsd-kind-icon">warn<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> =&nbsp;&quot;yellow&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L49">src/logger.ts:49</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L53">src/logger.ts:53</a></li>
</ul>
</aside>
</section>
@ -238,7 +275,7 @@
<div class="tsd-signature tsd-kind-icon">levels<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L36">src/logger.ts:36</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L40">src/logger.ts:40</a></li>
</ul>
</aside>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
@ -247,7 +284,7 @@
<div class="tsd-signature tsd-kind-icon">custom<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> =&nbsp;7</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L44">src/logger.ts:44</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L48">src/logger.ts:48</a></li>
</ul>
</aside>
</section>
@ -257,7 +294,7 @@
<div class="tsd-signature tsd-kind-icon">data<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> =&nbsp;3</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L40">src/logger.ts:40</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L44">src/logger.ts:44</a></li>
</ul>
</aside>
</section>
@ -267,7 +304,7 @@
<div class="tsd-signature tsd-kind-icon">debug<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> =&nbsp;1</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L38">src/logger.ts:38</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L42">src/logger.ts:42</a></li>
</ul>
</aside>
</section>
@ -277,7 +314,7 @@
<div class="tsd-signature tsd-kind-icon">error<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> =&nbsp;0</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L37">src/logger.ts:37</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L41">src/logger.ts:41</a></li>
</ul>
</aside>
</section>
@ -287,7 +324,7 @@
<div class="tsd-signature tsd-kind-icon">info<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> =&nbsp;4</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L41">src/logger.ts:41</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L45">src/logger.ts:45</a></li>
</ul>
</aside>
</section>
@ -297,7 +334,7 @@
<div class="tsd-signature tsd-kind-icon">silly<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> =&nbsp;6</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L43">src/logger.ts:43</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L47">src/logger.ts:47</a></li>
</ul>
</aside>
</section>
@ -307,7 +344,7 @@
<div class="tsd-signature tsd-kind-icon">verbose<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> =&nbsp;5</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L42">src/logger.ts:42</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L46">src/logger.ts:46</a></li>
</ul>
</aside>
</section>
@ -317,7 +354,7 @@
<div class="tsd-signature tsd-kind-icon">warn<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> =&nbsp;2</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/pragmatismo-io/botserver/blob/ecf2ba3/src/logger.ts#L39">src/logger.ts:39</a></li>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L43">src/logger.ts:43</a></li>
</ul>
</aside>
</section>

26
package-lock.json generated
View file

@ -1,6 +1,6 @@
{
"name": "botserver",
"version": "1.1.0",
"version": "1.1.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@ -7221,7 +7221,8 @@
},
"ansi-regex": {
"version": "2.1.1",
"bundled": true
"bundled": true,
"optional": true
},
"aproba": {
"version": "1.2.0",
@ -7586,7 +7587,8 @@
},
"safe-buffer": {
"version": "5.1.1",
"bundled": true
"bundled": true,
"optional": true
},
"safer-buffer": {
"version": "2.1.2",
@ -7634,6 +7636,7 @@
"strip-ansi": {
"version": "3.0.1",
"bundled": true,
"optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@ -7672,11 +7675,13 @@
},
"wrappy": {
"version": "1.0.2",
"bundled": true
"bundled": true,
"optional": true
},
"yallist": {
"version": "3.0.2",
"bundled": true
"bundled": true,
"optional": true
}
}
},
@ -14067,7 +14072,6 @@
"align-text": {
"version": "0.1.4",
"bundled": true,
"optional": true,
"requires": {
"kind-of": "^3.0.2",
"longest": "^1.0.1",
@ -14347,8 +14351,7 @@
},
"is-buffer": {
"version": "1.1.6",
"bundled": true,
"optional": true
"bundled": true
},
"is-builtin-module": {
"version": "1.0.0",
@ -14420,7 +14423,6 @@
"kind-of": {
"version": "3.2.2",
"bundled": true,
"optional": true,
"requires": {
"is-buffer": "^1.1.5"
}
@ -14461,8 +14463,7 @@
},
"longest": {
"version": "1.0.1",
"bundled": true,
"optional": true
"bundled": true
},
"lru-cache": {
"version": "4.1.3",
@ -14691,8 +14692,7 @@
},
"repeat-string": {
"version": "1.6.1",
"bundled": true,
"optional": true
"bundled": true
},
"require-directory": {
"version": "2.1.1",

View file

@ -96,7 +96,7 @@ export class GBAdminService {
maximumLength: 14
};
let password = passwordGenerator.generatePassword(options);
password = password.replace(/@[=:;\?]/g, '#');
password = password.replace(/[\@\[\=\:\;\?]/g, '#');
return password;
}

View file

@ -1,329 +1,47 @@
input[type="file"] {
display: none !important;
.webchat > div {
height: 100%;
width: 100%;
}
input#wc-upload-input {
display: none;
}
.wc-carousel button.scroll {
border: none;
background-color: #3f3f3f !important
}
.wc-carousel button.scroll:hover {
border: none;
background-color: #27baf1 !important
}
.wc-carousel {
width: 100% !important;
max-width: 850px;
}
.wc-carousel button.scroll.previous {
left: 0%;
padding: 6px;
width: 40px;
height: 40px;
top: -39px;
cursor: pointer;
}
.wc-carousel button.scroll.next {
left: 6%;
padding: 6px;
width: 40px;
height: 40px;
top: -39px;
cursor: pointer;
}
.wc-hscroll-outer {
margin-top: 50px;
}
.wc-message-from-me a.wc-link-download:active .wc-icon-download {
background-repeat: no-repeat;
}
.wc-message-from-me.wc-message-from {
text-align: right;
margin-right: 15px !important;
}
.wc-carousel .wc-hscroll > ul {
padding-left: 0;
}
.wc-message-from-me .wc-message-content {
background-color: transparent !important;
color: inherit !important;
margin-right: 15px !important;
}
.wc-message-from-bot .wc-message-content {
background-color: transparent !important;
color: inherit !important;
}
.wc-message-content {
border-radius: inherit !important;
box-shadow: inherit !important;
padding: inherit !important;
word-break: inherit !important;
}
.wc-chatview-panel ul {
margin: 5px;
list-style-type: none;
}
.wc-carousel .wc-hscroll > ul {
padding-left: 0;
height: 400px;
;
}
.wc-carousel li .wc-adaptive-card p {
margin-top: 10px !important;
}
.wc-upload {
display: none !important;
}
.wc-header span {
display: none !important;
}
.wc-header {
position: relative !important;
background-color: #272727 !important;
background-image: url("../images/logo-Pragmatismo.png");
background-position-x: 15px;
background-position-y: 15px;
background-size: 268px;
background-repeat: no-repeat;
padding-bottom: 15px;
}
@media screen and (max-height:480px) {
.wc-message-pane {
position: relative !important;
background-image: url("../../chat/chat-background.png");
background: white;
background-repeat: no-repeat;
height: 64%;
}
}
@media screen and (min-height:480px) and (max-height:700px) {
.wc-message-pane {
position: relative !important;
background-image: url("../../chat/chat-background.png");
background: white;
background-repeat: no-repeat;
height: 76%;
}
}
@media screen and (min-height:700px) {
.wc-message-pane {
position: relative !important;
background-image: url("../../chat/chat-background.png");
background: white;
background-repeat: no-repeat;
height: 85%;
}
}
.wc-console .wc-textbox {
bottom: 0;
left: 9px;
right: 49px;
}
.wc-adaptive-card {
width: 150px;
}
.wc-card button {
text-decoration: none;
text-transform: uppercase;
background-color: #3f3f3f !important;
color: white;
padding: 10px;
display: block;
transition: 0.9s;
transition-delay: 0.3s;
border: none;
transition: 1s !important;
}
.wc-card button:hover {
background: #272727 !important;
color: white !important;
transition: 1s !important;
}
.wc-carousel li .wc-adaptive-card p {
text-align: center;
}
.wc-card h1 {
font-size: 8pt;
text-overflow: ellipsis;
}
.wc-card hero {
margin: 10px !important;
}
.wc-card li button {
font-size: 9pt !important;
margin: 2px !important;
padding: 5px !important;
text-transform: unset !important;
white-space: nowrap;
width: auto !important;
}
h2 {
font-size: 8pt !important;
}
.wc-card {
width: 150px !important;
height: 200px !important;
border: none;
}
.wc-card p {
height: 56px;
}
.ac-pushButton {
cursor: pointer;
}
.ac-container {
background-color: #e9e9e9 !important;
}
.wc-chatview-panel {
background-color: white !important;
left: 57%;
right: 0%;
top: 0;
bottom: 0;
}
.wc-console.has-text .wc-send svg {
fill: #cca064
}
.wc-message-from-me svg.wc-message-callout path {
fill: #cca064
}
.wc-console .wc-textbox input {
color: white;
.webchat {
background-color: white !important;
left: 57%;
right: 0%;
top: 0;
bottom: 0;
overflow: auto !important;
}
@media screen and (max-width: 1000px) {
.wc-chatview-panel {
display: inline-block !important;
width: 96% !important;
height: 57% !important;
font-family: "Open Sans", sans-serif;
font-size: 14px;
left: 50%;
top: 41%;
overflow: hidden;
position: absolute;
margin-left: -48%;
}
.wc-message-groups {
top: 53px;
bottom: 0;
position: absolute !important;
max-height: 70%;
overflow: auto;
}
.webchat {
display: inline-block !important;
width: 96% !important;
height: 57% !important;
font-family: 'Open Sans', sans-serif;
font-size: 14px;
left: 50%;
top: 41%;
.wc-message-pane {
position: static !important;
}
.wc-console {
position: absolute !important;
border: none !important;
background-color: #4f4f4f !important;
height: 40px !important;
}
.wc-message-group-content {
margin-top: 0px !important
}
position: absolute;
margin-left: -48%;
}
}
@media screen and (min-width: 1000px) {
.wc-chatview-panel {
display: inline-block !important;
width: 50% !important;
font-family: "Open Sans", sans-serif;
font-size: 14px;
top: 1% !important;
overflow: hidden;
height: 96%;
position: absolute;
right: 0;
margin-left: -8%;
position: absolute;
top: 0;
bottom: 0;
border-bottom: 4px solid #4f4f4f;
}
.wc-message-groups {
top: 0;
bottom: 0;
height: 100%;
position: static !important;
}
.wc-console {
position: absolute !important;
border: none !important;
background-color: #4f4f4f !important;
height: 40px !important;
}
.webchat {
display: inline-block !important;
width: 50% !important;
font-family: 'Open Sans', sans-serif;
font-size: 14px;
top: 1% !important;
height: 96%;
position: absolute;
right: 0;
margin-left: -8%;
position: absolute;
top: 0;
bottom: 0;
border-bottom: 4px solid #4f4f4f;
}
}
@media screen and (max-width: 520px) {
.wc-header {
position: relative !important;
background-color: #272727 !important;
background-image: url("../images/logo-Pragmatismo.png"), url(../images/logo_General_BotS.png);
background-position-x: 15px, right;
background-position-y: 15px, 2px;
background-size: 238px, 75px;
background-repeat: no-repeat;
padding-bottom: 15px;
}
}
@media screen and (max-height: 684px) {
.wc-header {
position: relative !important;
background-color: #272727 !important;
background-image: url("../images/logo-Pragmatismo.png"), url(../images/logo_General_BotS.png);
background-position-x: 15px, right;
background-position-y: 15px, 2px;
background-size: 238px, 75px;
background-repeat: no-repeat;
padding-bottom: 15px;
}
}

View file

@ -0,0 +1,50 @@
{
"accent": "Red",
"avatarSize": 40,
"backgroundColor": "White",
"bubbleBackground": "White",
"bubbleBorder": "solid 1px #E6E6E6",
"bubbleBorderRadius": 2,
"bubbleFromUserBackground": "White",
"bubbleFromUserBorder": "solid 1px #E6E6E6",
"bubbleFromUserBorderRadius": 2,
"bubbleFromUserTextColor": "Black",
"bubbleImageHeight": 240,
"bubbleMaxWidth": 480,
"bubbleMinHeight": 40,
"bubbleMinWidth": 250,
"bubbleTextColor": "Black",
"hideSendBox": false,
"microphoneButtonColorOnDictate": "#F33",
"paddingRegular": 10,
"paddingWide": 20,
"sendBoxButtonColor": "#999",
"sendBoxButtonColorOnDisabled": "#CCC",
"sendBoxButtonColorOnFocus": "#333",
"sendBoxButtonColorOnHover": "#333",
"sendBoxHeight": 40,
"showSpokenText": false,
"suggestedActionBackground": "White",
"suggestedActionBorder": "solid 2px",
"suggestedActionBorderRadius": 0,
"suggestedActionDisabledBackground": "White",
"suggestedActionDisabledBorder": "solid 2px #E6E6E6",
"suggestedActionHeight": 40,
"transcriptOverlayButtonBackground": "rgba(0, 0, 0, .6)",
"transcriptOverlayButtonBackgroundOnFocus": "rgba(0, 0, 0, .8)",
"transcriptOverlayButtonBackgroundOnHover": "rgba(0, 0, 0, .8)",
"transcriptOverlayButtonColor": "White",
"transcriptOverlayButtonColorOnFocus": "White",
"transcriptOverlayButtonColorOnHover": "White",
"videoHeight": 270
}

File diff suppressed because it is too large Load diff

View file

@ -7,23 +7,22 @@
"license": "AGPL-3.0",
"homepage": ".",
"dependencies": {
"ajv": "^6.5.4",
"botframework-directlinejs": "^0.10.0",
"botframework-webchat": "0.14.3-master.72bfef9",
"deep-extend": "^0.6.0",
"fetch": "^1.1.0",
"msal": "^0.2.3",
"powerbi-client": "^2.6.5",
"react": "^16.6.0",
"react-dom": "^16.6.0",
"react-helmet": "^5.2.0",
"react-player": "^1.6.6",
"react-powerbi": "^0.3.1",
"react-scripts": "^2.1.1",
"react-transition-group": "^2.5.0",
"rxjs": "^5.5.12",
"rxjs-compat": "^6.3.3",
"url-join": "^4.0.0"
"ajv": "6.6.1",
"botframework-directlinejs": "0.10.0",
"botframework-webchat": "4.2.0",
"deep-extend": "0.6.0",
"fetch": "1.1.0",
"msal": "0.2.3",
"powerbi-client": "2.6.5",
"react": "16.6.3",
"react-dom": "16.6.3",
"react-helmet": "5.2.0",
"react-player": "1.7.1",
"react-powerbi": "0.3.1",
"react-scripts": "2.1.1",
"react-transition-group": "2.5.1",
"rxjs": "^6.3.3",
"url-join": "4.0.0"
},
"scripts": {
"start": "react-scripts start",

File diff suppressed because one or more lines are too long

View file

@ -38,9 +38,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
<link rel="stylesheet" type="text/css" href="./css/botchat.css" />
<link rel="stylesheet" type="text/css" href="./css/pragmatismo.css" />
<script src="./js/botchat.js"></script>
<script src="https://cdn.botframework.com/botframework-webchat/latest/webchat.js"></script>
<title>General Bots Community Edition | pragmatismo.io</title>
<style>

File diff suppressed because one or more lines are too long

View file

@ -30,333 +30,321 @@
| |
\*****************************************************************************/
import React from "react";
import GBMarkdownPlayer from "./players/GBMarkdownPlayer.js";
import GBImagePlayer from "./players/GBImagePlayer.js";
import GBVideoPlayer from "./players/GBVideoPlayer.js";
import GBLoginPlayer from "./players/GBLoginPlayer.js";
import GBBulletPlayer from "./players/GBBulletPlayer.js";
import SidebarMenu from "./components/SidebarMenu.js";
import GBCss from "./components/GBCss.js";
import { DirectLine } from "botframework-directlinejs";
import { ConnectionStatus } from "botframework-directlinejs";
import { Chat } from "botframework-webchat";
import GBPowerBIPlayer from "./players/GBPowerBIPlayer.js";
import { UserAgentApplication } from "msal";
import React from 'react';
import GBMarkdownPlayer from './players/GBMarkdownPlayer.js';
import GBImagePlayer from './players/GBImagePlayer.js';
import GBVideoPlayer from './players/GBVideoPlayer.js';
import GBLoginPlayer from './players/GBLoginPlayer.js';
import GBBulletPlayer from './players/GBBulletPlayer.js';
import SidebarMenu from './components/SidebarMenu.js';
import GBCss from './components/GBCss.js';
import { DirectLine } from 'botframework-directlinejs';
import { ConnectionStatus } from 'botframework-directlinejs';
import ReactWebChat from 'botframework-webchat';
import GBPowerBIPlayer from './players/GBPowerBIPlayer.js';
import { UserAgentApplication } from 'msal';
class GBUIApp extends React.Component {
constructor() {
super();
constructor() {
super();
this.state = {
line: null,
instance: null,
token: null,
instanceClient: null
};
window.user = this.getUser()
}
this.state = {
line: null,
instance: null,
token: null,
instanceClient: null
};
window.user = this.getUser();
}
sendToken(token) {
setTimeout(() => {
window.line
.postActivity({
type: "event",
name: "updateToken",
data: token,
locale: "en-us",
textFormat: "plain",
timestamp: new Date().toISOString(),
from: this.getUser()
})
.subscribe(() => {
window.userAgentApplication.logout();
console.log("updateToken done")
});
}, 400);
}
send(command) {
window.line
.postActivity({
type: "event",
name: command,
locale: "en-us",
textFormat: "plain",
timestamp: new Date().toISOString(),
from: this.getUser()
})
.subscribe(console.log("EVENT SENT TO Guaribas."));
}
getUser() {
return { id: "webUser@gb", name: "You" };
}
postEvent(name, value) {
window.line.postActivity({
type: "event",
value: value,
from: this.getUser(),
name: name
sendToken(token) {
setTimeout(() => {
window.line
.postActivity({
type: 'event',
name: 'updateToken',
data: token,
locale: 'en-us',
textFormat: 'plain',
timestamp: new Date().toISOString(),
from: this.getUser()
})
.subscribe(() => {
window.userAgentApplication.logout();
console.log('updateToken done');
});
}, 400);
}
send(command) {
window.line
.postActivity({
type: 'event',
name: command,
locale: 'en-us',
textFormat: 'plain',
timestamp: new Date().toISOString(),
from: this.getUser()
})
.subscribe(console.log('EVENT SENT TO Guaribas.'));
}
getUser() {
return { id: 'webUser@gb', name: 'You' };
}
postEvent(name, value) {
window.line.postActivity({
type: 'event',
value: value,
from: this.getUser(),
name: name
});
}
postMessage(value) {
window.line.postActivity({
type: 'message',
text: value,
from: this.getUser()
});
}
configureChat() {
var botId = window.location.href.split('/')[3];
if (botId.indexOf('#') !== -1) {
botId = botId.split('#')[0];
}
postMessage(value) {
window.line.postActivity({
type: "message",
text: value,
from: this.getUser()
});
if (!botId || botId === '') {
botId = '[default]';
}
configureChat() {
var botId = window.location.href.split("/")[3];
if (botId.indexOf('#') !== -1) {
botId = botId.split("#")[0];
fetch('/instances/' + botId)
.then(res => res.json())
.then(
result => {
this.setState({ instanceClient: result });
this.setupBotConnection();
},
error => {
this.setState({
isLoaded: false,
err: error
});
}
);
}
if (!botId || botId === "") {
botId = "[default]";
authenticate() {
let _this_ = this;
let authority = 'https://login.microsoftonline.com/' + this.state.instanceClient.authenticatorTenant;
let graphScopes = ['Directory.AccessAsUser.All'];
let userAgentApplication = new UserAgentApplication(
this.state.instanceClient.authenticatorClientId,
authority,
function (errorDesc, token, error, tokenType) {
if (error) {
console.log(error);
}
}
);
window.userAgentApplication = userAgentApplication;
fetch("/instances/" + botId)
.then(res => res.json())
.then(
result => {
this.setState({ instanceClient: result });
this.setupBotConnection();
},
error => {
this.setState({
isLoaded: false,
err: error
});
}
);
}
authenticate() {
let _this_ = this;
let authority =
"https://login.microsoftonline.com/" +
this.state.instanceClient.authenticatorTenant;
let graphScopes = ["Directory.AccessAsUser.All"];
let userAgentApplication = new UserAgentApplication(
this.state.instanceClient.authenticatorClientId,
authority,
function(errorDesc, token, error, tokenType) {
if (error) {
console.log(error);
}
}
if (!userAgentApplication.isCallback(window.location.hash) && window.parent === window && !window.opener) {
var user = userAgentApplication.getUser();
if (user) {
userAgentApplication.acquireTokenSilent(graphScopes).then(
function (accessToken) {
_this_.sendToken(accessToken);
},
function (error) {
console.log(error);
}
);
window.userAgentApplication = userAgentApplication;
if (!userAgentApplication.isCallback(window.location.hash) && window.parent === window && !window.opener) {
var user = userAgentApplication.getUser();
if (user) {
userAgentApplication.acquireTokenSilent(graphScopes).then(function(accessToken) {
_this_.sendToken(accessToken);
}, function(error) {
console.log(error);
})
}
}
}
}
}
setupBotConnection() {
let _this_ = this;
window["botchatDebug"] = true;
setupBotConnection() {
let _this_ = this;
window['botchatDebug'] = true;
const line = new DirectLine({
secret: this.state.instanceClient.secret
const line = new DirectLine({
secret: this.state.instanceClient.secret
});
line.connectionStatus$.subscribe(connectionStatus => {
if (connectionStatus === ConnectionStatus.Online) {
_this_.setState({ line: line });
line.postActivity({
type: 'event',
value: 'startGB',
from: this.getUser(),
name: 'startGB'
});
}
});
line.connectionStatus$.subscribe(connectionStatus => {
if (connectionStatus === ConnectionStatus.Online) {
_this_.setState({ line: line });
line.postActivity({
type: "event",
value: "startGB",
from: this.getUser(),
name: "startGB"
});
}
});
window.line = line;
this.postEvent('startGB', true);
window.line = line;
this.postEvent("startGB", true);
line.activity$
.filter(activity => activity.type === 'event' && activity.name === 'loadInstance')
.subscribe(activity => {
_this_.setState({ instance: activity.value });
_this_.authenticate();
});
line.activity$
.filter(
activity =>
activity.type === "event" && activity.name === "loadInstance"
)
.subscribe(activity => {
_this_.setState({ instance: activity.value });
_this_.authenticate()
});
line.activity$
.filter(activity => activity.type === 'event' && activity.name === 'stop')
.subscribe(activity => {
if (_this_.player) {
_this_.player.stop();
}
});
line.activity$
.filter(activity => activity.type === "event" && activity.name === "stop")
.subscribe(activity => {
if (_this_.player) {
_this_.player.stop();
}
});
line.activity$
.filter(activity => activity.type === 'event' && activity.name === 'play')
.subscribe(activity => {
_this_.setState({ playerType: activity.value.playerType });
_this_.player.play(activity.value.data);
});
}
line.activity$
.filter(activity => activity.type === "event" && activity.name === "play")
.subscribe(activity => {
_this_.setState({ playerType: activity.value.playerType });
_this_.player.play(activity.value.data);
});
componentDidMount() {
this.configureChat();
}
render() {
let playerComponent = '';
if (this.state.playerType) {
switch (this.state.playerType) {
case 'markdown':
playerComponent = (
<GBMarkdownPlayer
app={this}
ref={player => {
this.player = player;
}}
/>
);
break;
case 'bullet':
playerComponent = (
<GBBulletPlayer
app={this}
ref={player => {
this.player = player;
}}
/>
);
break;
case 'video':
playerComponent = (
<GBVideoPlayer
app={this}
ref={player => {
this.player = player;
}}
/>
);
break;
case 'image':
playerComponent = (
<GBImagePlayer
app={this}
ref={player => {
this.player = player;
}}
/>
);
break;
case 'pbi':
playerComponent = (
<GBPowerBIPlayer
app={this}
ref={player => {
this.player = player;
}}
/>
);
break;
case 'login':
playerComponent = (
<GBLoginPlayer
app={this}
ref={player => {
this.player = player;
}}
/>
);
break;
default:
console.log('GBERROR: Unknow player type specified on message from server.');
break;
}
}
componentDidMount() {
this.configureChat();
let chat = <div />;
let gbCss = <div />;
let sideBar = (
<div className="sidebar">
<SidebarMenu chat={this.chat} instance={this.state.instance} />
</div>
);
if (this.state.line) {
// let speechOptions;
// let token = this.state.instanceClient.speechToken;
// speechOptions = {
// speechRecognizer: new SpeechRecognizer({
// locale: "pt-br",
// fetchCallback: (authFetchEventId) => getToken(),
// fetchOnExpiryCallback: (authFetchEventId) => getToken()
// }),
// speechSynthesizer: new SpeechSynthesizer({
// fetchCallback: (authFetchEventId) => getToken(),
// fetchOnExpiryCallback: (authFetchEventId) => getToken(),
// gender: SynthesisGender.Male,
// voiceName: 'Microsoft Server Speech Text to Speech Voice (pt-BR, Daniel, Apollo)'
// })
// };
chat = (
<ReactWebChat
ref={chat => {
this.chat = chat;
}}
locale={'pt-br'}
directLine={this.state.line}
user={this.getUser()}
bot={{ id: 'bot@gb', name: 'Bot' }}
// speechOptions={speechOptions}
/>
);
}
render() {
let playerComponent = "";
if (this.state.playerType) {
switch (this.state.playerType) {
case "markdown":
playerComponent = (
<GBMarkdownPlayer
app={this}
ref={player => {
this.player = player;
}}
/>
);
break;
case "bullet":
playerComponent = (
<GBBulletPlayer
app={this}
ref={player => {
this.player = player;
}}
/>
);
break;
case "video":
playerComponent = (
<GBVideoPlayer
app={this}
ref={player => {
this.player = player;
}}
/>
);
break;
case "image":
playerComponent = (
<GBImagePlayer
app={this}
ref={player => {
this.player = player;
}}
/>
);
break;
case "pbi":
playerComponent = (
<GBPowerBIPlayer
app={this}
ref={player => {
this.player = player;
}}
/>
);
break;
case "login":
playerComponent = (
<GBLoginPlayer
app={this}
ref={player => {
this.player = player;
}}
/>
);
break;
default:
console.log(
"GBERROR: Unknow player type specified on message from server."
);
break;
}
}
let chat = <div />;
let gbCss = <div />;
let sideBar = (
<div className="sidebar">
<SidebarMenu chat={this.chat} instance={this.state.instance} />
</div>
);
if (this.state.line && this.state.instance) {
gbCss = <GBCss instance={this.state.instance} />;
// let speechOptions;
// let token = this.state.instanceClient.speechToken;
// speechOptions = {
// speechRecognizer: new SpeechRecognizer({
// locale: "pt-br",
// fetchCallback: (authFetchEventId) => getToken(),
// fetchOnExpiryCallback: (authFetchEventId) => getToken()
// }),
// speechSynthesizer: new SpeechSynthesizer({
// fetchCallback: (authFetchEventId) => getToken(),
// fetchOnExpiryCallback: (authFetchEventId) => getToken(),
// gender: SynthesisGender.Male,
// voiceName: 'Microsoft Server Speech Text to Speech Voice (pt-BR, Daniel, Apollo)'
// })
// };
chat = (
<Chat
ref={chat => {
this.chat = chat;
}}
locale={'pt-br'}
botConnection={this.state.line}
user={this.getUser()}
bot={{ id: "bot@gb", name: "Bot" }}
// speechOptions={speechOptions}
/>
);
}
if (!this.state.instance) {
sideBar = "";
}
return (
<div>
{gbCss}
{sideBar}
<div className="player">{playerComponent}</div>
{chat}
</div>
);
if (!this.state.instance) {
sideBar = '';
} else {
gbCss = <GBCss instance={this.state.instance} />;
}
return (
<div>
{gbCss}
{sideBar}
<div className="player">{playerComponent}</div>
<div className="webchat">{chat}</div>
</div>
);
}
}
export default GBUIApp;

View file

@ -6,8 +6,6 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title>Independent line for General Bots based on BOT Framework Webchat Control</title>
<link href="botchat.css" rel="stylesheet" />
<style>
html,
body {