Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

391
Views
¿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 answers
Answer question

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 Report

0

let everyoneRole = message.guild.id;

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

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!