@developpement/tp-chatbot-widget 0.0.8 → 0.0.9
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/package.json +2 -3
- package/src/chatbot.js +51 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@developpement/tp-chatbot-widget",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.9",
|
|
4
4
|
"description": "Chatbot widget for TravelPlanet / Makitizy",
|
|
5
5
|
"main": "src/chatbot.js",
|
|
6
6
|
"files": [
|
|
@@ -10,8 +10,7 @@
|
|
|
10
10
|
"keywords": [
|
|
11
11
|
"chatbot",
|
|
12
12
|
"widget",
|
|
13
|
-
"makitizy"
|
|
14
|
-
"travelplanet"
|
|
13
|
+
"makitizy"
|
|
15
14
|
],
|
|
16
15
|
"license": "ISC"
|
|
17
16
|
}
|
package/src/chatbot.js
CHANGED
|
@@ -241,6 +241,11 @@
|
|
|
241
241
|
limit_reached: 'Vous avez atteint la limite de 30 messages. Veuillez contacter un agent ou écrire à support@travelplanet.com.',
|
|
242
242
|
too_many: 'Trop de messages. Veuillez patienter avant de réessayer.',
|
|
243
243
|
error_occurred: 'Une erreur est survenue. Veuillez réessayer.',
|
|
244
|
+
outside_hours: next => `ℹ️ Notre support est actuellement fermé. Prochain créneau : ${next}.`,
|
|
245
|
+
no_agents: 'ℹ️ Aucun agent disponible pour le moment. Veuillez réessayer plus tard.',
|
|
246
|
+
waiting_agent: '✅ Votre demande a été transmise. Un agent va prendre en charge votre conversation.',
|
|
247
|
+
waiting_agent_already: "ℹ️ Vous êtes déjà en file d'attente. Merci de patienter.",
|
|
248
|
+
agent_already: 'ℹ️ Un agent gère déjà votre conversation.',
|
|
244
249
|
},
|
|
245
250
|
EN: {
|
|
246
251
|
closed: '✅ Conversation closed',
|
|
@@ -267,6 +272,11 @@
|
|
|
267
272
|
limit_reached: 'You have reached the 30 message limit. Please contact an agent or write to support@travelplanet.com.',
|
|
268
273
|
too_many: 'Too many messages. Please wait before retrying.',
|
|
269
274
|
error_occurred: 'An error occurred. Please try again.',
|
|
275
|
+
outside_hours: next => `ℹ️ Our support is currently closed. Next available slot: ${next}.`,
|
|
276
|
+
no_agents: 'ℹ️ No agent available at the moment. Please try again later.',
|
|
277
|
+
waiting_agent: '✅ Your request has been sent. An agent will take over shortly.',
|
|
278
|
+
waiting_agent_already: 'ℹ️ You are already in the queue. Please wait.',
|
|
279
|
+
agent_already: 'ℹ️ An agent is already handling your conversation.',
|
|
270
280
|
},
|
|
271
281
|
DE: {
|
|
272
282
|
closed: '✅ Gespräch beendet',
|
|
@@ -293,6 +303,11 @@
|
|
|
293
303
|
limit_reached: 'Sie haben das Limit von 30 Nachrichten erreicht.',
|
|
294
304
|
too_many: 'Zu viele Nachrichten. Bitte warten Sie.',
|
|
295
305
|
error_occurred: 'Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut.',
|
|
306
|
+
outside_hours: next => `ℹ️ Unser Support ist derzeit geschlossen. Nächster Termin: ${next}.`,
|
|
307
|
+
no_agents: 'ℹ️ Derzeit kein Agent verfügbar. Bitte versuchen Sie es später.',
|
|
308
|
+
waiting_agent: '✅ Ihre Anfrage wurde übermittelt. Ein Agent übernimmt gleich.',
|
|
309
|
+
waiting_agent_already: 'ℹ️ Sie sind bereits in der Warteschlange. Bitte warten.',
|
|
310
|
+
agent_already: 'ℹ️ Ein Agent betreut bereits Ihr Gespräch.',
|
|
296
311
|
},
|
|
297
312
|
ES: {
|
|
298
313
|
closed: '✅ Conversación cerrada',
|
|
@@ -319,6 +334,11 @@
|
|
|
319
334
|
limit_reached: 'Ha alcanzado el límite de 30 mensajes.',
|
|
320
335
|
too_many: 'Demasiados mensajes. Por favor espere.',
|
|
321
336
|
error_occurred: 'Se produjo un error. Por favor, inténtelo de nuevo.',
|
|
337
|
+
outside_hours: next => `ℹ️ Nuestro soporte está cerrado. Próximo horario: ${next}.`,
|
|
338
|
+
no_agents: 'ℹ️ No hay agentes disponibles. Inténtelo más tarde.',
|
|
339
|
+
waiting_agent: '✅ Su solicitud ha sido enviada. Un agente le atenderá pronto.',
|
|
340
|
+
waiting_agent_already: 'ℹ️ Ya está en la cola de espera. Por favor, espere.',
|
|
341
|
+
agent_already: 'ℹ️ Un agente ya está gestionando su conversación.',
|
|
322
342
|
},
|
|
323
343
|
IT: {
|
|
324
344
|
closed: '✅ Conversazione chiusa',
|
|
@@ -345,6 +365,11 @@
|
|
|
345
365
|
limit_reached: 'Hai raggiunto il limite di 30 messaggi.',
|
|
346
366
|
too_many: 'Troppi messaggi. Attendere prego.',
|
|
347
367
|
error_occurred: 'Si è verificato un errore. Riprova.',
|
|
368
|
+
outside_hours: next => `ℹ️ Il supporto è chiuso. Prossima disponibilità: ${next}.`,
|
|
369
|
+
no_agents: 'ℹ️ Nessun agente disponibile. Riprova più tardi.',
|
|
370
|
+
waiting_agent: '✅ Richiesta inviata. Un agente prenderà in carico la conversazione.',
|
|
371
|
+
waiting_agent_already: 'ℹ️ È già in coda. Attenda.',
|
|
372
|
+
agent_already: 'ℹ️ Un agente sta già gestendo la conversazione.',
|
|
348
373
|
},
|
|
349
374
|
NL: {
|
|
350
375
|
closed: '✅ Gesprek gesloten',
|
|
@@ -371,6 +396,11 @@
|
|
|
371
396
|
limit_reached: 'U heeft de limiet van 30 berichten bereikt.',
|
|
372
397
|
too_many: 'Te veel berichten. Wacht even.',
|
|
373
398
|
error_occurred: 'Er is een fout opgetreden. Probeer het opnieuw.',
|
|
399
|
+
outside_hours: next => `ℹ️ Onze support is gesloten. Volgende beschikbare tijd: ${next}.`,
|
|
400
|
+
no_agents: 'ℹ️ Geen agent beschikbaar. Probeer het later opnieuw.',
|
|
401
|
+
waiting_agent: '✅ Uw verzoek is verzonden. Een agent neemt het gesprek over.',
|
|
402
|
+
waiting_agent_already: 'ℹ️ U staat al in de wachtrij. Even geduld.',
|
|
403
|
+
agent_already: 'ℹ️ Een agent beheert uw gesprek al.',
|
|
374
404
|
},
|
|
375
405
|
};
|
|
376
406
|
return msgs[lang] || msgs['EN'];
|
|
@@ -1174,10 +1204,28 @@
|
|
|
1174
1204
|
body: JSON.stringify({ user_id: this.user_id }),
|
|
1175
1205
|
});
|
|
1176
1206
|
const data = await response.json();
|
|
1177
|
-
this.
|
|
1178
|
-
|
|
1207
|
+
const m = this.getMessages();
|
|
1208
|
+
const status = data.result?.status;
|
|
1209
|
+
|
|
1210
|
+
let msg = '';
|
|
1211
|
+
if (status === 'outside_hours') {
|
|
1212
|
+
msg = m.outside_hours(data.result.next_opening);
|
|
1213
|
+
} else if (status === 'no_agents') {
|
|
1214
|
+
msg = m.no_agents;
|
|
1215
|
+
} else if (status === 'waiting_agent') {
|
|
1216
|
+
msg = m.waiting_agent;
|
|
1217
|
+
} else if (status === 'waiting_agent_already') {
|
|
1218
|
+
msg = m.waiting_agent_already;
|
|
1219
|
+
} else if (status === 'agent') {
|
|
1220
|
+
msg = m.agent_already;
|
|
1221
|
+
}
|
|
1222
|
+
|
|
1223
|
+
if (msg) {
|
|
1224
|
+
this.addMessage('system', msg);
|
|
1225
|
+
this.last_message_count += 1;
|
|
1226
|
+
}
|
|
1179
1227
|
|
|
1180
|
-
if (
|
|
1228
|
+
if (status === 'no_agents' || status === 'outside_hours' || status === 'waiting_agent_already') {
|
|
1181
1229
|
this.agent_requested = false;
|
|
1182
1230
|
if (agent_bar) agent_bar.style.display = 'block';
|
|
1183
1231
|
}
|