feat: añade FEATURE_HELP_V2 por defecto y conserva ayuda legacy

Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
webui
brobert 2 weeks ago
parent 250149637a
commit 36f98d09dc

@ -207,7 +207,53 @@ export class CommandService {
const todayYMD = ymdInTZ(new Date());
if (!action || action === 'ayuda') {
const feature = String(process.env.FEATURE_HELP_V2 ?? 'true').toLowerCase();
const helpV2Enabled = !['false', '0', 'no'].includes(feature);
const isAdvanced = (tokens[2] || '').toLowerCase() === 'avanzada';
// Fallback legacy (Help v1)
if (!helpV2Enabled) {
if (isAdvanced) {
const adv = [
'*Ayuda avanzada:*',
'Comandos y alias:',
' · Crear: `n`, `nueva`, `crear`, `+`',
' · Ver: `ver`, `mostrar`, `listar`, `ls` (opciones: `grupo` | `mis` | `todos` | `sin`)',
' · Completar: `x`, `hecho`, `completar`, `done` (acepta varios IDs: "`/t x 14 19 24`" o "`/t x 14,19,24`"; máximo 10)',
' · Tomar: `tomar`, `claim` (acepta varios IDs: "`/t tomar 12 19 50`" o "`/t tomar 12,19,50`"; máximo 10)',
' · Soltar: `soltar`, `unassign`',
'Preferencias:',
' · `/t configurar diario|l-v|semanal|off [HH:MM]` (por defecto _08:30_; semanal: _lunes_; l-v: lunes a viernes)',
'Notas:',
' · En grupos, el bot responde por DM (no publica en el grupo).',
' · Si creas una tarea en un grupo y no mencionas a nadie → “sin responsable”; en DM → se asigna a quien la cree.',
' · Fechas dd/MM con ⚠️ si está vencida.',
' · Mostramos los IDs de las tareas con 4 dígitos, pero puedes escribirlos sin ceros (p. ej., 26).',
].join('\n');
return [{
recipient: context.sender,
message: adv
}];
}
const help = [
'Guía rápida:',
'- Crear: `/t n Descripción 2028-11-26 @Ana`',
'- Ver grupo: `/t ver` (en el grupo)',
'- Ver mis tareas: `/t ver mis` (por DM)',
'- Ver todas: `/t ver todas` (por DM)',
'- Completar: `/t x 123` (máx. 10)',
'- Tomar: `/t tomar 12` (máx. 10)',
'- Configurar recordatorios: `/t configurar diario|l-v|semanal|off [HH:MM]`',
'- Ayuda avanzada: `/t ayuda avanzada`'
].join('\n');
return [{
recipient: context.sender,
message: help
}];
}
// Help v2
if (isAdvanced) {
return [{
recipient: context.sender,
@ -988,7 +1034,16 @@ export class CommandService {
}
if (action !== 'nueva') {
const feature = String(process.env.FEATURE_HELP_V2 ?? 'true').toLowerCase();
const helpV2Enabled = !['false', '0', 'no'].includes(feature);
try { Metrics.inc('commands_unknown_total'); } catch {}
if (!helpV2Enabled) {
return [{
recipient: context.sender,
message: `Acción ${rawAction || '(vacía)'} no implementada aún`
}];
}
const header = `${section('Comando no reconocido')}`;
const cta = `Prueba ${code('/t ayuda')}`;
const help = getQuickHelp();

Loading…
Cancel
Save