Discord.js mongoose注册了2个警告,而不是一个
我在与下面的命令共享同一系统的所有命令中遇到问题 所有命令,如ban、mute、kick,都与本命令相同,在猫鼬部分的行为也相同 看看下面给定的代码块Discord.js mongoose注册了2个警告,而不是一个,discord.js,Discord.js,我在与下面的命令共享同一系统的所有命令中遇到问题 所有命令,如ban、mute、kick,都与本命令相同,在猫鼬部分的行为也相同 看看下面给定的代码块 const warnDoc = new WarningModel({ guildID: message.guild.id, memberID: member.id, warnings: [re
const warnDoc = new WarningModel({
guildID: message.guild.id,
memberID: member.id,
warnings: [reason],
moderator: [message.member.id],
date: [Date.now()],
})
warnDoc.warnings.push(reason)
warnDoc.moderator.push(message.member.id)
warnDoc.date.push(Date.now())
await warnDoc.save().catch(err => console.log(err))
message.delete(message.author);
const logs = message.guild.channels.cache.find(channel => channel.name === "albot-mod-system");
if (!logs)
return console.log(`No logs channel exists in ${message.guild.name}`)
let warnembed = new Discord.MessageEmbed()
.setTitle(`Moderation | Audit Log`)
.addField("**Member**", `${member}`)
.addField("**Action**", "Warn")
.addField("**Reason**", `${reason ? `${reason}` : ''}`)
.addField("**Warning Count**:", `${warnDoc.warnings.length}`)
.setTimestamp(message.createdAt)
.setFooter(message.member.displayName, message.author.displayAvatarURL({ dynamic: true }))
.setColor(`#000000`)
logs.send(warnembed);
member.send(`You were warned in **${message.guild.name}** for: **${reason}**.`);
let warnEmbed2 = new MessageEmbed()
.setAuthor(`Moderation`)
.setDescription(`${member} has been warned successfully with the reason: ${reason}`)
.setTimestamp(message.createdAt)
.setFooter(message.member.displayName, message.author.displayAvatarURL({ dynamic: true }))
.setColor(`#000000`)
message.channel.send(warnEmbed2);
}
}
这是我的warn命令,当我运行它时,它通常会给出一个警告,但会注册两个。这个问题不知从何而来,令人困惑
有人知道这个问题的根源吗
我试过的东西:
试试老猫鼬版本,运气不好。
玩弄代码中的猫鼬部分,没有运气。
恢复到旧版本的命令,没有运气
我真的不知道是什么原因造成的。您正在使用
警告数组(warnings:[reason]
)初始化警告模型
),并以相同的原因再次推送它。删除推送呼叫
除去
warnDoc.warnings.push(reason)
您还应该删除以下行,因为在初始化文档时设置了版主
和日期
值
warnDoc.moderator.push(message.member.id)
warnDoc.date.push(Date.now())
我明天会试试这个,并且尽快回复你,因为我已经晚了。不!不起作用,它仍然认为它做了2个警告,现在它甚至没有在数据库中注册它们……事实上,它起作用了,不管我说什么。谢谢大家!@nikoszz别担心!现在又出现了1个问题,只出现了一个正在工作的问题。所以我猜推送调用使警告在一个数据库条目中弹出,并在一个列表中显示,如警告ID:2、3等。