feat: Change 'completar' to 'lista' and allow `/tarea 14` to complete tasks

main
brobert (aider) 3 months ago
parent 68ace19f51
commit e877e14325

@ -47,10 +47,25 @@ export function handleTaskCommand(body: string, sender: string, groupId: string,
} else {
sendMessage(sender, 'Debes mencionar a un usuario para asignar la tarea. Ejemplo: /tarea asignar 1 @usuario');
}
} else if (action === 'completar') {
} else if (action === 'lista' || (!action && args.length === 1 && !isNaN(Number(args[0])))) {
// Handle both /tarea lista 14 and /tarea 14
const taskId = args[0];
const task = getTaskById(parseInt(taskId));
if (!task) {
sendMessage(sender, `Tarea ${taskId} no encontrada`);
return;
}
// Check if task is assigned to current user
const currentUser = `@${sender.split('@')[0]}`;
if (task.assignedTo !== currentUser) {
sendMessage(sender, `No puedes completar la tarea ${taskId} porque no está asignada a ti`);
return;
}
completeTask(parseInt(taskId));
sendMessage(sender, `Tarea ${taskId} marcada como completada`);
sendMessage(sender, `Tarea ${taskId} completada: ${task.description}`);
} else if (action === 'mostrar' || !action) {
// Handle /tarea or /tarea mostrar
const user = `@${sender.split('@')[0]}`; // Default to the sender

@ -55,3 +55,12 @@ export function getPendingTasks(assignedTo: string) {
[assignedTo]
);
}
// Get task by ID
export function getTaskById(taskId: number) {
const tasks = query(
'SELECT * FROM tasks WHERE id = ?',
[taskId]
);
return tasks[0] || null;
}

Loading…
Cancel
Save