fix: métricas de unknown/alias y chequeo de tabla users para onboarding

Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
main
brobert 3 days ago
parent fc0eddf8b1
commit 28147446a1

@ -47,11 +47,18 @@ export class CommandService {
// Registrar interacción del usuario (last_command_at) para cualquier comando /t …
try {
const ensured = ensureUserExists(context.sender, this.dbInstance);
if (ensured) {
try {
this.dbInstance.prepare(`UPDATE users SET last_command_at = strftime('%Y-%m-%d %H:%M:%f','now') WHERE id = ?`).run(ensured);
} catch {}
let usersTableExists = false;
try {
const row = this.dbInstance.query(`SELECT name FROM sqlite_master WHERE type='table' AND name='users'`).get() as any;
usersTableExists = !!row;
} catch {}
if (usersTableExists) {
const ensured = ensureUserExists(context.sender, this.dbInstance);
if (ensured) {
try {
this.dbInstance.prepare(`UPDATE users SET last_command_at = strftime('%Y-%m-%d %H:%M:%f','now') WHERE id = ?`).run(ensured);
} catch {}
}
}
} catch {}

@ -81,6 +81,14 @@ export async function route(context: RouteContext, deps?: { db: Database }): Pro
// Ayuda (no requiere DB)
if (action === 'ayuda') {
// Métrica de alias "info" (compatibilidad con legacy)
try {
if (rawAction === 'info' || rawAction === '?') {
Metrics.inc('commands_alias_used_total', 1, { action: 'info' });
}
} catch {}
try { ResponseQueue.setOnboardingAggregatesMetrics(); } catch {}
const isAdvanced = (tokens[2] || '').toLowerCase() === 'avanzada';
const message = isAdvanced
? getFullHelp()
@ -150,6 +158,7 @@ export async function route(context: RouteContext, deps?: { db: Database }): Pro
}
// Desconocido → ayuda rápida
try { Metrics.inc('commands_unknown_total'); } catch {}
return [{
recipient: context.sender,
message: buildUnknownHelp()

Loading…
Cancel
Save