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) 的自动角色问题
Discord.js 错误:它正在删除整个数组。 Quick.db 和 discord.js
有没有办法使用 quick.db 制作 discord.js 日志系统