如何禁止用户使用聊天命令



我正在制作一个discordbot(discord.js v14(,它具有踢用户、禁止用户等多种功能。。。

为了禁止用户,我使用以下代码注册禁止命令

const ban = new SlashCommandBuilder().setName('ban').setDescription('Ban member').setDefaultMemberPermissions(PermissionFlagsBits.BanMembers).addUserOption((option) =>
option.setName('user')
.setDescription('The user to ban')
.setRequired(true))

为了响应注册的命令,我使用以下代码:

client.on('interactionCreate', (interaction) =>{
if (!interaction.isChatInputCommand) return;
if (interaction.commandName === 'ban'){
try{
interaction.options.getUser('user').ban().then({ embeds:[ new EmbedBuilder().setDescription(`Succesfully banned ${interaction.options.getUser('user')}}`).setColor("#f05c51")
] })
}catch{
interaction.reply({ embeds:[ new EmbedBuilder().setDescription(`Couldn't ban user `).setColor("#f05c51")]})
}
}})

但无论我做什么,它都不会禁止用户

你不能真正禁止一个用户,你可以禁止一个成员,让成员使用用户id,然后禁止他

编辑:或者更好的方法是使用.getMember(),而不是使用.getUser(),然后你可以禁止他

最新更新