又是我,带着另一个调查回来。在修复错误后,我的代码已经启动并运行了,一切似乎都很好。但问题是,我很快发现公会成员可以很容易地利用该命令并发送垃圾邮件来获取一整堆的选中标记。我需要一个方法阻止这一切的发生。现在,我考虑的是if和return函数,但我不知道在if和return之间放什么。
client.on('message', async (message) => {
if (message.content == '*verify check') {
message.member
.setNickname(`${message.member.displayName} ✅`)
.catch((err) => console.log(err));
message.react('✅');
console.log(`Successfully verified ${message.member}`);
}
});
在使用string.prototype.endswith()
更改昵称之前,您可以检查他们的昵称是否已经以复选标记结尾
client.on("message", async (message) => {
if (message.content == "*verify check") {
if (messge.member.displayName.endsWith("✅"))
return message.channel.send(
"Your display name already ends with a checkmark!"
);
message.member
.setNickname(`${message.member.displayName} ✅`)
.catch((err) => console.log(err));
message.react("✅");
console.log(`Successfully verified ${message.member}`);
}
});