Ussewa
Ussewa
DIAdiscord.js - Imagine an app
Created by Ussewa on 12/11/2024 in #djs-questions
option.setName(...).setDescription(...).setType is not a function
error : 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.`
);
}
};
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)
);
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)
);
4 replies