不和谐地创建机器人。 (JavaScript)

时间:2020-08-09 14:59:52

标签: javascript node.js discord bots discord.js

早上好!我想知道如何使我的漫游器禁止单词,但不仅仅是单词,我希望它禁止所写的整个句子。我已经做到了,但是问题是它并没有禁止整个句子。

long[]

2 个答案:

答案 0 :(得分:2)

如果您只想禁止发送包含badWords的邮件的成员,基本上您可以遵循@Nurfey的回答,并且有很多简单的代码,例如

const badWords = ["foo", "faz", "bar"];

client.on('message', message => {
  const hasBadWord = badWords.some(banWord => message.includes(banWord))
  if(hasBadWord) {
    // delete the message
  }
});

如果您的检查更加复杂,以至于您想写2个以上的句子,也可以执行以下操作:

  const hasBadWord = badWords.some(banWord => {
    // multiple sentences here, and returns true or false
  })

Array.some()的完整文档可在MDN上找到。

答案 1 :(得分:0)

根据您所写的内容,您可以尝试以下操作:

const badWords = ["foo", "faz", "bar"];

client.on('message', message => {
  let hasBadWord = false;
  badWords.forEach(badWord => {
    if(hasBadWord === false) {
      if(message.includes(badWord)) hasBadWord = true; // you could do message.toLowerCase().includes(badWord) for case sensitivity
    }
  });
  if(hasBadWord === true) {
    // delete the message
  }
});

它并没有特别完善,但是您可以根据需要对其进行优化,这只是为了使其易于阅读而已