首页 > 解决方案 > 为什么我的消息收集器收集相同的消息?

问题描述

所以我正在尝试制作一个 modmail 系统,但由于某种原因,频道收集器正在收集相同的消息。任何帮助都会很棒!

const discord = require("discord.js")
module.exports = {
    name: 'modmail',
    aliases: ['mail'],
    execute: async (client, message, args) => {
        const mes = await message.channel.send("I have sent you a dm.")
    const config = require("/home/runner/Bot2/Handlers/config.json")
        message.author.send("Start typing to chat with the moderators.")
            .then(async (msg) => {
                const filter = m => !m.author.bot;
                const collector = await msg.channel.createMessageCollector({
                    filter,
                });
                const channel = await message.guild.channels.create(`${message.author.username}s-modmail`, {
                    permissionOverwrites: [{
                        id: config.mainrole,
                        deny: ["VIEW_CHANNEL"],
                    }, ],
                })
                collector.on("collect", m => {
                    channel.send(`${m.author.tag}: ${m.content}`)
                    const filter = mm => !mm.author.bot;
                    const channelcollect = channel.createMessageCollector({
                        filter,
                        max: 1,
                    });
                    if (m.content == "?mmclose") {
                        m.reply("Modmail will be closing.")
                        collector.stop()
                    }
                    channelcollect.on("collect", async mm => {
                        if (mm.content == "?mmclose") {
                            return channel.delete()
                        }
                        m.author.send(`${mm.author.tag}: ${mm.content}`)
                        console.log(mm.content)
                    })
                })

            })
         .catch(error => {
            mes.delete()
            message.reply("Something went wrong. Make sure your dms are open. If this happens if when your dms are on then dm !Kweeper#8053")
        })
    }
}

mod邮件频道

modmail dm

我不知道为什么会发生这种情况,因为我已将最大消息设置为 1,将 dm 收集器最大值设置为 1,但它破坏了代码。

标签: javascriptnode.jsdiscorddiscord.js

解决方案


推荐阅读