TypeError: Cannot read properties of undefined (reading 'FLAGS')
I need help with my code.
2 Replies
const { SlashCommandBuilder, Permissions } = require('discord.js');
const { EmbedBuilder } = require('discord.js');
module.exports = {
data: new SlashCommandBuilder()
.setName('kick')
.setDescription('Kick einen Nutzer')
.addUserOption(option =>
option
.setName('target')
.setDescription('Bestimme den Nutzer der gekickt werden soll.')
.setRequired(true))
.addStringOption(option =>
option
.setName('reason')
.setDescription('Gib ein Grund für den Kick an.')
.setRequired(true)),
async execute(interaction) {
await interaction.deferReply();
// Überprüfe die Berechtigung des Benutzers zum Kicken
if (!interaction.member || !interaction.member.permissions?.has(Permissions.FLAGS.KICK_MEMBERS)) {
return interaction.followUp({ content: 'Du hast keine Berechtigung, diesen Befehl zu verwenden.', ephemeral: true });
}
const targetUser = interaction.options.getUser('target');
const reason = interaction.options.getString('reason');
try {
// Kicke den Nutzer
await interaction.guild.members.kick(targetUser, { reason: reason });
} catch (error) {
console.error(error);
return interaction.followUp({ content: 'Fehler beim Kicken des Nutzers.', ephemeral: true });
}
// Erstelle ein Embed für den Kick-Log
const embedBuilder = new EmbedBuilder()
.setTitle('Kick Log')
.setColor('#05a100')
.setDescription(`**Gekickt:** <@${targetUser.id}>\n **Grund:** ${reason} \n **Von:** ${interaction.user.tag}`)
.setTimestamp();
// Sende das Embed in den Log-Channel
const logChannel = interaction.guild.channels.cache.get('1129136681065398442');
if (logChannel) {
logChannel.send({ embeds: [embedBuilder] });
} else {
console.error('Der Channel für den Log wurde nicht gefunden.');
}
const { SlashCommandBuilder, Permissions } = require('discord.js');
const { EmbedBuilder } = require('discord.js');
module.exports = {
data: new SlashCommandBuilder()
.setName('kick')
.setDescription('Kick einen Nutzer')
.addUserOption(option =>
option
.setName('target')
.setDescription('Bestimme den Nutzer der gekickt werden soll.')
.setRequired(true))
.addStringOption(option =>
option
.setName('reason')
.setDescription('Gib ein Grund für den Kick an.')
.setRequired(true)),
async execute(interaction) {
await interaction.deferReply();
// Überprüfe die Berechtigung des Benutzers zum Kicken
if (!interaction.member || !interaction.member.permissions?.has(Permissions.FLAGS.KICK_MEMBERS)) {
return interaction.followUp({ content: 'Du hast keine Berechtigung, diesen Befehl zu verwenden.', ephemeral: true });
}
const targetUser = interaction.options.getUser('target');
const reason = interaction.options.getString('reason');
try {
// Kicke den Nutzer
await interaction.guild.members.kick(targetUser, { reason: reason });
} catch (error) {
console.error(error);
return interaction.followUp({ content: 'Fehler beim Kicken des Nutzers.', ephemeral: true });
}
// Erstelle ein Embed für den Kick-Log
const embedBuilder = new EmbedBuilder()
.setTitle('Kick Log')
.setColor('#05a100')
.setDescription(`**Gekickt:** <@${targetUser.id}>\n **Grund:** ${reason} \n **Von:** ${interaction.user.tag}`)
.setTimestamp();
// Sende das Embed in den Log-Channel
const logChannel = interaction.guild.channels.cache.get('1129136681065398442');
if (logChannel) {
logChannel.send({ embeds: [embedBuilder] });
} else {
console.error('Der Channel für den Log wurde nicht gefunden.');
}
await interaction.followUp({ content: `Nutzer ${targetUser.tag} wurde gekickt.`, ephemeral: true });
},
};
await interaction.followUp({ content: `Nutzer ${targetUser.tag} wurde gekickt.`, ephemeral: true });
},
};
Don’t use Permissions.FLAGS. Use
PermissionFlagsBits
instead.