Saltar al contenido
← Todos los tutoriales

Fundamentos de los comandos de barra

Registro de comandos, opciones, permisos y la regla de los 3 segundos.

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