[英]Im trying to make a discord bot mostly just for fun but i cant seem to get the if else statements used in my kick command to work properly
命令的踢脚部分正常工作,然后正确发送消息说它已经踢了提到的人。 但是,我希望机器人发送一条消息,说如果没有提及用户,您需要提及用户。 如果尝试使用机器人的玩家没有适当的权限踢某人,或者如果机器人无法踢出用户试图使用机器人踢的人,我还希望机器人发送消息。
这是我正在尝试做的代码。
Crashbot.on('message', message => {
if (message.member.hasPermission("KICK_MEMBERS")) {
if (message.content.startsWith(prefix + 'kick')) {
const user = message.mentions.users.first();
if (user) {
const member = message.guild.member(user);
if (member) {
member.kick('optional reason that will display in the audit logs')
.then(() => {
// We let the message author know we were able to kick the person
message.reply(`Successfully kicked ${user.tag}`);
})
.catch(err => {
message.reply('I was unable to kick that user');
console.error(err);
});
} else {
message.reply("You need to mention a user to kick");
}
}
}
}
});
那是我使用的那个。 它会检查您是否首先提到了任何内容,如果找不到用户,它会向您发出警告消息,如果您没有踢人的权限并且无法踢人,它将不起作用它会告诉你他不能踢他。 另外,您可以提供一个可选的踢后理由。
用法示例: !kick @Apolko24 坏词用法
const kUser = message.guild.member(message.mentions.users.first());
if (!args[0]) return message.channel.send('Please mention someone');
if (!kUser) return message.channel.send(`I can't find ${args[0]}`);
if (!message.member.hasPermission('KICK_MEMBERS')) return message.channel.send("You can't kick users");
if (kUser.hasPermission('MANAGE_GUILD')) return message.channel.send("That user can't be kicked");
const kReason = args.join(" ").slice(22);
if (kReason) {
const kickEmbed = new MessageEmbed()
.setTitle("Kick")
.setColor(0xbbffff)
.addField("Kicked user:", `${kUser}`)
.addField("Kicked by:", `${message.author}`)
.addField("Reason", kReason)
message.guild.member(kUser).kick();
message.channel.send(kickEmbed);
} else {
const kickEmbed = new MessageEmbed()
.setTitle("Kick")
.setColor(0xbbffff)
.addField("Kicked user:", `${kUser}`)
.addField("Kicked by:", `${message.author}`)
message.guild.member(kUser).kick();
message.channel.send(kickEmbed);
}
(你必须把它放到你的 if (message.content.startsWith(prefix + 'kick')) 语句中)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.