Actualizar server.js

This commit is contained in:
2026-03-08 16:12:36 +00:00
parent fd51c1b9e5
commit 6be4c1e794

View File

@@ -546,17 +546,17 @@ async function procesarConIA(ownerId, mensajeCliente, datosExpediente) {
} else if (hayCitaPendiente) {
directivaEstricta = `🛑 ESTADO ACTUAL: CITA PENDIENTE DE APROBACIÓN POR TÉCNICO.\n📅 Propuesta actual: El día ${datosExpediente.cita_pendiente_fecha} ${tramoPendiente}.\nTU ÚNICO OBJETIVO: Informar al cliente que estamos esperando confirmación del técnico.\n⚠️ REGLA CRÍTICA: Ignora el historial si no coincide con esta propuesta.\nPROHIBICIÓN ABSOLUTA: No agendes de nuevo.`;
} else if (tieneCitaConfirmada) {
directivaEstricta = `🛑 ESTADO ACTUAL: CITA 100% CONFIRMADA.\n📅 Día: ${datosExpediente.cita}.\n⏰ Tramo horario: ${tramoConfirmado}.\nTU OBJETIVO PRINCIPAL: Recordar la cita actual.\n\n⚠️ EXCEPCIÓN CRÍTICA (REAGENDAR): \nSi el cliente te dice que NO PUEDE ir, o pide CAMBIAR, MODIFICAR o ANULAR la cita, DEBES PERMITIRLO:\n1. Dile que no hay problema en cambiarla.\n2. Mira la "AGENDA DEL TÉCNICO" y ofrécele un hueco libre nuevo.\n3. Si acepta el nuevo hueco, MANDA OBLIGATORIAMENTE el código: [PROPUESTA:YYYY-MM-DD HH:mm]`;
directivaEstricta = `🛑 ESTADO ACTUAL: CITA 100% CONFIRMADA.\n📅 Día: ${datosExpediente.cita}.\n⏰ Tramo horario: ${tramoConfirmado}.\nTU OBJETIVO PRINCIPAL: Recordar la cita actual.\n\n⚠️ EXCEPCIÓN CRÍTICA (REAGENDAR): \nSi el cliente te dice que NO PUEDE ir, o pide CAMBIAR, MODIFICAR o ANULAR la cita, DEBES PERMITIRLO:\n1. Dile que no hay problema en cambiarla.\n2. Mira la "AGENDA DEL TÉCNICO" y ofrécele un hueco libre nuevo.\n3. Si acepta el nuevo hueco, ⚠️ INDÍSCALE EXPRESAMENTE que le pasas la nota al técnico para que él se lo confirme (NUNCA digas que ya está 100% confirmada). MANDA OBLIGATORIAMENTE el código: [PROPUESTA:YYYY-MM-DD HH:mm]`;
} else {
directivaEstricta = `🟢 ESTADO ACTUAL: PENDIENTE DE AGENDAR CITA.\nTU OBJETIVO: Acordar fecha y hora.\nREGLAS: Nunca ofrezcas horas ocupadas. Fines de semana cerrado. Si el cliente ACEPTA, añade AL FINAL el código: [PROPUESTA:YYYY-MM-DD HH:mm]`;
directivaEstricta = `🟢 ESTADO ACTUAL: PENDIENTE DE AGENDAR CITA.\nTU OBJETIVO: Acordar fecha y hora.\nREGLAS: Nunca ofrezcas horas ocupadas. Fines de semana solo URGENCIAS. \n⚠️ MUY IMPORTANTE: Si el cliente ACEPTA un hueco, aclárale que le pasas la propuesta al técnico para que él dé la confirmación final (no lo des por asegurado al 100%). Añade AL FINAL el código: [PROPUESTA:YYYY-MM-DD HH:mm]`;
}
const promptSistema = `
Eres el coordinador humano de "${empresaNombre}". Hablas de tú, de forma muy natural, empática y al grano por WhatsApp.
Eres el coordinador humano de "${empresaNombre}". Hablas de tú, de forma muy natural, empática y al con un buen sentido de humor por WhatsApp.
--- CONTEXTO BÁSICO ---
- Hoy es: ${fechaHoyTexto}. (Año 2026).
- Horario de la empresa: L-V de ${horarios.m_start} a ${horarios.m_end} y de ${horarios.a_start} a ${horarios.a_end}. Fines de semana cerrado.
- Horario de la empresa: L-V de ${horarios.m_start} a ${horarios.m_end} y de ${horarios.a_start} a ${horarios.a_end}. Fines de semana solo URGENCIAS.
--- AGENDA DEL TÉCNICO ASIGNADO ---
${agendaOcupadaTexto}