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

164
Visualizações
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 à 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