Actualizar robot.js
This commit is contained in:
24
robot.js
24
robot.js
@@ -31,6 +31,19 @@ function arreglarNombre(nombreRaw) {
|
|||||||
return nombreLimpio;
|
return nombreLimpio;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 🛡️ DESCODIFICADOR UNIVERSAL PARA HOMESERVE (Arregla los +, Ó, Ñ, etc.)
|
||||||
|
function arreglarCodificacion(texto) {
|
||||||
|
if (!texto) return "";
|
||||||
|
let limpio = texto.replace(/\+/g, ' '); // Primero cambiamos los + por espacios
|
||||||
|
try {
|
||||||
|
// Truco clásico de Javascript para transformar ISO a UTF-8
|
||||||
|
limpio = decodeURIComponent(escape(limpio));
|
||||||
|
} catch(e) {
|
||||||
|
// Si no se puede, lo dejamos con los espacios arreglados
|
||||||
|
}
|
||||||
|
return limpio.trim();
|
||||||
|
}
|
||||||
|
|
||||||
// NUEVO: La función ahora lee las keywords directamente del JSON de la base de datos
|
// NUEVO: La función ahora lee las keywords directamente del JSON de la base de datos
|
||||||
function clasificarGremio(descripcion, gremiosActivosDB) {
|
function clasificarGremio(descripcion, gremiosActivosDB) {
|
||||||
if (!descripcion || gremiosActivosDB.length === 0) return null;
|
if (!descripcion || gremiosActivosDB.length === 0) return null;
|
||||||
@@ -356,7 +369,8 @@ async function runHomeserve(ownerId, user, pass, gremiosDB) {
|
|||||||
// Quitamos los filtros destructivos que borraban el "Cambio de estado"
|
// Quitamos los filtros destructivos que borraban el "Cambio de estado"
|
||||||
return !["ESTADO ASIGNADO", "SMS NO ENVIADO", "CONTACTO CON PROF", "0000"].some(b => l.includes(b));
|
return !["ESTADO ASIGNADO", "SMS NO ENVIADO", "CONTACTO CON PROF", "0000"].some(b => l.includes(b));
|
||||||
}).join('\n').trim();
|
}).join('\n').trim();
|
||||||
d['Descripción'] = cleanDesc;
|
// Aplicamos el descodificador a la avería
|
||||||
|
d['Descripción'] = cleanDesc; // Se limpiará luego abajo
|
||||||
} else if (k.length > 1 && v.length > 0 && !k.includes("MENU")) {
|
} else if (k.length > 1 && v.length > 0 && !k.includes("MENU")) {
|
||||||
d[k] = v;
|
d[k] = v;
|
||||||
}
|
}
|
||||||
@@ -378,7 +392,13 @@ async function runHomeserve(ownerId, user, pass, gremiosDB) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (scrapData && scrapData['Nombre Cliente']) {
|
if (scrapData && scrapData['Nombre Cliente']) {
|
||||||
// 🪄 Arreglamos el nombre ANTES de guardarlo (Solo en HomeServe)
|
// 🪄 Arreglamos la codificación alienígena de HomeServe EN TODOS LOS CAMPOS IMPORTANTES
|
||||||
|
scrapData['Nombre Cliente'] = arreglarCodificacion(scrapData['Nombre Cliente']);
|
||||||
|
scrapData['Dirección'] = arreglarCodificacion(scrapData['Dirección']);
|
||||||
|
scrapData['Población'] = arreglarCodificacion(scrapData['Población']);
|
||||||
|
scrapData['Descripción'] = arreglarCodificacion(scrapData['Descripción']);
|
||||||
|
|
||||||
|
// 🪄 Arreglamos el formato de "Apellidos, Nombre" (Solo en HomeServe)
|
||||||
scrapData['Nombre Cliente'] = arreglarNombre(scrapData['Nombre Cliente']);
|
scrapData['Nombre Cliente'] = arreglarNombre(scrapData['Nombre Cliente']);
|
||||||
|
|
||||||
// 🛑 NUEVO: Le inyectamos los iconos que cazamos antes en la lista
|
// 🛑 NUEVO: Le inyectamos los iconos que cazamos antes en la lista
|
||||||
|
|||||||
Reference in New Issue
Block a user