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