Mi objetivo es hacer un sistema de selección de menú que abra boletos. Sin embargo, cuando abre un ticket, los roles que deberían tener acceso a los tickets (administrador y moderador) no están accesibles. ¿Usted me podría ayudar?
Aquí está el código:
Client.on("interactionCreate", interaction => { if(interaction.isSelectMenu()){ if(interaction.customId === "select") { console.log(interaction.values); if(interaction.values == "qst"){ interaction.reply({content: "Vous avez choisi l'option ❓ | Question", ephemeral: true}); nbTicket++; //Nom du ticket interaction.guild.channels.create("ticket-" + nbTicket, { parent: "978962595971211324", //Permissions permissionOverwrites: [ { id: interaction.guild.id, deny: [Discord.Permissions.FLAGS.VIEW_CHANNEL] }, { id: interaction.user.id, allow: [Discord.Permissions.FLAGS.VIEW_CHANNEL] }, { id : interaction.guild.roles.cache("978963146364563456"), allow: [Discord.Permissions.FLAGS.VIEW_CHANNEL] } ] }).then(channel => { var button = new Discord.MessageActionRow() .addComponents(new Discord.MessageButton() .setCustomId("close-ticket") .setLabel("Fermet le ticket") .setStyle("DANGER") ); //Message du bot à l'open du ticket channel.send({content: "<@" + interaction.user.id + "> a ouvert un ticket de la catégorie ❓ | Question", components: [button]}); //Remise à 0 interaction.update("Sélectionnez une option pour ouvrir un ticket"); }); }Este es el error que me sale:
Uncaught TypeError TypeError: interaction.guild.roles.cache is not a functionGracias y que tenga un buen día !
RoleManager.cache no es una función, es un captador que devuelve Collection<Snowflake, Role> .
Probablemente lo que estás buscando es
interaction.guild.roles.cache.get("978963146364563456")en vez de
interaction.guild.roles.cache("978963146364563456")Ver Colección.get