option.setName(...).setDescription(...).setType is not a function

error : option.setName(...).setDescription(...).setType is not a function 


The code

js : const { EmbedBuilder, ApplicationCommandOptionType } = require("discord.js");
const { SlashCommandBuilder } = require("discord.js");

const data = new SlashCommandBuilder()
  .setName("setup")
  .setDescription("définis année et canal pour les devoirs")
  .addStringOption((option) =>
    option
      .setName("année")
      .setDescription("votre année au sein du bts")
      .setType(ApplicationCommandOptionType.Number)
  )
  .addChannelOption((option) =>
    option
      .setName("channel")
      .setDescription("le salon ou sont envoyé les devoirs")
      .setType(ApplicationCommandOptionType.CHANNEL)
  );
runSlash: async (bot, interaction) => {
  const channel = interaction.options.getChannel("channel");
  const year = interaction.options.getInteger("year");

  if (!channel.isTextBased()) {
    return interaction.reply({
      content: "Le canal sélectionné doit être un canal textuel.",
      ephemeral: true,
    });
  }

  if (![1, 2].includes(year)) {
    return interaction.reply({
      content: "Veuillez spécifier une année valide : 1 ou 2.",
      ephemeral: true,
    });
  }

  // Stockage des paramètres (remplacez par une base de données si nécessaire)
  bot.devoirsChannel = channel.id; // Exemple de stockage temporaire
  bot.selectedYear = year;

  // Réponse de confirmation
  interaction.reply({
    content: `Configuration mise à jour avec succès :\n- Canal : ${channel.toString()}\n- Année : ${
      year === 1 ? "Première" : "Deuxième"
    } année.`,
    ephemeral: true,
  });

  // Exemple d'utilisation : envoyer un message dans le canal sélectionné
  const devoirsChannel = bot.channels.cache.get(channel.id);
  if (devoirsChannel) {
    devoirsChannel.send(
      `Ce canal a été configuré pour afficher les devoirs de la ${
        year === 1 ? "Première" : "Deuxième"
      } année.`
    );
  }
};



where the error is :
const data = new SlashCommandBuilder()
  .setName("setup")
  .setDescription("définis année et canal pour les devoirs")
  .addChannelOption((option) =>
    option
      .setName("channel")
      .setDescription("le salon ou sont envoyé les devoirs")
      .setType(ApplicationCommandOptionType.CHANNEL)
  );
Was this page helpful?