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

397
Visualizações
¿Cómo puedo denegar a @todos y permitir que el autor vea el canal?

He estado jugando con esto por un tiempo y nunca he creado un canal basado en permisos. Estoy trabajando en una función de ticket para mi bot y parece que no puedo hacer que funcione. La idea es crear un canal con permisos establecidos denominado la etiqueta completa message.author con los permisos establecidos para permitir que el message.author solo vea el canal. Por alguna razón sigo corriendo en un error. ¿Cómo puedo arreglar esto? He definido el rol de todos y el mensaje.autor ya debería estar definido. ¿Me estoy perdiendo de algo?

 if (message.channel.type !== "text") { let active = db.fetch(`support_${message.author.id}`) let guild = client.guilds.cache.get('took out ID') let channel, found = true try { if (active) client.channels.cache.get(active.channelID).guild } catch (e) { found = false; } if(!active || !found) { active = {} let everyoneRole = msg.guild.roles.cache.find(r => r.name === '@everyone'); channel = await guild.channels.create(`${message.author.username}-${message.author.discriminator}`, { parent: 'took out ID', topic: `Support for ${message.author.tag} | ID: ${message.author.id}`, permissionOverwrites: [ { id: everyoneRole.id, deny: ['VIEW_CHANNEL'], id: message.author.id, allow: ['VIEW_CHANNEL'], }, ], })
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Puedes usar roles.everyone que devuelve el rol @everyone del gremio o simplemente usar la ID del gremio . Además, sus sobrescrituras son incorrectas. Debe contener dos objetos; uno que niega vistas para todos y otro que lo permite para el miembro que envió el mensaje.

Cualquiera de estos funcionará:

 let permissionOverwrites = [ { id: message.guild.roles.everyone.id, deny: ['VIEW_CHANNEL'], }, { id: message.author.id, allow: ['VIEW_CHANNEL'], }, ]; let channel = await guild.channels.create( `${message.author.username}-${message.author.discriminator}`, { parent: 'took out ID', topic: `Support for ${message.author.tag} | ID: ${message.author.id}`, permissionOverwrites, }, );

O:

 let permissionOverwrites = [ { id: message.guild.id, deny: ['VIEW_CHANNEL'], }, { id: message.author.id, allow: ['VIEW_CHANNEL'], }, ]; let channel = await guild.channels.create( `${message.author.username}-${message.author.discriminator}`, { parent: 'took out ID', topic: `Support for ${message.author.tag} | ID: ${message.author.id}`, permissionOverwrites, }, );
about 4 years ago · Juan Pablo Isaza Relatório

0

let everyoneRole = message.guild.id;

El rol de @everyone es el mismo que el del gremio.

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