Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

173
Vistas
Discord.js - Add role to server member based on user tag

I am attempting to use Discord.js to add a role to a member given their Discord tag.

There is an error being returned from member.roles.add , although the role is successfully being added when I check in the Discord server.

Here is my code (test.js):

const { Client, Intents } = require('discord.js');

// Discord client & server details
let intents = new Intents(Intents.NON_PRIVILEGED);
intents.add('GUILD_MEMBERS');

const discord_client = new Client({ intents: intents })

discord_client.once('ready', async () => {
    console.log('Ready!');
})

const addRole = async () => {
    const guild = discord_client.guilds.cache.get('<guild-id>')
    const members = await guild.members.fetch()
    const member = members.find((m) => m.user.tag === 'Example#1234')
    return await member.roles.add('<role-id>')
}

discord_client.login('<token>').then(
    () => {
        console.log("Discord Bot connected!")
        addRole().then((res) => console.log(res))
    }
)

Here is the error:

/node_modules/discord.js/src/managers/GuildMemberRoleManager.js:36
    return this.guild.roles.cache.filter(role => this.member._roles.includes(role.id)).set(everyone.id, everyone);
                                                                                                    ^

TypeError: Cannot read properties of undefined (reading 'id')
    at GuildMemberRoleManager.get cache [as cache] (/node_modules/discord.js/src/managers/GuildMemberRoleManager.js:36:101)
    at GuildMemberRoleManager.add (/node_modules/discord.js/src/managers/GuildMemberRoleManager.js:127:31)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async addRole (/test.js:17:12)
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda