@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.
Files changed (2) hide show
  1. package/package.json +2 -3
  2. 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.8",
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.addMessage('system', data.result.message);
1178
- this.last_message_count += 1;
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 (data.result.status === 'no_agents' || data.result.status === 'outside_hours') {
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
  }