如果我尝试踢自己或踢比机器人更高的角色,它会失败,但会发送给提到你被踢的人。如何在机器人踢球失败时停止发送消息。
const BaseCommand = require('../../utils/structures/BaseCommand');
const Discord = require('discord.js');
module.exports = class KickCommand extends BaseCommand {
constructor() {
super('kick', 'moderation', []);
}
async run(client, message, args) {
if (!message.member.hasPermission("KICK_MEMBERS")) return message.channel.send("Та энэ коммандыг ашиглах боломжгүй.");
const mentionedMember = message.mentions.members.first();
let reason = args.slice(1).join(" ");
if (!reason) reason = "Шалтгаан өгөгдөөгүй";
const kickEmbed = new Discord.MessageEmbed()
.setTitle(`Та ${message.guild.name} сервэрээс хөөгдлөө`)
.setDescription(`Шалтгаан: ${reason}`)
.setColor("#ffffb7")
.setTimestamp()
.setFooter(client.user.tag, client.user.displayAvatarURL());
// .kick @user
if (!args[0]) return message.channel.send("Хөөх гэж байгаа хүн ээ бататгана уу. \`.kick @user шалтгаан\`");
if (!mentionedMember) return message.channel.send("Тодотгосон гишүүн энэ сервэрт алга байна.")
try {
await mentionedMember.send(kickEmbed);
} catch (err) {
console.log(`Гишүүн рүү захидал явуулах боломжгүй байна.`);
}
try {
await mentionedMember.kick(reason);
} catch (err) {
console.log(err);
return message.channel.send("Тодотгосон гишүүнийг хөөх боломжгүй байна.");
}
}
}
答案 0 :(得分:0)
尝试在代码的踢球部分添加return
代码应该是这样的:
try {
await mentionedMember.send(kickEmbed);
} catch (err) {
return console.log(`Гишүүн рүү захидал явуулах боломжгүй байна.`);
}
对不起,如果这不起作用,我对编码仍然很陌生