Eliminacion de slashcommand automatico en caso de comandos redisuales

This commit is contained in:
2025-09-20 03:02:10 -05:00
parent 62b1c566ad
commit 0f18f3a56c

View File

@@ -23,8 +23,25 @@ export async function registeringCommands(): Promise<void> {
const rest = new REST().setToken(process.env.TOKEN ?? "");
try {
console.log(`🚀 Registrando ${commandsToRegister.length} comandos slash...`);
console.log(`🧹 Limpiando comandos antiguos/residuales...`);
// Primero eliminamos TODOS los comandos existentes
await rest.put(
Routes.applicationGuildCommands(
process.env.CLIENT!,
process.env.guildTest!
),
{ body: [] } // Array vacío elimina todos los comandos
);
console.log(`✅ Comandos antiguos eliminados correctamente.`);
// Pequeña pausa para asegurar que Discord procese la eliminación
await new Promise(resolve => setTimeout(resolve, 1000));
console.log(`🚀 Registrando ${commandsToRegister.length} comandos slash nuevos...`);
// Ahora registramos los comandos actuales
const data: any = await rest.put(
Routes.applicationGuildCommands(
process.env.CLIENT!,
@@ -34,8 +51,51 @@ export async function registeringCommands(): Promise<void> {
);
console.log(`${data.length} comandos registrados correctamente.`);
console.log(`🎉 Proceso completado: comandos antiguos limpiados y nuevos registrados.`);
} catch (error) {
console.error("❌ Error registrando comandos:", error);
console.error("❌ Error en el proceso de comandos:", error);
}
}
/**
* Función específica para eliminar TODOS los comandos slash (útil para limpieza)
*/
export async function clearAllCommands(): Promise<void> {
const rest = new REST().setToken(process.env.TOKEN ?? "");
try {
console.log(`🧹 Eliminando TODOS los comandos slash...`);
await rest.put(
Routes.applicationGuildCommands(
process.env.CLIENT!,
process.env.guildTest!
),
{ body: [] }
);
console.log(`✅ Todos los comandos han sido eliminados correctamente.`);
} catch (error) {
console.error("❌ Error eliminando comandos:", error);
}
}
/**
* Función para limpiar comandos globales (si los hay)
*/
export async function clearGlobalCommands(): Promise<void> {
const rest = new REST().setToken(process.env.TOKEN ?? "");
try {
console.log(`🌍 Eliminando comandos globales...`);
await rest.put(
Routes.applicationCommands(process.env.CLIENT!),
{ body: [] }
);
console.log(`✅ Comandos globales eliminados correctamente.`);
} catch (error) {
console.error("❌ Error eliminando comandos globales:", error);
}
}