【发布时间】:2021-11-01 08:58:06
【问题描述】:
我见过很多人收到 Topology is closed 错误,但我从未见过一个直接的答案,它不仅回答了给出的确切代码 sn-p 的问题,而且通常概述了拓扑结构及其工作原理。
我正在关注 YT 上的 WOK DiscordJSv12 教程,并从存储库中克隆了静音命令并添加了一些调整以包含嵌入。但是当我运行代码时,我得到了拓扑错误。
这是我得到错误的文件:
const muteSchema = require('@schemas/mute-schema')
module.exports = (client) => {
const checkMutes = async () => {
console.log('CHECKING MUTE DATA')
const now = new Date()
const conditional = {
expires: {
$lt: now
},
current: true,
}
//The error is on this next line, it doesn't like that 'await'
const results = await muteSchema.find(conditional)
if (results && results.length) {
for (const result of results) {
const { guildId, userId } = result
const guild = client.guilds.cache.get(guildId)
const member = (await guild.members.fetch()).get(userId)
const mutedRole = guild.roles.cache.find((role) => {
return role.name === 'Muted'
})
member.roles.remove(mutedRole)
}
await muteSchema.updateMany(conditional, {
current: false,
})
}
setTimeout(checkMutes, 1000 * 60 * 10 )
}
checkMutes()
client.on('guildMemberAdd', async (member) => {
const { guild, id } = member
const currentMute = await muteSchema.findOne({
userId: id,
guildId: guild.id,
current: true,
})
if (currentMute) {
const role = guild.roles.cache.find((role) => {
return role.name === 'Muted'
})
if (role) {
member.roles.add(role)
}
}
})
}
这是完成此文件逻辑的另一个文件:link
这里也是架构:link
还有我连接到 mongo 的 mongo 文件:link
所以我想知道如何解决我的问题,以及对于未来的错误,我如何自己解决它以及错误的基本含义,因为错误中没有指定我自己的代码的确切行。
【问题讨论】:
-
您能否附上您实际调用连接到 mongodb 数据库的函数的文件?
-
这4个文件都是我的mongo代码和静音命令
-
虽然你什么时候真正调用这个函数!如果您不调用该函数,也就是不连接它,它不会自动连接到 mongo 吗
标签: mongodb discord.js topology