提问者:小点点

如何以用户不能垃圾邮件和在discord.js中名字旁边有一堆勾选标记的方式来制作一个勾选标记功能?


又是我,带着另一个调查回来。在修复错误后,我的代码已经启动并运行了,一切似乎都很好。但问题是,我很快发现公会成员可以很容易地利用该命令并发送垃圾邮件来获取一整堆的选中标记。我需要一个方法阻止这一切的发生。现在,我考虑的是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}`);
 }
});

共1个答案

匿名用户

在使用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}`);
  }
});