Acabo de terminar mi bot y quería invitarlo a otro servidor para probarlo.
Sin embargo, cuando escribí / no aparecieron comandos.
Cuando invité al bot, habilité application.commands para poder usar los comandos slash, pero aún así no funcionó. Mi bot también tiene un controlador de comando de barra global, por lo que normalmente debería funcionar, ¿no?
No sé si se necesita el código del controlador, pero lo agregaré aquí en caso de que lo necesite:
const { Perms } = require('../Validation/Permissions'); const { Client } = require('discord.js'); /** * @param {Client} client */ module.exports = async (client, PG, Ascii) => { const Table = new Ascii("Command Loaded"); CommandsArray = []; (await PG(`${process.cwd()}/Commands/*/*.js`)).map(async (file) => { const command = require(file); if(!command.name) return Table.addRow(file.split("/")[7], "⛔ FAILED", "Missing a name.") if(command.type !== "USER" && !command.description) return Table.addRow(command.name, "⛔ FAILED", "Missing a description.") if(command.permission){ if(Perms.includes(command.permission)) command.defaultPermission = false; else return Table.addRow(command.name, "⛔ FAILED", "Permission is invalid.") } client.commands.set(command.name, command); CommandsArray.push(command); await Table.addRow(command.name, "✅ SUCCESSFUL"); }); console.log(Table.toString()); // PERMISSIONS CHECK // client.on("ready", async () =>{ client.guilds.cache.forEach((g) => { g.commands.set(CommandsArray).then(async (command) =>{ const Roles = (commandName) => { const cmdPerms = CommandsArray.find((c) => c.name === commandName).permission; if(!cmdPerms) return null; return g.roles.cache.filter((r) => r.permissions.has(cmdPerms) && !r.managed).first(10); } const fullPermissions = command.reduce((accumulator, r) =>{ const roles = Roles(r.name); if(!roles) return accumulator; const permissions = roles.reduce((a, r) =>{ return [...a, {id: r.id, type: "ROLE", permission:true}] }, []); return [...accumulator, {id: r.id, permissions}] }, []); await g.commands.permissions.set({ fullPermissions }); }); }) }); }Primero debe registrar el comando, que es esencialmente crear el comando dentro de Discord. Siga la guía para configurarlo. Y para aclarar, solo registra el comando una vez, si eso no es obvio.
Puede usar Postman para crear/editar los comandos si se siente cómodo con eso.