gpt4 book ai didi

node.js - 禁止用户提及超过 5 人

转载 作者:行者123 更新时间:2023-12-05 01:28:53 25 4
gpt4 key购买 nike

嘿哟 Axmyo,

如果用户提到超过 5 个人类而不是机器人,我想自动禁止用户

但是我尝试使用的代码没有做任何事情..

如有任何帮助,我们将不胜感激!

client.on("message", message => {
if(message.mentions.members.size > 5) {
message.author.ban();
}
})

最佳答案

你的方向是正确的,你的 if 语句是正确的。

message.author returns a User.

but .ban() is available only on GuildMember.

因此您需要将User 转换为GuildMember。幸运的是,消息对象包含发送它的 Guild,因此您可以执行以下操作:

client.on("message", message => {
if(message.mentions.members.size > 5) {
const user = message.author;
const guildMember = message.guild.member(user);
guildMember.ban();
}
})

请注意 .ban() 返回一个 promise,因此如果您想在禁令之后做其他事情,那么执行以下操作可能是个好主意:

client.on("message", async message => {
if(message.mentions.members.size > 5) {
const user = message.author;
const guildMember = message.guild.member(user);
await guildMember.ban();

// Do other things...
}
})

编辑

消息对象有一个成员属性,谢谢Itamar S

client.on("message", async message => {
if(message.mentions.members.size <= 5) return;

await message.member.ban();
// Do other things...
})

关于node.js - 禁止用户提及超过 5 人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68235835/

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