Eso parece un error o no sé, pero estoy seguro de que se puede arreglar. Todos mis comandos de barra están duplicados, primero es la versión más nueva del comando, segundo es una versión obsoleta.
Supongo que está relacionado con el registro del comando de barra, así que aquí está:
const guild = await client.guilds.cache .get("836212492769165363") guild.commands.set(arrayOfSlashCommands).then((cmd) => { const getRoles = (commandName) => { const permissions = arrayOfSlashCommands.find(x => x.name === commandName).userPermissions; if(!permissions) return null; return guild.roles.cache.filter(x => x.permissions.has(permissions) && !x.managed) } const fullPermissions = cmd.reduce((accumulator, x) => { const roles = getRoles(x.name); if(!roles) return accumulator; const permissions = roles.reduce((a, v) => { return [ ...a, { id: v.id, type: 'ROLE', permission: true, }, ] }, []) return [ ...accumulator, { id: x.id, permissions, } ] }, []) guild.commands.permissions.set({ fullPermissions }).catch((e) => console.log(e)) })Los comandos globales y de gremio no son lo mismo.
Los comandos globales y de gremio son 2 tipos diferentes de comandos de barra que se almacenan en diferentes lugares.
Ambos tienen el límite de 100 y tienen sus propios límites de tasa.
Imagina que tienes 2 servidores, uno llamado A y otro llamado B
Ahora, registró 2 comandos de gremio dentro de A . Esos 2 comandos no aparecerían en B .
Pero si registra otros 2 comandos globales, esto aparecerá en ambos servidores e incluye DM.
Registraste los comandos globales y de gremio y ambos tienen la misma configuración.
Esa es la razón por la que todos aparecieron duplicados.
Hay una forma de restablecer todos los comandos globales y de tu gremio.
Al usar el siguiente código a continuación, restablecerá los comandos del gremio de inmediato.
Sin embargo, tendrá que esperar ~1 hora para que se actualicen los comandos globales.
const guild = client.guilds.cache.get("<guild id>"); // This takes ~1 hour to update client.application.commands.set([]); // This updates immediately guild.commands.set([]);Intenta reiniciar tu bot usando este código:
client.application.commands.set([])O si tienes el gremio puedes hacer esto:
guild.commands.set([])Esto puede tomar algún tiempo para terminar, pero funcionará. Borrará todos los comandos de barra para que pueda volver a colocarlos sin duplicarlos. Por lo que veo, tienes tanto los comandos del gremio como los comandos de la aplicación.