Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

204
Views
Why is my message collectors collecting the same message?

So I'm trying to make a modmail system but for some reason the channel collector is collecting the same messsage. Any help would be great!

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")
        })
    }
}

The mod mail channel

The modmail dm

I don't know why this happen because I've set the max messages to 1 and the dm collector max to 1 but it breaks the code.

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!