我为我的discord bot创建了一个ban命令,但我遇到了这样一个错误
代码:
module.exports = {
name: "ban",
permission: "BAN_MEMBERS",
options: [
{
name: "target",
description: "banlamak için bir hedef seçin.",
type: "USER",
required: true,
},
{
name: "reason",
description: "banlamak için bir sebep seçin.",
type: "STRING",
required: true,
},
{
name: "messages",
description: "Seçeneklerden birini seç.",
type: "STRING",
required: true,
choices: [
{
name: "hiç birini silme",
value: 0
},
{
name: "önceki 7 gün",
value: 7
}
]
},
],
execute(client, interaction) {
const Target = interaction.options.getMember('target');
if (Target.id === interaction.member.id)
return interaction.followUp({embeds: [new MessageEmbed().setColor('BLACK').setDescription(`⛔ kendini yasaklayamazsın. `)]})
if (Target.permissions.has('ADMINISTRATOR'))
return interaction.followUp({embeds: [new MessageEmbed().setColor('BLACK').setDescription(`⛔ Bir Yöneticiyi Yasaklayamazsınız. `)]})
const Reason = interaction.options.getString('reason');
if (Reason.length > 512)
return interaction.followUp({embeds: [new MessageEmbed().setColor('BLACK').setDescription(`⛔ sebep 512 karakteri geçemez. `)]})
const Amount = interaction.options.getString('messages');
Target.ban({ days : Amount, reason : Reason})
interaction.followUp({embeds : [new MessageEmbed().setColor("WHITE").setDescription(`✅ **${Target.user.username}** banlanmıştır. `)]})
}
}
如果错误发生在执行的第一行
const Target = interaction.options.getMember('target');
那么问题可能是由于选项不是交互的成员而引起的。您确定正在运行的交互是命令交互吗。您可以先添加此调用,然后再添加其他调用,从而轻松检查此情况。如果在执行之后什么都不运行,那么这意味着与您交互的交互不是命令,因此该交互上不存在选项。
if (!interaction.isCommand()) return;