Discord.js Quick.db 过滤器

Posted

技术标签:

【中文标题】Discord.js Quick.db 过滤器【英文标题】:Discord.js Quick.db filter 【发布时间】:2021-05-31 17:00:24 【问题描述】:

您好,我一直在尝试为我的 Discord.js 机器人制作一个过滤器,您可以使用 .add (word) 进行过滤,它会开始过滤该特定单词,但是当我尝试它时,它只会过滤 1 个词而不是多个词

if(command === "filteradd")
       if(message.member.hasPermission('MANAGE_MESSAGES'))

   if(!args[0]) 
       let color = message.member.displayHexColor;
       if(!color) color = "RANDOM";
       const sen = new Discord.MessageEmbed()
       .setTitle(`$message.author.tag`)
       .setDescription(`Send a word to filter`)
       .setColor(color)
       return message.channel.send(sen)
      

   

     
     db.add(`badword_$message.guild.id`, args[0])
     let color = message.member.displayHexColor;
     if(!color) color = "RANDOM";
     const set = new Discord.MessageEmbed()
     .setTitle("Succesfully added")
     .setColor(color)
   await message.channel.send(set)
     
   
   

然后

client.on("message", async message => 
  
    if(message.author.bot) return;
      if(!message.guild) return;
      let blacklisted = db.get(`badword_$message.guild.id`)
            
         if (!message.member) message.member = message.guild.fetchMember(message);


    let foundInText = false;
    for (var i in blacklisted) 
      if (message.content.toLowerCase().includes(blacklisted[i].toLowerCase())) foundInText = true;
    
    if (foundInText) 
      message.delete();
      message.channel.send(`yo this actually worked wtf`);
    
    );

任何帮助将不胜感激!enter code here

【问题讨论】:

【参考方案1】:

您仍然使用args[0] 作为获取黑名单单词的方法,如果您想要多个参数,则不能这样做。

使用for 循环,并遍历参数:

if (args[1])  //checks for multiple arguments
   let badWordArr = args; //mirrors the args array 

   var i;
   for (i = 0; i < badWordArr.Length(); i++) 
      db.add(`badword_$message.guild.id`, args[i]); //as the loop increments, the words are added
   
;

//additional code here

【讨论】:

以上是关于Discord.js Quick.db 过滤器的主要内容,如果未能解决你的问题,请参考以下文章

Quick.db discord.js

使用 Quick.db (Discord.js) 的自动角色问题

Discord.js 错误:它正在删除整个数组。 Quick.db 和 discord.js

有没有办法使用 quick.db 制作 discord.js 日志系统

排行榜命令中未定义的用户名 [ quick.db / discord.js ]

带有 quick.db 的 discord.js 手动调平系统