{ if (message.member.hasPermission-6ren">
gpt4 book ai didi

javascript - 使用discord.js 在文本中提及名字

转载 作者:行者123 更新时间:2023-12-02 23:34:21 25 4
gpt4 key购买 nike

我正在尝试制作某种踢球系统。我想知道如何获得文本中提到的名字。

client.on("message", (message) => {
if (message.member.hasPermission(["KICK_MEMBERS"],["BAN_MEMBERS"])){
if(message.content == "!kick"){
let member = message.mentions.members();
console.log(member)
member.kick("You have been kicked").then ((member) => {
message.channel.send( member.displayName + " has been Kicked!");
})
}
}
});

据我所知,没有抛出任何错误。

最佳答案

首先,如果您想检查 GuildMember.hasPermission() 中的多个权限,您需要传递一个数组。按照您现在编写代码的方式,您将传递一个包含 "KICK_MEMBERS" 的数组作为要检查的权限,并传递一个包含 "BAN_MEMBERS" 的数组作为显式权限 参数。
解决方案: message.member.hasPermission(["KICK_MEMBERS", "BAN_MEMEBRS"])

其次,您将 member 声明为 Collection,而它应该是 GuildMember。
解决方案: const member = message.mentions.members.first()

client.on("message", async message => {
if (message.content === "!kick" && message.member.hasPermission(["KICK_MEMBERS", "BAN_MEMBERS"])) {
try {
const member = message.mentions.members.first();
if (!member) return await message.channel.send(`No user mentioned.`);

await member.kick(`Kicked by ${message.author.tag}`);
await message.channel.send(`${member.user.tag} has been kicked.`);
} catch(err) {
console.error(err);
}
}
});

关于javascript - 使用discord.js 在文本中提及名字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56349501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com