@tiledesk/tiledesk-server 2.2.38 → 2.3.2
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +12 -0
- package/LICENSE +14 -657
- package/README.md +36 -21
- package/app.js +29 -5
- package/channels/chat21/chat21WebHook.js +12 -1
- package/config/labels/widget.json +320 -0
- package/event/botEvent.js +1 -1
- package/event/subscriptionEvent.js +11 -0
- package/fonts/Roboto-Italic.ttf +0 -0
- package/fonts/Roboto-Medium.ttf +0 -0
- package/fonts/Roboto-MediumItalic.ttf +0 -0
- package/fonts/Roboto-Regular.ttf +0 -0
- package/middleware/passport.js +4 -1
- package/models/lead.js +2 -0
- package/models/request.js +38 -11
- package/models/subscriptionLog.js +34 -0
- package/models/tagLibrary.js +42 -0
- package/package.json +4 -10
- package/pubmodules/activities/activityArchiver.js +295 -0
- package/pubmodules/activities/index.js +3 -0
- package/pubmodules/activities/models/activity.js +88 -0
- package/pubmodules/activities/routes/activity.js +710 -0
- package/pubmodules/activities/test/activityRoute.js +85 -0
- package/pubmodules/analytics/analytics.js +1719 -0
- package/pubmodules/analytics/index.js +3 -0
- package/pubmodules/canned/cannedResponse.js +51 -0
- package/pubmodules/canned/cannedResponseRoute.js +157 -0
- package/pubmodules/canned/index.js +3 -0
- package/pubmodules/messageActions/messageActionsInterceptor.js +4 -2
- package/pubmodules/pubModulesManager.js +115 -7
- package/pubmodules/rasa/index.js +8 -1
- package/pubmodules/rasa/listener.js +28 -7
- package/pubmodules/scheduler/tasks/closeAgentUnresponsiveRequestTask.js +3 -1
- package/pubmodules/scheduler/tasks/closeBotUnresponsiveRequestTask.js +5 -3
- package/pubmodules/trigger/default.js +271 -0
- package/pubmodules/trigger/event/actionEventEmitter.js +10 -0
- package/pubmodules/trigger/event/flowEventEmitter.js +10 -0
- package/pubmodules/trigger/event/triggerEventEmitter.js +10 -0
- package/pubmodules/trigger/index.js +3 -0
- package/pubmodules/trigger/models/trigger.js +149 -0
- package/pubmodules/trigger/rulesTrigger.js +1181 -0
- package/pubmodules/trigger/start.js +114 -0
- package/pubmodules/trigger/triggerRoute.js +150 -0
- package/routes/department.js +51 -0
- package/routes/group.js +140 -0
- package/routes/lead.js +24 -1
- package/routes/message.js +6 -3
- package/routes/project.js +52 -0
- package/routes/public-request.js +265 -2
- package/routes/request.js +86 -13
- package/routes/subscription.js +140 -0
- package/routes/tag.js +138 -0
- package/routes/user-request.js +3 -2
- package/routes/widget.js +16 -1
- package/routes/widgetLoader.js +31 -0
- package/services/faqBotHandler.js +2 -2
- package/services/faqBotSupport.js +0 -1
- package/services/faqService.js +1 -1
- package/services/modulesManager.js +16 -182
- package/services/requestService.js +364 -6
- package/services/subscriptionNotifier.js +485 -0
- package/template/email/assignedEmailMessage.html +1 -1
- package/template/email/assignedRequest.html +1 -1
- package/template/email/newMessage.html +1 -1
- package/template/email/passwordChanged.html +1 -1
- package/template/email/pooledEmailMessage.html +1 -1
- package/template/email/pooledRequest.html +1 -1
- package/template/email/resetPassword.html +2 -2
- package/template/email/ticket.html +1 -1
- package/test/messageRoute.js +69 -0
- package/test/requestService.js +3 -1
- package/views/messages.jade +1 -1
package/README.md
CHANGED
@@ -9,11 +9,23 @@
|
|
9
9
|
|
10
10
|
# Introduction
|
11
11
|
|
12
|
-
Tiledesk-server is the server engine of Tiledesk. Tiledesk is an Open Source Live Chat platform with integrated
|
12
|
+
Tiledesk-server is the server engine of Tiledesk. Tiledesk is an Open Source Live Chat platform with integrated Chatbots written in NodeJs and Express. Build your own customer support with a multi-channel platform for Web, Android and iOS.
|
13
13
|
|
14
|
-
|
14
|
+
Designed to be open source since the beginning, we actively worked on it to create a totally new, first class customer service platform based on instant messaging.
|
15
15
|
|
16
|
-
|
16
|
+
What is Tiledesk today? It became the open source “conversational app development” platform that everyone needs 😌
|
17
|
+
|
18
|
+
You can use Tiledesk to increase sales for your website or for post-sales customer service. Every conversation can be automated using our first class native chatbot technology.
|
19
|
+
You can also connect your own applications using our APIs or Webhooks.
|
20
|
+
Moreover you can deploy entire visual applications inside a conversation. And your applications can converse with your chatbots or your end-users! We know this is cool 😎
|
21
|
+
|
22
|
+
Tiledesk is multichannel in a totally new way. You can write your chatbot scripts with images, buttons and other cool elements that your channels support. But you will configureyour chatbot replies only once. They will run on every channel, auto-adapting the responses to the target channel whatever it is, Whatsapp, Facebook Messenger, Telegram etc.
|
23
|
+
|
24
|
+
More info on Tiledesk website: https://www.tiledesk.com.
|
25
|
+
|
26
|
+
You can find technical documentation here: https://developer.tiledesk.com
|
27
|
+
|
28
|
+
# Prerequisites for Installation
|
17
29
|
|
18
30
|
* [Nodejs](https://www.npmjs.com/) and npm installed. Suggested versions are NodeJS 12.20.2 and NPM 6.14.11
|
19
31
|
* [MongoDb](https://www.mongodb.com) installed
|
@@ -25,23 +37,6 @@ Use [Docker Compose Tiledesk installation guide](https://github.com/Tiledesk/til
|
|
25
37
|
|
26
38
|
# Running Tiledesk Server
|
27
39
|
|
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
40
|
## Using Docker
|
46
41
|
|
47
42
|
|
@@ -65,12 +60,30 @@ Otherwise if you want to run tiledesk only with docker run :
|
|
65
60
|
docker run -p 3000:3000 --env DATABASE_URI="mongodb://YOUR_MONGO_INSTALLATION_ENDPOINT/tiledesk-server" --env-file .env tiledesk/tiledesk-server
|
66
61
|
```
|
67
62
|
|
63
|
+
|
64
|
+
|
65
|
+
## Run locally with npm
|
66
|
+
|
67
|
+
Steps to run with npm:
|
68
|
+
|
69
|
+
```
|
70
|
+
npm install -g @tiledesk/tiledesk-server mongodb-runner
|
71
|
+
mongodb-runner start
|
72
|
+
curl https://raw.githubusercontent.com/Tiledesk/tiledesk-server/master/.env.sample --output .env
|
73
|
+
nano .env #configure .env file properly
|
74
|
+
tiledesk-server
|
75
|
+
```
|
76
|
+
|
77
|
+
If you want to load .env file from another path: `DOTENV_PATH=/MY/ABSOLUTE/PATH/.env tiledesk-server`
|
78
|
+
|
79
|
+
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).
|
80
|
+
|
68
81
|
## Install from source code
|
69
82
|
|
70
83
|
* Clone this repo
|
71
84
|
* Install dependencies with `npm install`
|
72
85
|
* 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
|
86
|
+
* Run the app with the command `npm start`.
|
74
87
|
|
75
88
|
|
76
89
|
## Deploy on Heroku
|
@@ -79,6 +92,8 @@ Deploy with button:
|
|
79
92
|
|
80
93
|
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/Tiledesk/tiledesk-server)
|
81
94
|
|
95
|
+
# Community? Questions? Support ?
|
96
|
+
If you need help or just want to hang out, come, say hi on our [<img width="15" alt="Tiledesk discord" src="https://seeklogo.com/images/D/discord-color-logo-E5E6DFEF80-seeklogo.com.png"> Discord](https://discord.gg/nERZEZ7SmG) server.
|
82
97
|
|
83
98
|
# REST API
|
84
99
|
|
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) {
|
@@ -75,6 +87,9 @@ var lead = require('./routes/lead');
|
|
75
87
|
var message = require('./routes/message');
|
76
88
|
var messagesRootRoute = require('./routes/messagesRoot');
|
77
89
|
var department = require('./routes/department');
|
90
|
+
var group = require('./routes/group');
|
91
|
+
var resthook = require('./routes/subscription');
|
92
|
+
var tag = require('./routes/tag');
|
78
93
|
var faq = require('./routes/faq');
|
79
94
|
var faq_kb = require('./routes/faq_kb');
|
80
95
|
var project = require('./routes/project');
|
@@ -112,6 +127,9 @@ var RouterLogger = require('./models/routerLogger');
|
|
112
127
|
|
113
128
|
require('./services/mongoose-cache-fn')(mongoose);
|
114
129
|
|
130
|
+
var subscriptionNotifier = require('./services/subscriptionNotifier');
|
131
|
+
subscriptionNotifier.start();
|
132
|
+
|
115
133
|
var botSubscriptionNotifier = require('./services/BotSubscriptionNotifier');
|
116
134
|
botSubscriptionNotifier.start();
|
117
135
|
|
@@ -123,8 +141,7 @@ var faqBotHandler = require('./services/faqBotHandler');
|
|
123
141
|
faqBotHandler.listen();
|
124
142
|
|
125
143
|
var pubModulesManager = require('./pubmodules/pubModulesManager');
|
126
|
-
|
127
|
-
|
144
|
+
pubModulesManager.init({express:express, mongoose:mongoose, passport:passport, databaseUri:databaseUri, routes:{}});
|
128
145
|
|
129
146
|
var channelManager = require('./channels/channelManager');
|
130
147
|
channelManager.listen();
|
@@ -133,6 +150,7 @@ const ipfilter = require('express-ipfilter').IpFilter
|
|
133
150
|
// const IpDeniedError = require('express-ipfilter').IpDeniedError;
|
134
151
|
|
135
152
|
|
153
|
+
|
136
154
|
var modulesManager = undefined;
|
137
155
|
try {
|
138
156
|
modulesManager = require('./services/modulesManager');
|
@@ -157,8 +175,6 @@ if (process.env.CREATE_INITIAL_DATA !== "false") {
|
|
157
175
|
|
158
176
|
|
159
177
|
|
160
|
-
|
161
|
-
|
162
178
|
var app = express();
|
163
179
|
|
164
180
|
|
@@ -386,6 +402,8 @@ app.use('/auth', auth);
|
|
386
402
|
app.use('/testauth', [passport.authenticate(['basic', 'jwt'], { session: false }), validtoken], authtest);
|
387
403
|
|
388
404
|
app.use('/widgets', widgetsLoader);
|
405
|
+
app.use('/w', widgetsLoader);
|
406
|
+
|
389
407
|
app.use('/images', images);
|
390
408
|
app.use('/files', files);
|
391
409
|
app.use('/urls', urls);
|
@@ -429,8 +447,14 @@ app.use('/:projectid/departments', department);
|
|
429
447
|
|
430
448
|
|
431
449
|
|
450
|
+
|
451
|
+
|
432
452
|
channelManager.useUnderProjects(app);
|
433
453
|
|
454
|
+
app.use('/:projectid/groups', [passport.authenticate(['basic', 'jwt'], { session: false }), validtoken, roleChecker.hasRole('admin')], group);
|
455
|
+
app.use('/:projectid/tags', [passport.authenticate(['basic', 'jwt'], { session: false }), validtoken, roleChecker.hasRole('agent')], tag);
|
456
|
+
app.use('/:projectid/subscriptions', [passport.authenticate(['basic', 'jwt'], { session: false }), validtoken, roleChecker.hasRole('admin')], resthook);
|
457
|
+
|
434
458
|
//deprecated
|
435
459
|
app.use('/:projectid/faq', [passport.authenticate(['basic', 'jwt'], { session: false }), validtoken, roleChecker.hasRole('agent')], faq);
|
436
460
|
app.use('/:projectid/intents', [passport.authenticate(['basic', 'jwt'], { session: false }), validtoken, roleChecker.hasRole('agent')], faq);
|
@@ -201,12 +201,21 @@ router.post('/', function (req, res) {
|
|
201
201
|
return winston.error("project_user not found with query: ", queryProjectUser);
|
202
202
|
}
|
203
203
|
|
204
|
+
|
205
|
+
// var auto_close;
|
206
|
+
|
207
|
+
// // qui projecy nn c'è devi leggerlo
|
208
|
+
// if (req.project.attributes.auto_close === false) {
|
209
|
+
// auto_close = 10;
|
210
|
+
// }
|
211
|
+
|
204
212
|
|
205
213
|
var new_request = {
|
206
214
|
request_id: message.recipient, project_user_id:project_user_id, lead_id:createdLead._id, id_project:projectid, first_text:message.text,
|
207
215
|
departmentid:departmentid, sourcePage:sourcePage, language:language, userAgent:client, status:requestStatus, createdBy: undefined,
|
208
216
|
attributes:rAttributes, subject:undefined, preflight:false, channel:undefined, location:undefined,
|
209
217
|
lead:createdLead, requester:project_user
|
218
|
+
// , auto_close: auto_close
|
210
219
|
};
|
211
220
|
|
212
221
|
winston.debug("new_request", new_request);
|
@@ -398,7 +407,9 @@ router.post('/', function (req, res) {
|
|
398
407
|
// winston.debug('updatedParticipantsRequest', updatedParticipantsRequest);
|
399
408
|
// manca id
|
400
409
|
|
401
|
-
|
410
|
+
// closeRequestByRequestId(request_id, id_project, skipStatsUpdate, notify, closed_by)
|
411
|
+
const closed_by = user_id;
|
412
|
+
return requestService.closeRequestByRequestId(recipient_id, projectId, false, true,closed_by ).then(function(updatedStatusRequest) {
|
402
413
|
|
403
414
|
winston.debug('updatedStatusRequest', updatedStatusRequest.toObject());
|
404
415
|
return res.json(updatedStatusRequest);
|
@@ -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/event/botEvent.js
CHANGED
@@ -123,7 +123,7 @@ messageEvent.on('message.create', function(message) {
|
|
123
123
|
if (bot.type==="internal") {
|
124
124
|
botEvent.emit('bot.message.received.notify.internal', message);
|
125
125
|
|
126
|
-
}else {
|
126
|
+
}else { //external
|
127
127
|
if (bot.url) {
|
128
128
|
var botNotification = {bot: bot, message: message};
|
129
129
|
botEvent.emit('bot.message.received.notify.external', botNotification);
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
package/middleware/passport.js
CHANGED
@@ -83,9 +83,12 @@ module.exports = function(passport) {
|
|
83
83
|
// qui arriva questo
|
84
84
|
// decoded: {"_id":"5ce3ee855c520200176c189e","updatedAt":"2019-05-31T09:50:22.949Z","createdAt":"2019-05-21T12:26:45.192Z","name":"botext","url":"https://tiledesk-v2-simple--andrealeo83.repl.co","id_project":"5ce3d1ceb25ad30017274bc5","trashed":false,"createdBy":"5ce3d1c7b25ad30017274bc2","__v":0,"external":true,"iat":1559297130,"aud":"https://tiledesk.com","iss":"https://tiledesk.com","sub":"5ce3ee855c520200176c189e@tiledesk.com/bot"}
|
85
85
|
|
86
|
-
winston.debug("decoded.aud: "+ decoded.aud );
|
87
86
|
|
88
87
|
if (decoded && decoded.aud) {
|
88
|
+
|
89
|
+
winston.debug("decoded.aud: "+ decoded.aud );
|
90
|
+
|
91
|
+
|
89
92
|
const audUrl = new URL(decoded.aud);
|
90
93
|
winston.debug("audUrl: "+ audUrl );
|
91
94
|
const path = audUrl.pathname;
|
package/models/lead.js
CHANGED
@@ -96,6 +96,8 @@ var LeadSchema = new Schema({
|
|
96
96
|
LeadSchema.index({fullname: 'text', email: 'text'},
|
97
97
|
{"name":"lead_fulltext","default_language": defaultFullTextLanguage,"language_override": "dummy"}); // schema level
|
98
98
|
|
99
|
+
// suggested by atlas
|
100
|
+
LeadSchema.index({status: 1, id_project: 1, createdAt: -1});
|
99
101
|
|
100
102
|
var lead = mongoose.model('lead', LeadSchema);
|
101
103
|
|