@tiledesk/tiledesk-server 2.2.36 → 2.2.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -1
- package/README.md +19 -18
- package/app.js +15 -3
- package/channels/chat21/chat21Handler.js +2 -1
- package/config/labels/widget.json +320 -0
- package/package.json +9 -7
- package/pubmodules/emailNotification/requestNotification.js +10 -0
- package/pubmodules/pubModulesManager.js +11 -2
- package/pubmodules/rasa/index.js +8 -1
- package/pubmodules/rasa/listener.js +28 -7
- package/pubmodules/scheduler/tasks/closeBotUnresponsiveRequestTask.js +2 -2
- package/routes/request.js +3 -2
- package/services/faqBotHandler.js +2 -2
- package/services/faqBotSupport.js +0 -1
- package/services/modulesManager.js +15 -0
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -25,23 +25,6 @@ Use [Docker Compose Tiledesk installation guide](https://github.com/Tiledesk/til
|
|
|
25
25
|
|
|
26
26
|
# Running Tiledesk Server
|
|
27
27
|
|
|
28
|
-
## Run locally with npm
|
|
29
|
-
|
|
30
|
-
Steps to run with npm:
|
|
31
|
-
|
|
32
|
-
```
|
|
33
|
-
npm install -g @tiledesk/tiledesk-server mongodb-runner
|
|
34
|
-
mongodb-runner start
|
|
35
|
-
curl https://raw.githubusercontent.com/Tiledesk/tiledesk-server/master/.env.sample --output .env
|
|
36
|
-
nano .env #configure .env file properly
|
|
37
|
-
tiledesk-server
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
If you want to load .env file from another path: `DOTENV_PATH=/MY/ABSOLUTE/PATH/.env tiledesk-server`
|
|
41
|
-
|
|
42
|
-
Note: If installation with -g fails due to permission problems (npm ERR! code 'EACCES'), please refer to this [link](https://docs.npmjs.com/getting-started/fixing-npm-permissions).
|
|
43
|
-
|
|
44
|
-
|
|
45
28
|
## Using Docker
|
|
46
29
|
|
|
47
30
|
|
|
@@ -65,12 +48,30 @@ Otherwise if you want to run tiledesk only with docker run :
|
|
|
65
48
|
docker run -p 3000:3000 --env DATABASE_URI="mongodb://YOUR_MONGO_INSTALLATION_ENDPOINT/tiledesk-server" --env-file .env tiledesk/tiledesk-server
|
|
66
49
|
```
|
|
67
50
|
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
## Run locally with npm
|
|
54
|
+
|
|
55
|
+
Steps to run with npm:
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
npm install -g @tiledesk/tiledesk-server mongodb-runner
|
|
59
|
+
mongodb-runner start
|
|
60
|
+
curl https://raw.githubusercontent.com/Tiledesk/tiledesk-server/master/.env.sample --output .env
|
|
61
|
+
nano .env #configure .env file properly
|
|
62
|
+
tiledesk-server
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
If you want to load .env file from another path: `DOTENV_PATH=/MY/ABSOLUTE/PATH/.env tiledesk-server`
|
|
66
|
+
|
|
67
|
+
Note: If installation with -g fails due to permission problems (npm ERR! code 'EACCES'), please refer to this [link](https://docs.npmjs.com/getting-started/fixing-npm-permissions).
|
|
68
|
+
|
|
68
69
|
## Install from source code
|
|
69
70
|
|
|
70
71
|
* Clone this repo
|
|
71
72
|
* Install dependencies with `npm install`
|
|
72
73
|
* Configure the tiledesk .env file. You can see an example in the file .env.sample under the root folder. Rename it from .env.sample to .env and configure it properly.
|
|
73
|
-
* Run the app with the command `npm start
|
|
74
|
+
* Run the app with the command `npm start`.
|
|
74
75
|
|
|
75
76
|
|
|
76
77
|
## Deploy on Heroku
|
package/app.js
CHANGED
|
@@ -30,6 +30,7 @@ var Project = require("./models/project");
|
|
|
30
30
|
var validtoken = require('./middleware/valid-token');
|
|
31
31
|
var roleChecker = require('./middleware/has-role');
|
|
32
32
|
|
|
33
|
+
const MaskData = require("maskdata");
|
|
33
34
|
var winston = require('./config/winston');
|
|
34
35
|
|
|
35
36
|
// https://bretkikehara.wordpress.com/2013/05/02/nodejs-creating-your-first-global-module/
|
|
@@ -43,7 +44,18 @@ if (process.env.NODE_ENV == 'test') {
|
|
|
43
44
|
databaseUri = config.databasetest;
|
|
44
45
|
}
|
|
45
46
|
|
|
46
|
-
|
|
47
|
+
const masked_databaseUri = MaskData.maskPhone(databaseUri, {
|
|
48
|
+
maskWith : "*",
|
|
49
|
+
unmaskedStartDigits: 15,
|
|
50
|
+
unmaskedEndDigits: 5
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
if (process.env.DISABLE_MONGO_PASSWORD_MASK ==true || process.env.DISABLE_MONGO_PASSWORD_MASK == "true") {
|
|
54
|
+
winston.info("DatabaseUri: " + databaseUri);
|
|
55
|
+
}else {
|
|
56
|
+
winston.info("DatabaseUri: " + masked_databaseUri);
|
|
57
|
+
}
|
|
58
|
+
|
|
47
59
|
|
|
48
60
|
var autoIndex = true;
|
|
49
61
|
if (process.env.MONGOOSE_AUTOINDEX) {
|
|
@@ -123,8 +135,7 @@ var faqBotHandler = require('./services/faqBotHandler');
|
|
|
123
135
|
faqBotHandler.listen();
|
|
124
136
|
|
|
125
137
|
var pubModulesManager = require('./pubmodules/pubModulesManager');
|
|
126
|
-
|
|
127
|
-
|
|
138
|
+
pubModulesManager.init({express:express, mongoose:mongoose, passport:passport, databaseUri:databaseUri, routes:{}});
|
|
128
139
|
|
|
129
140
|
var channelManager = require('./channels/channelManager');
|
|
130
141
|
channelManager.listen();
|
|
@@ -133,6 +144,7 @@ const ipfilter = require('express-ipfilter').IpFilter
|
|
|
133
144
|
// const IpDeniedError = require('express-ipfilter').IpDeniedError;
|
|
134
145
|
|
|
135
146
|
|
|
147
|
+
|
|
136
148
|
var modulesManager = undefined;
|
|
137
149
|
try {
|
|
138
150
|
modulesManager = require('./services/modulesManager');
|
|
@@ -56,8 +56,9 @@ class Chat21Handler {
|
|
|
56
56
|
typing(message, timestamp) {
|
|
57
57
|
return new Promise(function (resolve, reject) {
|
|
58
58
|
|
|
59
|
+
// if privateFor skip typing
|
|
59
60
|
//no typing for subtype info
|
|
60
|
-
if (message.attributes && message.attributes.subtype && message.attributes.subtype==='info') {
|
|
61
|
+
if (message.attributes && message.attributes.subtype && (message.attributes.subtype==='info' || message.attributes.subtype==='private')) {
|
|
61
62
|
return resolve();
|
|
62
63
|
}else {
|
|
63
64
|
chat21.conversations.typing(message.recipient, message.sender, message.text, timestamp).finally(function() {
|
|
@@ -936,6 +936,326 @@
|
|
|
936
936
|
"LABEL_PRECHAT_ACCEPT_TERMS_PRIVACY": "я згоден",
|
|
937
937
|
"PRECHAT_REQUIRED_ERROR": "Це поле є обов'язковим"
|
|
938
938
|
}
|
|
939
|
+
},
|
|
940
|
+
{
|
|
941
|
+
"lang":"SV",
|
|
942
|
+
"data":
|
|
943
|
+
{
|
|
944
|
+
"LABEL_PLACEHOLDER": "skriv ditt meddelande..",
|
|
945
|
+
"LABEL_START_NW_CONV": "Ny konversation",
|
|
946
|
+
"LABEL_FIRST_MSG": "Beskriv kort ditt problem, du kommer att kontaktas av en agent.",
|
|
947
|
+
"LABEL_FIRST_MSG_NO_AGENTS": "🤔 Alla operatörer är offline för tillfället. Du kan hur som helst beskriva ditt problem. Det kommer att tilldelas supportteamet som återkommer till dig så snart som möjligt.",
|
|
948
|
+
"LABEL_FIRST_MSG_OPERATING_HOURS_CLOSED": "🤔 Våra kontor är stängda. Du kan hur som helst beskriva ditt problem. Det kommer att tilldelas supportteamet som återkommer till dig så snart som möjligt.",
|
|
949
|
+
"LABEL_SELECT_TOPIC": "Välj ett ämne",
|
|
950
|
+
"LABEL_COMPLETE_FORM": "Fyll i formuläret för att starta en konversation med nästa tillgängliga agent.",
|
|
951
|
+
"LABEL_FIELD_NAME": "namn",
|
|
952
|
+
"LABEL_ERROR_FIELD_NAME": "Obligatoriskt fält (minst 5 tecken).",
|
|
953
|
+
"LABEL_FIELD_EMAIL": "E-post",
|
|
954
|
+
"LABEL_ERROR_FIELD_EMAIL": "Ange en giltig e-postadress.",
|
|
955
|
+
"LABEL_WRITING": "skriver...",
|
|
956
|
+
"AGENT_NOT_AVAILABLE": " Off-line",
|
|
957
|
+
"AGENT_AVAILABLE": " Uppkopplad",
|
|
958
|
+
"GUEST_LABEL": "Gäst",
|
|
959
|
+
"ALL_AGENTS_OFFLINE_LABEL": "Alla operatörer är offline för tillfället",
|
|
960
|
+
"LABEL_LOADING": "Läser in...",
|
|
961
|
+
"CALLOUT_TITLE_PLACEHOLDER": "🖐 Behöver du hjälp?",
|
|
962
|
+
"CALLOUT_MSG_PLACEHOLDER": "Klicka här och börja chatta med oss!",
|
|
963
|
+
"CUSTOMER_SATISFACTION": "Kundnöjdhet",
|
|
964
|
+
"YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE": "Din åsikt om vår kundtjänst",
|
|
965
|
+
"DOWNLOAD_TRANSCRIPT": "Ladda ner avskrift",
|
|
966
|
+
"BACK": "Tillbaka",
|
|
967
|
+
"YOUR_RATING": "ditt betyg",
|
|
968
|
+
"WRITE_YOUR_OPINION": "Skriv din åsikt ... (valfritt)",
|
|
969
|
+
"SUBMIT": "Skicka in",
|
|
970
|
+
"THANK_YOU_FOR_YOUR_EVALUATION": "Tack för din utvärdering",
|
|
971
|
+
"YOUR_RATING_HAS_BEEN_RECEIVED": "ditt betyg har mottagits",
|
|
972
|
+
"ALERT_LEAVE_CHAT": "Vill du lämna chatten?",
|
|
973
|
+
"YES": "Ja",
|
|
974
|
+
"NO": "Nej",
|
|
975
|
+
"BUTTON_CLOSE_TO_ICON": "Minimera chatten",
|
|
976
|
+
"BUTTON_EDIT_PROFILE": "Uppdatera profil",
|
|
977
|
+
"BUTTON_DOWNLOAD_TRANSCRIPT": "Ladda ner avskrift",
|
|
978
|
+
"RATE_CHAT": "Betygsätt chatt",
|
|
979
|
+
"WELLCOME_TITLE": "Hej, välkommen till Tiledesk 👋",
|
|
980
|
+
"WELLCOME_MSG": "Hur kan vi hjälpa?",
|
|
981
|
+
"WELLCOME": "Välkommen",
|
|
982
|
+
"WELCOME_TITLE": "Hej, välkommen till Tiledesk 👋",
|
|
983
|
+
"WELCOME_MSG": "Hur kan vi hjälpa?",
|
|
984
|
+
"WELCOME": "Välkommen",
|
|
985
|
+
"OPTIONS": "alternativ",
|
|
986
|
+
"SOUND_OFF": "ljud av",
|
|
987
|
+
"SOUND_ON": "ljud på",
|
|
988
|
+
"LOGOUT": "logga ut",
|
|
989
|
+
"CLOSE": "Stänga",
|
|
990
|
+
"PREV_CONVERSATIONS": "Dina konversationer",
|
|
991
|
+
"YOU": "Du",
|
|
992
|
+
"SHOW_ALL_CONV": "visa allt",
|
|
993
|
+
"START_A_CONVERSATION": "Starta en konversation",
|
|
994
|
+
"NO_CONVERSATION": "Ingen konversation",
|
|
995
|
+
"SEE_PREVIOUS": "se föregående",
|
|
996
|
+
"WAITING_TIME_FOUND": "Teamet svarar vanligtvis med $reply_time",
|
|
997
|
+
"WAITING_TIME_NOT_FOUND": "Teamet kommer att svara så snart som möjligt",
|
|
998
|
+
"CLOSED": "Stängd",
|
|
999
|
+
"INFO_SUPPORT_USER_ADDED_SUBJECT": "du",
|
|
1000
|
+
"INFO_SUPPORT_USER_ADDED_YOU_VERB": "du har lagts till ",
|
|
1001
|
+
"INFO_SUPPORT_USER_ADDED_COMPLEMENT": "chatten",
|
|
1002
|
+
"INFO_SUPPORT_USER_ADDED_VERB": "gick med",
|
|
1003
|
+
"INFO_SUPPORT_CHAT_REOPENED": "Chatten öppnades igen",
|
|
1004
|
+
"INFO_SUPPORT_CHAT_CLOSED": "Chatten stängd",
|
|
1005
|
+
"TICKET_TAKING": "Begäran har kommit in och assistanspersonalen hanterar den.\nFör att lägga till fler kommentarer, svara på det här e-postmeddelandet.",
|
|
1006
|
+
"LABEL_ERROR_FIELD_REQUIRED": "obligatoriskt fält",
|
|
1007
|
+
"SENT_AN_ATTACHMENT": "skickade en bilaga",
|
|
1008
|
+
"SENT_AN_IMAGE": "skickade en bild",
|
|
1009
|
+
"LABEL_PRECHAT_USER_FULLNAME": "Fullständiga namn",
|
|
1010
|
+
"LABEL_PRECHAT_USER_EMAIL": "E-post",
|
|
1011
|
+
"LABEL_PRECHAT_USER_EMAIL_ERROR": "Ogiltig e-postadress",
|
|
1012
|
+
"LABEL_PRECHAT_USER_PHONE": "Telefon",
|
|
1013
|
+
"LABEL_PRECHAT_USER_PHONE_ERROR": "Telefon krävs",
|
|
1014
|
+
"LABEL_PRECHAT_FIRST_MESSAGE": "Ditt meddelande till supportteamet",
|
|
1015
|
+
"LABEL_PRECHAT_STATIC_TERMS_PRIVACY": "Innan du fortsätter i konversationen, godkänn våra <a href='https://tiledesk.com/termsofservice/' target='_blank'>Villkor</a> och <a href='https://tiledesk.com/privacy.html' target='_blank'>Sekretesspolicy</a>",
|
|
1016
|
+
"LABEL_PRECHAT_ACCEPT_TERMS_PRIVACY": "jag håller med",
|
|
1017
|
+
"PRECHAT_REQUIRED_ERROR": "Detta fält är obligatoriskt"
|
|
1018
|
+
}
|
|
1019
|
+
},
|
|
1020
|
+
{
|
|
1021
|
+
"lang":"KK",
|
|
1022
|
+
"data":
|
|
1023
|
+
{
|
|
1024
|
+
"LABEL_PLACEHOLDER": "хабарламаңызды теріңіз..",
|
|
1025
|
+
"LABEL_START_NW_CONV": "Жаңа әңгіме",
|
|
1026
|
+
"LABEL_FIRST_MSG": "Мәселеңізді қысқаша сипаттаңыз, сізге агент хабарласады.",
|
|
1027
|
+
"LABEL_FIRST_MSG_NO_AGENTS": "🤔 Қазіргі уақытта барлық операторлар желіден тыс. Сіз бәрібір мәселеңізді сипаттай аласыз. Ол сізге мүмкіндігінше тезірек хабарласатын қолдау көрсету тобына тағайындалады.",
|
|
1028
|
+
"LABEL_FIRST_MSG_OPERATING_HOURS_CLOSED": "🤔 Біздің кеңселер жабық. Сіз бәрібір мәселеңізді сипаттай аласыз. Ол сізге мүмкіндігінше тезірек хабарласатын қолдау көрсету тобына тағайындалады.",
|
|
1029
|
+
"LABEL_SELECT_TOPIC": "Тақырыпты таңдаңыз",
|
|
1030
|
+
"LABEL_COMPLETE_FORM": "Келесі қолжетімді агентпен сөйлесуді бастау үшін пішінді толтырыңыз.",
|
|
1031
|
+
"LABEL_FIELD_NAME": "Аты",
|
|
1032
|
+
"LABEL_ERROR_FIELD_NAME": "Міндетті өріс (кемінде 5 таңба).",
|
|
1033
|
+
"LABEL_FIELD_EMAIL": "Электрондық пошта",
|
|
1034
|
+
"LABEL_ERROR_FIELD_EMAIL": "Жарамды электрондық пошта мекенжайын енгізіңіз.",
|
|
1035
|
+
"LABEL_WRITING": "жазып жатыр...",
|
|
1036
|
+
"AGENT_NOT_AVAILABLE": " Офлайн",
|
|
1037
|
+
"AGENT_AVAILABLE": " Желіде",
|
|
1038
|
+
"GUEST_LABEL": "Қонақ",
|
|
1039
|
+
"ALL_AGENTS_OFFLINE_LABEL": "Қазіргі уақытта барлық операторлар желіден тыс",
|
|
1040
|
+
"LABEL_LOADING": "Жүктелуде...",
|
|
1041
|
+
"CALLOUT_TITLE_PLACEHOLDER": "🖐 Көмек керек пе?",
|
|
1042
|
+
"CALLOUT_MSG_PLACEHOLDER": "Мұнда басыңыз және бізбен сөйлесуді бастаңыз!",
|
|
1043
|
+
"CUSTOMER_SATISFACTION": "Тұтынушының қанағаттануы",
|
|
1044
|
+
"YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE": "Біздің тұтынушыларға қызмет көрсету туралы пікіріңіз",
|
|
1045
|
+
"DOWNLOAD_TRANSCRIPT": "Транскриптті жүктеп алыңыз",
|
|
1046
|
+
"BACK": "Артқа",
|
|
1047
|
+
"YOUR_RATING": "сіздің рейтингіңіз",
|
|
1048
|
+
"WRITE_YOUR_OPINION": "Өз пікіріңізді жазыңыз ... (міндетті емес)",
|
|
1049
|
+
"SUBMIT": "Жіберу",
|
|
1050
|
+
"THANK_YOU_FOR_YOUR_EVALUATION": "Бағаңыз үшін рахмет",
|
|
1051
|
+
"YOUR_RATING_HAS_BEEN_RECEIVED": "сіздің рейтингіңіз алынды",
|
|
1052
|
+
"ALERT_LEAVE_CHAT": "Чаттан кеткіңіз келе ме?",
|
|
1053
|
+
"YES": "Иә",
|
|
1054
|
+
"NO": "Жоқ",
|
|
1055
|
+
"BUTTON_CLOSE_TO_ICON": "Сөйлесуді азайту",
|
|
1056
|
+
"BUTTON_EDIT_PROFILE": "Профильді жаңарту",
|
|
1057
|
+
"BUTTON_DOWNLOAD_TRANSCRIPT": "Транскриптті жүктеп алыңыз",
|
|
1058
|
+
"RATE_CHAT": "Чатқа баға беріңіз",
|
|
1059
|
+
"WELLCOME_TITLE": "Сәлем, Tiledesk сайтына қош келдіңіз 👋",
|
|
1060
|
+
"WELLCOME_MSG": "Біз қалай көмектесе аламыз?",
|
|
1061
|
+
"WELLCOME": "Қош келдіңіз",
|
|
1062
|
+
"WELCOME_TITLE": "Сәлем, Tiledesk сайтына қош келдіңіз 👋",
|
|
1063
|
+
"WELCOME_MSG": "Біз қалай көмектесе аламыз?",
|
|
1064
|
+
"WELCOME": "Қош келдіңіз",
|
|
1065
|
+
"OPTIONS": "опциялар",
|
|
1066
|
+
"SOUND_OFF": "дыбыс өшірулі",
|
|
1067
|
+
"SOUND_ON": "дыбыс қосулы",
|
|
1068
|
+
"LOGOUT": "шығу",
|
|
1069
|
+
"CLOSE": "Жабық",
|
|
1070
|
+
"PREV_CONVERSATIONS": "Сіздің сұхбаттарыңыз",
|
|
1071
|
+
"YOU": "Сіз",
|
|
1072
|
+
"SHOW_ALL_CONV": "барлығын көрсету",
|
|
1073
|
+
"START_A_CONVERSATION": "Әңгіме бастаңыз",
|
|
1074
|
+
"NO_CONVERSATION": "Әңгіме жоқ",
|
|
1075
|
+
"SEE_PREVIOUS": "алдыңғы қараңыз",
|
|
1076
|
+
"WAITING_TIME_FOUND": "Топ әдетте $reply_time-мен жауап береді",
|
|
1077
|
+
"WAITING_TIME_NOT_FOUND": "Команда мүмкіндігінше тезірек жауап береді",
|
|
1078
|
+
"CLOSED": "Жабық",
|
|
1079
|
+
"INFO_SUPPORT_USER_ADDED_SUBJECT": "сен",
|
|
1080
|
+
"INFO_SUPPORT_USER_ADDED_YOU_VERB": "сіз қосылдыңыз ",
|
|
1081
|
+
"INFO_SUPPORT_USER_ADDED_COMPLEMENT": "чат",
|
|
1082
|
+
"INFO_SUPPORT_USER_ADDED_VERB": "қосылды",
|
|
1083
|
+
"INFO_SUPPORT_CHAT_REOPENED": "Чат қайта ашылды",
|
|
1084
|
+
"INFO_SUPPORT_CHAT_CLOSED": "Чат жабылды",
|
|
1085
|
+
"TICKET_TAKING": "Өтініш қабылданды және көмек көрсету қызметкерлері онымен айналысуда.\nҚосымша пікірлер қосу үшін осы электрондық поштаға жауап беріңіз.",
|
|
1086
|
+
"LABEL_ERROR_FIELD_REQUIRED": "Міндетті өріс",
|
|
1087
|
+
"SENT_AN_ATTACHMENT": "қосымша жіберді",
|
|
1088
|
+
"SENT_AN_IMAGE": "сурет жіберді",
|
|
1089
|
+
"LABEL_PRECHAT_USER_FULLNAME": "Толық аты",
|
|
1090
|
+
"LABEL_PRECHAT_USER_EMAIL": "Электрондық пошта",
|
|
1091
|
+
"LABEL_PRECHAT_USER_EMAIL_ERROR": "Жарамсыз электрондық пошта мекенжайы",
|
|
1092
|
+
"LABEL_PRECHAT_USER_PHONE": "Телефон",
|
|
1093
|
+
"LABEL_PRECHAT_USER_PHONE_ERROR": "Телефон қажет",
|
|
1094
|
+
"LABEL_PRECHAT_FIRST_MESSAGE": "Қолдау көрсету тобына арналған хабарламаңыз",
|
|
1095
|
+
"LABEL_PRECHAT_STATIC_TERMS_PRIVACY": "Әңгімені жалғастырмас бұрын, <a href='https://tiledesk.com/termsofservice/' target='_blank'></a> және <a href='https://tiledesk.com/privacy.html' target='_blank'>-шарттар Құпиялылық саясаты</a>-пен келісесіз",
|
|
1096
|
+
"LABEL_PRECHAT_ACCEPT_TERMS_PRIVACY": "Мен келісемін",
|
|
1097
|
+
"PRECHAT_REQUIRED_ERROR": "Бұл керек аймақ"
|
|
1098
|
+
}
|
|
1099
|
+
},
|
|
1100
|
+
{
|
|
1101
|
+
"lang":"UZ",
|
|
1102
|
+
"data":
|
|
1103
|
+
{
|
|
1104
|
+
"LABEL_PLACEHOLDER": "xabaringizni yozing..",
|
|
1105
|
+
"LABEL_START_NW_CONV": "Yangi suhbat",
|
|
1106
|
+
"LABEL_FIRST_MSG": "Muammoingizni qisqacha tasvirlab bering, siz bilan agent bog'lanadi.",
|
|
1107
|
+
"LABEL_FIRST_MSG_NO_AGENTS": "🤔 Hozirda barcha operatorlar oflayn. Qanday bo'lmasin, muammoingizni tasvirlashingiz mumkin. Bu sizga imkon qadar tezroq qaytib keladigan qo'llab-quvvatlash guruhiga tayinlanadi.",
|
|
1108
|
+
"LABEL_FIRST_MSG_OPERATING_HOURS_CLOSED": "🤔 Bizning ofislarimiz yopiq. Qanday bo'lmasin, muammoingizni tasvirlashingiz mumkin. Bu sizga imkon qadar tezroq qaytib keladigan qo'llab-quvvatlash guruhiga tayinlanadi.",
|
|
1109
|
+
"LABEL_SELECT_TOPIC": "Mavzuni tanlang",
|
|
1110
|
+
"LABEL_COMPLETE_FORM": "Keyingi mavjud agent bilan suhbatni boshlash uchun shaklni to'ldiring.",
|
|
1111
|
+
"LABEL_FIELD_NAME": "Ism",
|
|
1112
|
+
"LABEL_ERROR_FIELD_NAME": "Majburiy maydon (kamida 5 ta belgi).",
|
|
1113
|
+
"LABEL_FIELD_EMAIL": "Elektron pochta",
|
|
1114
|
+
"LABEL_ERROR_FIELD_EMAIL": "Yaroqli elektron pochta manzilini kiriting.",
|
|
1115
|
+
"LABEL_WRITING": "yozmoqda...",
|
|
1116
|
+
"AGENT_NOT_AVAILABLE": " Oflayn",
|
|
1117
|
+
"AGENT_AVAILABLE": " Onlayn",
|
|
1118
|
+
"GUEST_LABEL": "Mehmon",
|
|
1119
|
+
"ALL_AGENTS_OFFLINE_LABEL": "Ayni paytda barcha operatorlar oflayn rejimda",
|
|
1120
|
+
"LABEL_LOADING": "Yuklanmoqda...",
|
|
1121
|
+
"CALLOUT_TITLE_PLACEHOLDER": "🖐 Yordam kerakmi?",
|
|
1122
|
+
"CALLOUT_MSG_PLACEHOLDER": "Bu yerni bosing va biz bilan suhbatni boshlang!",
|
|
1123
|
+
"CUSTOMER_SATISFACTION": "Mijozlarning qoniqishi",
|
|
1124
|
+
"YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE": "Mijozlarga xizmat ko'rsatish haqidagi fikringiz",
|
|
1125
|
+
"DOWNLOAD_TRANSCRIPT": "Transkriptni yuklab oling",
|
|
1126
|
+
"BACK": "Orqaga",
|
|
1127
|
+
"YOUR_RATING": "sizning reytingingiz",
|
|
1128
|
+
"WRITE_YOUR_OPINION": "Fikringizni yozing ... (ixtiyoriy)",
|
|
1129
|
+
"SUBMIT": "Yuborish",
|
|
1130
|
+
"THANK_YOU_FOR_YOUR_EVALUATION": "Baholaganingiz uchun tashakkur",
|
|
1131
|
+
"YOUR_RATING_HAS_BEEN_RECEIVED": "Sizning reytingingiz olindi",
|
|
1132
|
+
"ALERT_LEAVE_CHAT": "Chatni tark etmoqchimisiz?",
|
|
1133
|
+
"YES": "Ha",
|
|
1134
|
+
"NO": "Yo'q",
|
|
1135
|
+
"BUTTON_CLOSE_TO_ICON": "Suhbatni minimallashtirish",
|
|
1136
|
+
"BUTTON_EDIT_PROFILE": "Profilni yangilash",
|
|
1137
|
+
"BUTTON_DOWNLOAD_TRANSCRIPT": "Transkriptni yuklab oling",
|
|
1138
|
+
"RATE_CHAT": "Suhbatni baholang",
|
|
1139
|
+
"WELLCOME_TITLE": "Salom, Tiledesk 👋 ga xush kelibsiz",
|
|
1140
|
+
"WELLCOME_MSG": "Biz qanday yordam bera olamiz?",
|
|
1141
|
+
"WELLCOME": "Xush kelibsiz",
|
|
1142
|
+
"WELCOME_TITLE": "Salom, Tiledesk 👋 ga xush kelibsiz",
|
|
1143
|
+
"WELCOME_MSG": "Biz qanday yordam bera olamiz?",
|
|
1144
|
+
"WELCOME": "Xush kelibsiz",
|
|
1145
|
+
"OPTIONS": "variantlari",
|
|
1146
|
+
"SOUND_OFF": "ovoz o'chirilgan",
|
|
1147
|
+
"SOUND_ON": "ovoz yoqilgan",
|
|
1148
|
+
"LOGOUT": "chiqish",
|
|
1149
|
+
"CLOSE": "Yopish",
|
|
1150
|
+
"PREV_CONVERSATIONS": "Sizning suhbatlaringiz",
|
|
1151
|
+
"YOU": "Siz",
|
|
1152
|
+
"SHOW_ALL_CONV": "hammasini ko'rsatish",
|
|
1153
|
+
"START_A_CONVERSATION": "Suhbatni boshlang",
|
|
1154
|
+
"NO_CONVERSATION": "Suhbat yo'q",
|
|
1155
|
+
"SEE_PREVIOUS": "oldingisiga qarang",
|
|
1156
|
+
"WAITING_TIME_FOUND": "Jamoa odatda $reply_timebilan javob beradi",
|
|
1157
|
+
"WAITING_TIME_NOT_FOUND": "Jamoa imkon qadar tezroq javob beradi",
|
|
1158
|
+
"CLOSED": "Yopiq",
|
|
1159
|
+
"INFO_SUPPORT_USER_ADDED_SUBJECT": "siz",
|
|
1160
|
+
"INFO_SUPPORT_USER_ADDED_YOU_VERB": "qo'shildingiz ",
|
|
1161
|
+
"INFO_SUPPORT_USER_ADDED_COMPLEMENT": "suhbat",
|
|
1162
|
+
"INFO_SUPPORT_USER_ADDED_VERB": "qo'shildi",
|
|
1163
|
+
"INFO_SUPPORT_CHAT_REOPENED": "Chat qayta ochildi",
|
|
1164
|
+
"INFO_SUPPORT_CHAT_CLOSED": "Chat yopildi",
|
|
1165
|
+
"TICKET_TAKING": "So'rov qabul qilindi va yordam xodimlari u bilan shug'ullanmoqda.\nKo'proq izoh qo'shish uchun ushbu xatga javob yozing.",
|
|
1166
|
+
"LABEL_ERROR_FIELD_REQUIRED": "Majburiy maydon",
|
|
1167
|
+
"SENT_AN_ATTACHMENT": "ilova yubordi",
|
|
1168
|
+
"SENT_AN_IMAGE": "rasm yubordi",
|
|
1169
|
+
"LABEL_PRECHAT_USER_FULLNAME": "To'liq ismi sharif",
|
|
1170
|
+
"LABEL_PRECHAT_USER_EMAIL": "Elektron pochta",
|
|
1171
|
+
"LABEL_PRECHAT_USER_EMAIL_ERROR": "Yaroqsiz elektron pochta manzili",
|
|
1172
|
+
"LABEL_PRECHAT_USER_PHONE": "Telefon",
|
|
1173
|
+
"LABEL_PRECHAT_USER_PHONE_ERROR": "Telefon kerak",
|
|
1174
|
+
"LABEL_PRECHAT_FIRST_MESSAGE": "Qo'llab-quvvatlash jamoasi uchun xabaringiz",
|
|
1175
|
+
"LABEL_PRECHAT_STATIC_TERMS_PRIVACY": "Suhbatni davom ettirishdan oldin <a href='https://tiledesk.com/termsofservice/' target='_blank'>shartlar</a> va <a href='https://tiledesk.com/privacy.html' target='_blank'>Maxfiylik siyosati</a>rozilik bildiring",
|
|
1176
|
+
"LABEL_PRECHAT_ACCEPT_TERMS_PRIVACY": "Men roziman",
|
|
1177
|
+
"PRECHAT_REQUIRED_ERROR": "Ushbu qator to'ldirilishi shart"
|
|
1178
|
+
}
|
|
1179
|
+
},
|
|
1180
|
+
{
|
|
1181
|
+
"lang":"AZ",
|
|
1182
|
+
"data":
|
|
1183
|
+
{
|
|
1184
|
+
"LABEL_PLACEHOLDER": "mesajınızı yazın..",
|
|
1185
|
+
"LABEL_START_NW_CONV": "Yeni söhbət",
|
|
1186
|
+
"LABEL_FIRST_MSG": "Probleminizi qısaca təsvir edin, agent sizinlə əlaqə saxlayacaq.",
|
|
1187
|
+
"LABEL_FIRST_MSG_NO_AGENTS": "🤔 Hazırda bütün operatorlar oflayndır. Hər halda probleminizi təsvir edə bilərsiniz. O, sizə ən qısa zamanda qayıdacaq dəstək komandasına təyin olunacaq.",
|
|
1188
|
+
"LABEL_FIRST_MSG_OPERATING_HOURS_CLOSED": "🤔 Ofislərimiz bağlıdır. Hər halda probleminizi təsvir edə bilərsiniz. O, sizə ən qısa zamanda qayıdacaq dəstək komandasına təyin olunacaq.",
|
|
1189
|
+
"LABEL_SELECT_TOPIC": "Mövzu seçin",
|
|
1190
|
+
"LABEL_COMPLETE_FORM": "Növbəti mövcud agentlə söhbətə başlamaq üçün formanı doldurun.",
|
|
1191
|
+
"LABEL_FIELD_NAME": "ad",
|
|
1192
|
+
"LABEL_ERROR_FIELD_NAME": "Tələb olunan sahə (minimum 5 simvol).",
|
|
1193
|
+
"LABEL_FIELD_EMAIL": "E-poçt",
|
|
1194
|
+
"LABEL_ERROR_FIELD_EMAIL": "Etibarlı e-poçt ünvanı daxil edin.",
|
|
1195
|
+
"LABEL_WRITING": "yazır...",
|
|
1196
|
+
"AGENT_NOT_AVAILABLE": " Oflayn",
|
|
1197
|
+
"AGENT_AVAILABLE": " Onlayn",
|
|
1198
|
+
"GUEST_LABEL": "Qonaq",
|
|
1199
|
+
"ALL_AGENTS_OFFLINE_LABEL": "Hazırda bütün operatorlar oflayndır",
|
|
1200
|
+
"LABEL_LOADING": "Yüklənir...",
|
|
1201
|
+
"CALLOUT_TITLE_PLACEHOLDER": "🖐 Kömək lazımdır?",
|
|
1202
|
+
"CALLOUT_MSG_PLACEHOLDER": "Bura klikləyin və bizimlə söhbət etməyə başlayın!",
|
|
1203
|
+
"CUSTOMER_SATISFACTION": "Müştəri məmnuniyyəti",
|
|
1204
|
+
"YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE": "Müştəri xidmətlərimiz haqqında rəyiniz",
|
|
1205
|
+
"DOWNLOAD_TRANSCRIPT": "Transkript yükləyin",
|
|
1206
|
+
"BACK": "Geri",
|
|
1207
|
+
"YOUR_RATING": "sizin reytinqiniz",
|
|
1208
|
+
"WRITE_YOUR_OPINION": "Fikrinizi yazın... (istəyə görə)",
|
|
1209
|
+
"SUBMIT": "təqdim",
|
|
1210
|
+
"THANK_YOU_FOR_YOUR_EVALUATION": "Qiymətləndirməniz üçün təşəkkür edirik",
|
|
1211
|
+
"YOUR_RATING_HAS_BEEN_RECEIVED": "reytinqiniz alındı",
|
|
1212
|
+
"ALERT_LEAVE_CHAT": "Çatı tərk etmək istəyirsiniz?",
|
|
1213
|
+
"YES": "Bəli",
|
|
1214
|
+
"NO": "Yox",
|
|
1215
|
+
"BUTTON_CLOSE_TO_ICON": "Söhbəti minimuma endir",
|
|
1216
|
+
"BUTTON_EDIT_PROFILE": "Profili yeniləyin",
|
|
1217
|
+
"BUTTON_DOWNLOAD_TRANSCRIPT": "Transkript yükləyin",
|
|
1218
|
+
"RATE_CHAT": "Söhbəti qiymətləndirin",
|
|
1219
|
+
"WELLCOME_TITLE": "Salam, Tiledesk 👋-a xoş gəlmisiniz",
|
|
1220
|
+
"WELLCOME_MSG": "Biz necə kömək edə bilərik?",
|
|
1221
|
+
"WELLCOME": "Xoş gəldiniz",
|
|
1222
|
+
"WELCOME_TITLE": "Salam, Tiledesk 👋-a xoş gəlmisiniz",
|
|
1223
|
+
"WELCOME_MSG": "Biz necə kömək edə bilərik?",
|
|
1224
|
+
"WELCOME": "Xoş gəldiniz",
|
|
1225
|
+
"OPTIONS": "seçimlər",
|
|
1226
|
+
"SOUND_OFF": "səsi kəsilir",
|
|
1227
|
+
"SOUND_ON": "səsi yandırın",
|
|
1228
|
+
"LOGOUT": "çıxış",
|
|
1229
|
+
"CLOSE": "Yaxın",
|
|
1230
|
+
"PREV_CONVERSATIONS": "Söhbətləriniz",
|
|
1231
|
+
"YOU": "Sən",
|
|
1232
|
+
"SHOW_ALL_CONV": "hamısını göstər",
|
|
1233
|
+
"START_A_CONVERSATION": "Söhbətə başlayın",
|
|
1234
|
+
"NO_CONVERSATION": "Söhbət yoxdur",
|
|
1235
|
+
"SEE_PREVIOUS": "əvvəlki baxın",
|
|
1236
|
+
"WAITING_TIME_FOUND": "Komanda adətən $reply_timeilə cavab verir",
|
|
1237
|
+
"WAITING_TIME_NOT_FOUND": "Komanda mümkün qədər tez cavab verəcəkdir",
|
|
1238
|
+
"CLOSED": "Bağlı",
|
|
1239
|
+
"INFO_SUPPORT_USER_ADDED_SUBJECT": "Sən",
|
|
1240
|
+
"INFO_SUPPORT_USER_ADDED_YOU_VERB": "siz əlavə olundunuz ",
|
|
1241
|
+
"INFO_SUPPORT_USER_ADDED_COMPLEMENT": "söhbət",
|
|
1242
|
+
"INFO_SUPPORT_USER_ADDED_VERB": "qoşuldu",
|
|
1243
|
+
"INFO_SUPPORT_CHAT_REOPENED": "Çat yenidən açıldı",
|
|
1244
|
+
"INFO_SUPPORT_CHAT_CLOSED": "Çat bağlandı",
|
|
1245
|
+
"TICKET_TAKING": "Müraciət qəbul edilib və yardım işçiləri bununla məşğul olur.\nDaha çox şərh əlavə etmək üçün bu e-poçta cavab yazın.",
|
|
1246
|
+
"LABEL_ERROR_FIELD_REQUIRED": "tələb olunan sahə",
|
|
1247
|
+
"SENT_AN_ATTACHMENT": "əlavə göndərdi",
|
|
1248
|
+
"SENT_AN_IMAGE": "şəkil göndərdi",
|
|
1249
|
+
"LABEL_PRECHAT_USER_FULLNAME": "Tam adı",
|
|
1250
|
+
"LABEL_PRECHAT_USER_EMAIL": "E-poçt",
|
|
1251
|
+
"LABEL_PRECHAT_USER_EMAIL_ERROR": "E-mail ünvanı səhvdir",
|
|
1252
|
+
"LABEL_PRECHAT_USER_PHONE": "Telefon",
|
|
1253
|
+
"LABEL_PRECHAT_USER_PHONE_ERROR": "Telefon tələb olunur",
|
|
1254
|
+
"LABEL_PRECHAT_FIRST_MESSAGE": "Dəstək komandası üçün mesajınız",
|
|
1255
|
+
"LABEL_PRECHAT_STATIC_TERMS_PRIVACY": "Söhbətə davam etməzdən əvvəl <a href='https://tiledesk.com/termsofservice/' target='_blank'>Şərt</a> və <a href='https://tiledesk.com/privacy.html' target='_blank'>Məxfilik Siyasəti</a>ilə razılaşın",
|
|
1256
|
+
"LABEL_PRECHAT_ACCEPT_TERMS_PRIVACY": "razıyam",
|
|
1257
|
+
"PRECHAT_REQUIRED_ERROR": "Bu xananın doldurulması məcburidir"
|
|
1258
|
+
}
|
|
939
1259
|
}
|
|
940
1260
|
]
|
|
941
1261
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tiledesk/tiledesk-server",
|
|
3
3
|
"description": "The Tiledesk server module",
|
|
4
|
-
"version": "2.2.
|
|
4
|
+
"version": "2.2.39",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"start": "node ./bin/www",
|
|
7
7
|
"pretest": "mongodb-runner start",
|
|
@@ -32,24 +32,26 @@
|
|
|
32
32
|
"@tiledesk-ent/tiledesk-server-activities": "^1.1.18",
|
|
33
33
|
"@tiledesk-ent/tiledesk-server-analytics": "^1.1.12",
|
|
34
34
|
"@tiledesk-ent/tiledesk-server-cache": "^1.1.10",
|
|
35
|
-
"@tiledesk-ent/tiledesk-server-canned": "^1.1.
|
|
36
|
-
"@tiledesk-ent/tiledesk-server-departments": "^1.1.
|
|
35
|
+
"@tiledesk-ent/tiledesk-server-canned": "^1.1.2",
|
|
36
|
+
"@tiledesk-ent/tiledesk-server-departments": "^1.1.3",
|
|
37
37
|
"@tiledesk-ent/tiledesk-server-dialogflow": "^1.1.6",
|
|
38
|
-
"@tiledesk-ent/tiledesk-server-groups": "^1.1.
|
|
38
|
+
"@tiledesk-ent/tiledesk-server-groups": "^1.1.3",
|
|
39
39
|
"@tiledesk-ent/tiledesk-server-jwthistory": "^1.1.9",
|
|
40
|
-
"@tiledesk-ent/tiledesk-server-mt": "^1.1.
|
|
40
|
+
"@tiledesk-ent/tiledesk-server-mt": "^1.1.8",
|
|
41
41
|
"@tiledesk-ent/tiledesk-server-payments": "^1.1.6",
|
|
42
42
|
"@tiledesk-ent/tiledesk-server-queue": "^1.1.11",
|
|
43
43
|
"@tiledesk-ent/tiledesk-server-request-history": "^1.1.5",
|
|
44
44
|
"@tiledesk-ent/tiledesk-server-resthook": "^1.1.53",
|
|
45
45
|
"@tiledesk-ent/tiledesk-server-routing-queue": "^1.1.11",
|
|
46
|
-
"@tiledesk-ent/tiledesk-server-tags": "^1.1.
|
|
46
|
+
"@tiledesk-ent/tiledesk-server-tags": "^1.1.2",
|
|
47
47
|
"@tiledesk-ent/tiledesk-server-triggers": "^1.1.82",
|
|
48
|
-
"@tiledesk-ent/tiledesk-server-visitorcounter": "^1.1.1"
|
|
48
|
+
"@tiledesk-ent/tiledesk-server-visitorcounter": "^1.1.1",
|
|
49
|
+
"@tiledesk-ent/tiledesk-server-enterprise": "^1.0.0"
|
|
49
50
|
},
|
|
50
51
|
"dependencies": {
|
|
51
52
|
"@tiledesk/tiledesk-chat21-app": "^1.1.4",
|
|
52
53
|
"@tiledesk/tiledesk-chatbot-util": "^0.8.33",
|
|
54
|
+
"@tiledesk/tiledesk-rasa-connector": "^1.0.5",
|
|
53
55
|
"app-root-path": "^3.0.0",
|
|
54
56
|
"bcrypt-nodejs": "0.0.3",
|
|
55
57
|
"body-parser": "^1.20.0",
|
|
@@ -58,6 +58,10 @@ listen() {
|
|
|
58
58
|
|
|
59
59
|
if (message.sender != message.request.lead.lead_id) {
|
|
60
60
|
winston.verbose("sending sendToUserEmailChannelEmail for EMAIL or FORM channel");
|
|
61
|
+
|
|
62
|
+
if (message.attributes && message.attributes.subtype==='private') {
|
|
63
|
+
return winston.debug("not sending sendToUserEmailChannelEmail for attributes.subtype private messages");
|
|
64
|
+
}
|
|
61
65
|
return that.sendToUserEmailChannelEmail(message.id_project, message);
|
|
62
66
|
} else {
|
|
63
67
|
|
|
@@ -133,6 +137,9 @@ listen() {
|
|
|
133
137
|
});
|
|
134
138
|
});
|
|
135
139
|
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
136
143
|
// requestEvent.on("request.update.preflight", function(request) {
|
|
137
144
|
|
|
138
145
|
// winston.info("requestEvent request.update.preflight");
|
|
@@ -335,7 +342,10 @@ sendToAgentEmailChannelEmail(projectid, message) {
|
|
|
335
342
|
}
|
|
336
343
|
|
|
337
344
|
winston.debug("savedRequest", savedRequest);
|
|
345
|
+
|
|
338
346
|
|
|
347
|
+
|
|
348
|
+
|
|
339
349
|
// TODO fare il controllo anche sul dipartimento con modalità assigned o pooled
|
|
340
350
|
if (savedRequest.status==RequestConstants.UNASSIGNED) { //POOLED
|
|
341
351
|
|
|
@@ -20,12 +20,18 @@ class PubModulesManager {
|
|
|
20
20
|
this.scheduler = undefined;
|
|
21
21
|
|
|
22
22
|
this.rasa = undefined;
|
|
23
|
+
this.rasaRoute = undefined;
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
|
|
26
27
|
|
|
27
28
|
use(app) {
|
|
28
29
|
|
|
30
|
+
if (this.rasaRoute) {
|
|
31
|
+
app.use('/modules/rasa', this.rasaRoute);
|
|
32
|
+
winston.info("ModulesManager rasaRoute controller loaded");
|
|
33
|
+
}
|
|
34
|
+
|
|
29
35
|
}
|
|
30
36
|
useUnderProjects(app) {
|
|
31
37
|
var that = this;
|
|
@@ -42,7 +48,7 @@ class PubModulesManager {
|
|
|
42
48
|
}
|
|
43
49
|
|
|
44
50
|
|
|
45
|
-
init() {
|
|
51
|
+
init(config) {
|
|
46
52
|
winston.debug("PubModulesManager init");
|
|
47
53
|
|
|
48
54
|
try {
|
|
@@ -145,7 +151,10 @@ class PubModulesManager {
|
|
|
145
151
|
try {
|
|
146
152
|
this.rasa = require('./rasa');
|
|
147
153
|
winston.debug("this.rasa:"+ this.rasa);
|
|
148
|
-
this.rasa.listener.listen();
|
|
154
|
+
this.rasa.listener.listen(config);
|
|
155
|
+
|
|
156
|
+
this.rasaRoute = this.rasa.rasaRoute;
|
|
157
|
+
|
|
149
158
|
winston.info("PubModulesManager initialized rasa.");
|
|
150
159
|
} catch(err) {
|
|
151
160
|
if (err.code == 'MODULE_NOT_FOUND') {
|
package/pubmodules/rasa/index.js
CHANGED
|
@@ -1,25 +1,46 @@
|
|
|
1
1
|
const botEvent = require('../../event/botEvent');
|
|
2
2
|
var Faq_kb = require("../../models/faq_kb");
|
|
3
3
|
var winston = require('../../config/winston');
|
|
4
|
+
const rasa = require("@tiledesk/tiledesk-rasa-connector");
|
|
5
|
+
var configGlobal = require('../../config/global');
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
var port = process.env.PORT || '3000';
|
|
8
|
+
|
|
9
|
+
const BOT_RASA_ENDPOINT = "http://localhost:" + port+ "/modules/rasa/rasabot" || process.env.BOT_RASA_ENDPOINT;
|
|
6
10
|
winston.debug("BOT_RASA_ENDPOINT: " + BOT_RASA_ENDPOINT);
|
|
7
11
|
|
|
8
|
-
if (BOT_RASA_ENDPOINT) {
|
|
12
|
+
// if (BOT_RASA_ENDPOINT) {
|
|
9
13
|
winston.info("Rasa endpoint: " + BOT_RASA_ENDPOINT);
|
|
10
|
-
} else {
|
|
11
|
-
|
|
12
|
-
}
|
|
14
|
+
// } else {
|
|
15
|
+
// winston.info("Rasa endpoint not configured");
|
|
16
|
+
// }
|
|
13
17
|
|
|
18
|
+
const apiUrl = process.env.API_URL || configGlobal.apiUrl;
|
|
19
|
+
winston.info('Rasa apiUrl: '+ apiUrl);
|
|
14
20
|
|
|
15
21
|
class Listener {
|
|
16
22
|
|
|
17
|
-
listen() {
|
|
23
|
+
listen(config) {
|
|
18
24
|
|
|
19
|
-
winston.
|
|
25
|
+
winston.info('Rasa Listener listen');
|
|
26
|
+
winston.debug("config databaseUri: " + config.databaseUri);
|
|
27
|
+
|
|
20
28
|
|
|
21
29
|
var that = this;
|
|
22
30
|
|
|
31
|
+
|
|
32
|
+
rasa.startRasa(
|
|
33
|
+
{
|
|
34
|
+
KVBASE_COLLECTION : process.env.KVBASE_COLLECTION,
|
|
35
|
+
MONGODB_URI: config.databaseUri,
|
|
36
|
+
API_ENDPOINT: apiUrl,
|
|
37
|
+
log: true
|
|
38
|
+
}, () => {
|
|
39
|
+
winston.info("RASA proxy server successfully started.");
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
23
44
|
botEvent.on('faqbot.create', function(bot) {
|
|
24
45
|
if (BOT_RASA_ENDPOINT) {
|
|
25
46
|
|
|
@@ -50,8 +50,8 @@ scheduleUnresponsiveRequests() {
|
|
|
50
50
|
//https://crontab.guru/examples.html
|
|
51
51
|
var s= schedule.scheduleJob(this.cronExp, function(fireDate){ //TODO aggiungi un bias random
|
|
52
52
|
|
|
53
|
-
let timeInMs = Math.random() * (1000); // avoid cluster concurrent jobs in multiple nodes between 0 and 1sec
|
|
54
|
-
winston.
|
|
53
|
+
let timeInMs = Math.random() * (1000); // avoid cluster concurrent jobs in multiple nodes delay between 0 and 1sec
|
|
54
|
+
winston.debug('timeInMs => '+ timeInMs);
|
|
55
55
|
|
|
56
56
|
setTimeout(function () {
|
|
57
57
|
winston.debug('CloseBotUnresponsiveRequestTask scheduleUnresponsiveRequests job was supposed to run at ' + fireDate + ', but actually ran at ' + new Date());
|
package/routes/request.js
CHANGED
|
@@ -840,7 +840,7 @@ router.get('/', function (req, res, next) {
|
|
|
840
840
|
var projection = undefined;
|
|
841
841
|
|
|
842
842
|
if (req.query.full_text) {
|
|
843
|
-
winston.
|
|
843
|
+
winston.debug('fulltext projection');
|
|
844
844
|
|
|
845
845
|
projection = {score: { $meta: "textScore" } };
|
|
846
846
|
}
|
|
@@ -873,7 +873,7 @@ router.get('/', function (req, res, next) {
|
|
|
873
873
|
// }
|
|
874
874
|
|
|
875
875
|
if (req.query.full_text) {
|
|
876
|
-
winston.
|
|
876
|
+
winston.debug('fulltext sort');
|
|
877
877
|
q1.sort( { score: { $meta: "textScore" } } ) //https://docs.mongodb.com/manual/reference/operator/query/text/#sort-by-text-search-score
|
|
878
878
|
} else {
|
|
879
879
|
q1.sort(sortQuery);
|
|
@@ -1026,6 +1026,7 @@ router.get('/csv', function (req, res, next) {
|
|
|
1026
1026
|
|
|
1027
1027
|
|
|
1028
1028
|
|
|
1029
|
+
|
|
1029
1030
|
winston.debug('REQUEST ROUTE - REQUEST FIND ', query)
|
|
1030
1031
|
return Request.find(query, '-transcript -status -__v').
|
|
1031
1032
|
skip(skip).limit(limit).
|
|
@@ -10,7 +10,6 @@ var BotFromParticipant = require("../utils/botFromParticipant");
|
|
|
10
10
|
var cacheUtil = require('../utils/cacheUtil');
|
|
11
11
|
var eventService = require('../pubmodules/events/eventService');
|
|
12
12
|
var mongoose = require('mongoose');
|
|
13
|
-
const { TiledeskChatbotUtil } = require('@tiledesk/tiledesk-chatbot-util');
|
|
14
13
|
const ActionsConstants = require('../models/actionsConstants');
|
|
15
14
|
var httpUtil = require('../utils/httpUtil');
|
|
16
15
|
|
|
@@ -138,7 +137,7 @@ class FaqBotHandler {
|
|
|
138
137
|
|
|
139
138
|
|
|
140
139
|
|
|
141
|
-
|
|
140
|
+
// EXACT MATCH
|
|
142
141
|
Faq.find(query)
|
|
143
142
|
.lean().
|
|
144
143
|
exec(async (err, faqs) => {
|
|
@@ -301,6 +300,7 @@ class FaqBotHandler {
|
|
|
301
300
|
}
|
|
302
301
|
|
|
303
302
|
|
|
303
|
+
|
|
304
304
|
Faq.find(query, mongoproject)
|
|
305
305
|
.sort(sort)
|
|
306
306
|
.lean().
|
|
@@ -53,6 +53,7 @@ class ModulesManager {
|
|
|
53
53
|
this.visitorCounterRoute = undefined;
|
|
54
54
|
this.visitorCounterMiddleware = undefined;
|
|
55
55
|
this.widgetsRoute = undefined;
|
|
56
|
+
this.enterprise = undefined;
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
injectBefore(app) {
|
|
@@ -173,6 +174,20 @@ class ModulesManager {
|
|
|
173
174
|
winston.debug("ModulesManager init");
|
|
174
175
|
|
|
175
176
|
|
|
177
|
+
try {
|
|
178
|
+
this.enterprise = require('@tiledesk-ent/tiledesk-server-enterprise');
|
|
179
|
+
winston.debug("this.enterprise:"+ this.enterprise);
|
|
180
|
+
winston.info("ModulesManager enterprise initialized");
|
|
181
|
+
} catch(err) {
|
|
182
|
+
if (err.code == 'MODULE_NOT_FOUND') {
|
|
183
|
+
winston.info("ModulesManager init enterprise module not found");
|
|
184
|
+
}else {
|
|
185
|
+
winston.error("ModulesManager error initializing init enterprise module", err);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
|
|
176
191
|
try {
|
|
177
192
|
this.trigger = require('@tiledesk-ent/tiledesk-server-triggers').start;
|
|
178
193
|
winston.debug("this.trigger:"+ this.trigger);
|