【问题标题】:Creating a bot in discord. (Javascript)创建一个不和谐的机器人。 (Javascript)
【发布时间】:2020-11-29 07:51:55
【问题描述】:

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

client.on('message', message => {

    if (message.content === 'BAD WORD EXAMPLE') {
        message.delete({
            timeout: 1,
            reason: 'Mensaje eliminado, contenido inapropiado..'
        });
        message.channel.send(' Mensaje eliminado por contenido inapropiado');
    }
})

【问题讨论】:

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


【解决方案1】:

如果你想简单地禁止发送消息的成员包括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 上找到。

【讨论】:

  • 这基本上是我想做的,但我不知道怎么做:-)
【解决方案2】:

根据你写的,你可以试试这个:

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
  }
});

它不是特别精致,但你可以根据需要对其进行优化,这只是为了让它尽可能易于阅读

【讨论】:

    猜你喜欢
    • 2018-03-20
    • 2019-03-28
    • 2019-01-21
    • 2018-06-23
    • 1970-01-01
    • 2017-12-29
    • 2023-04-04
    • 2020-12-28
    • 2021-09-12
    相关资源
    最近更新 更多