Qué es un comando de barra
Los comandos de barra se registran en Discord por adelantado. Cuando alguien usa uno, tu bot recibe una interacción y debe responder en 3 segundos (o confirmarla y responder después).
const { Client, GatewayIntentBits, Events } = require("discord.js");
const client = new Client({ intents: [GatewayIntentBits.Guilds] });
client.once(Events.ClientReady, async (c) => {
await c.application.commands.set([
{ name: "ping", description: "Check that the bot is alive" },
]);
});
client.on(Events.InteractionCreate, async (interaction) => {
if (interaction.isChatInputCommand() && interaction.commandName === "ping") {
await interaction.reply("Pong!"); // reply within 3 seconds
}
});
client.login(process.env.DISCORD_TOKEN);Opciones
Los comandos pueden recibir opciones tipadas: texto, enteros, verdadero/falso, usuarios, roles y canales. Las opciones obligatorias deben ir antes que las opcionales. En el sandbox, el selector de comandos muestra las mismas opciones.
Quién puede usar un comando
Define permisos obligatorios (por ejemplo Kick Members) para que Discord oculte el comando a quien no los tenga. El sandbox lo simula.
Respuestas efímeras
Las respuestas pueden ser efímeras: solo las ve quien ejecutó el comando. Son ideales para confirmaciones y errores.
Comandos globales o de servidor
Los bots generados registran comandos globales. Mientras pruebas, define el secreto DISCORD_GUILD_ID con el ID de tu servidor de pruebas para registrarlos allí al instante.
¿Listo para crear tu primer bot?
Crear un bot — gratis