【问题标题】:store bannedwords in any file or database将禁用词存储在任何文件或数据库中
【发布时间】:2019-11-03 21:08:02
【问题描述】:

如果我执行像 !blacklistword "word" 这样的命令,我想这样做。 “单词”已保存到文件或数据库中,如果有人从文件或数据库中键入禁止的单词,则机器人删除消息并说 “这个词被禁止了”。

我试图用 doc discordjs 来做到这一点,但我仍然不知道该怎么做,

【问题讨论】:

  • 可以使用JSON文件和fs包来编写。

标签: node.js discord.js


【解决方案1】:

将单词添加到黑名单:(args[0] 将是单词,我假设您知道如何在命令之后获取单词)

var buf = fs.readFileSync("blacklist.txt");
var words = buf.toString().split("\n");

words.push(args[0]);

var output = words.join("\n");

fs.writeFileSync("blacklist.txt", output, err => {
    if (err) console.log(err);
    console.log("Added word to blacklist.");
});

检查消息是否有黑名单:

var buf = fs.readFileSync("blacklist.txt");
var words = buf.toString().split("\n");

var includesBadWord = false;
words.forEach(function(word) {
    if (message.content.includes(word)) {
      includesBadWord = true;
    }
});
if (includesBadWord) {
    message.delete();
}

【讨论】:

  • 我无法检查消息是否在黑名单中,机器人每次都删除消息,即使它不在 blacklist.txt 中
  • 你确定是因为上面的代码吗?它可能是由代码中的其他地方引起的。
  • 我真的不知道,可能会尝试一切,也许你应该给我一些例子,你是怎么做到的?
  • @Rokkit 您能否提供一些代码以便我们了解您的问题?
  • 你有没有不和谐或线条之类的?我会向您解释我想做什么以及我有什么等不在这里发送垃圾邮件,或者如果您想我可以在这里输入
猜你喜欢
  • 1970-01-01
  • 2021-05-31
  • 2021-01-15
  • 1970-01-01
  • 1970-01-01
  • 2012-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多