Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

330
Visualizações
Uncaught TypeError TypeError: *** is not a function js v13

My goal is to make a menu selection system that opens tickets. However, when it opens a ticket the roles that should have access to the tickets (admin and moderator) are not accessible. Could you help me?

Here is the code:

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

                });
            }

This is the error I get:

Uncaught TypeError TypeError: interaction.guild.roles.cache is not a function

Thank you and have a nice day !

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

RoleManager.cache isn't a function, it's a getter, that returns Collection<Snowflake, Role>.

Probably what you are looking for is

interaction.guild.roles.cache.get("978963146364563456")

instead of

interaction.guild.roles.cache("978963146364563456")

See Collection.get

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda