Los usuarios pueden crear canales de tickets ilimitados cuando reaccionan a 🎫 este emoji, ¿qué parte de mi secuencia de comandos me falta para que los usuarios solo puedan crear un ticket hasta que lo cierren de nuevo?
El ID de mi bot a continuación es: 701327880046510080
¡Cualquier ayuda sería apreciada! :)
bot.on('messageReactionAdd', async (reaction, user, channel) => { if(user.partial) await user.fetch(); if(reaction.partial) await reaction.fetch(); if(reaction.message.partial) await reaction.message.fetch(); if(user.bot) return; let ticketid = await settings.get(`${reaction.message.guild.id}-ticket`); if(!ticketid) return; if(reaction.message.id == ticketid && reaction.emoji.name == '🎫') { reaction.users.remove(user); const ticketChannel = reaction.message.guild.channels.cache.find(chan => chan.name === `ticket-${user.username}`) if (ticketChannel) return; reaction.message.guild.channels.create(`ticket-${user.username}`, { parent: '701254271861260389', position: 1, permissionOverwrites: [ { id: '701327880046510080', allow: ["MANAGE_CHANNELS", "MANAGE_GUILD", "MANAGE_ROLES", "MANAGE_EMOJIS", "READ_MESSAGE_HISTORY", "MANAGE_MESSAGES", "SEND_MESSAGES", "VIEW_CHANNEL"] }, { id: user.id, allow: ["SEND_MESSAGES", "VIEW_CHANNEL", "READ_MESSAGE_HISTORY"] }, { id: reaction.message.guild.roles.everyone, deny: ["VIEW_CHANNEL"] }, { id: '306893721725829121', allow: ["SEND_MESSAGES", "VIEW_CHANNEL", "READ_MESSAGE_HISTORY"] } ], type: 'text' }).then(async channel => { EMBED STUFF ..irrelevant. <-ignore this send.react("🔒") }) } if(reaction.emoji.name == '🔒'){ if(!reaction.message.channel.name.includes("ticket-")) return; reaction.users.remove(user); reaction.message.channel.delete() } })Agregue estas líneas a su código
bot.on('messageReactionAdd', async (reaction, user, channel) => { if(user.partial) await user.fetch(); if(reaction.partial) await reaction.fetch(); if(reaction.message.partial) await reaction.message.fetch(); if(user.bot) return; let ticketid = await settings.get(`${reaction.message.guild.id}-ticket`); if(!ticketid) return; // add below here const existing = bot.channels.cache.find(c => c.name === `ticket-${user.username}`) if (existing) { return reaction.message.reply({ content: `You already have a ticket open, please close it first before creating a new one. See the ${existing} channel` }); } // add above here // rest of code