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

309
Vistas
My Discord.js bot is not generating invite link

I just started working on discord.js and I don't know a lot of things. I added a code to the bot that should generate a link to invite it to the server and send it to the console. But instead of a link, the following error is issued:

D:\Discord Shield\node_modules\discord.js\src\client\Client.js:488
      throw new TypeError('INVITE_MISSING_SCOPES');
      ^

TypeError [INVITE_MISSING_SCOPES]: At least one valid scope must be provided for the invite
    at Client.generateInvite (D:\Discord Shield\node_modules\discord.js\src\client\Client.js:488:13)
    at Client.<anonymous> (D:\Discord Shield\index.js:11:9)
    at Client.emit (node:events:390:28)
    at WebSocketManager.triggerClientReady (D:\Discord Shield\node_modules\discord.js\src\client\websocket\WebSocketManager.js:383:17)
    at WebSocketManager.checkShardsReady (D:\Discord Shield\node_modules\discord.js\src\client\websocket\WebSocketManager.js:366:10)
    at WebSocketShard.<anonymous> (D:\Discord Shield\node_modules\discord.js\src\client\websocket\WebSocketManager.js:188:14)
    at WebSocketShard.emit (node:events:390:28)
    at WebSocketShard.checkReady (D:\Discord Shield\node_modules\discord.js\src\client\websocket\WebSocketShard.js:474:12)
    at WebSocketShard.onPacket (D:\Discord Shield\node_modules\discord.js\src\client\websocket\WebSocketShard.js:446:16)
    at WebSocketShard.onMessage (D:\Discord Shield\node_modules\discord.js\src\client\websocket\WebSocketShard.js:300:10) {
  [Symbol(code)]: 'INVITE_MISSING_SCOPES'
}

Node.js v17.0.1

Here is my code:

const Discord = require('discord.js');
const bot = new Discord.Client({ intents: ["GUILDS", "GUILD_MESSAGES"] });
bot.commands = new Discord.Collection();
const fs = require('fs')
let config = require('./botconfig.json');
let token = config.token;
let prefix = config.prefix;

bot.on('ready', () => {
    console.log(`Bot connected. Logged as ${bot.user.username}`);
    bot.generateInvite({
        permissions: ['ANDMINISTRATOR'],
    })
        .then(link => console.log(`Generated bot invite link: ${link}`))
        .catch(console.error);
});

bot.login(token)
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Your bot don't have the necessary intent to perform actions concerning invites on discord, just change this line

const bot = new Discord.Client({ intents: ["GUILDS", "GUILD_MESSAGES"] });

to this :

const bot = new Discord.Client({ intents: ["GUILDS", "GUILD_MESSAGES","GUILD_INVITES"] });
about 4 years ago · Juan Pablo Isaza Denunciar

0

I know that v12 is fetchInvites() and v13 is invites.fetch() but is not finding the code and the inviter in v13..

```
client.on("ready", async () => {
    
      client.memberLogs = client.guilds.cache.get('788488117404303390').channels.cache.get('899659530894471220')
      invites = await client.guilds.cache.get('788488117404303390').fetchInvites(); // v13 invites.fetch()
      
      
    });
    
    let invites;
    client.on('guildMemberAdd', async member => {
      member.guild.fetchInvites().then(async guildInvites => {
        const ei = invites;
        invites = guildInvites;
        const invite = guildInvites.find(i => ei.get(i.code).uses < i.uses);
        let embed = new discord.MessageEmbed()
     .setAuthor(member.user.tag, member.user.avatarURL())
        .setDescription("Joined!")
        .setTimestamp()
        .setFooter(member.guild.name)
            .addField("__Members__", member.guild.memberCount);
        if (invite) {
          embed.addField("__Invite Code__", invite.code, true);
          let inviter = client.users.cache.get(invite.inviter.id);
          if (inviter)
            embed.addField("__Invited by__", inviter.tag, true);
          else
            embed.addField("__Invited By__", "Unknown", true);// this is what i get in v13
          const doc = client.invites.get(inviter.id.toString());
          if (doc && doc.invites.length !== 0)
            embed.addField("__The User Have__", (doc.invites.length + 1) + "Invites")
          else
            embed.addField("The User has", "1 invite")
        } else {
            embed.addField("__Invite Code__", "Unknown", true); // this is what i get in v13
            embed.addField("__Invite Code__", "Unknown", true); // this is what i get in v13
        }
        client.memberLogs.send(embed);
        (await client.memberLogs.send(member.toString() + invite.inviter.toString())).delete();
        let doc = client.invites.get(invite.inviter.id.toString())
        if (!doc)
          doc = {
            id: invite.inviter.id.toString()
          };
        if (!doc.invites)
          doc.invites = [];
        doc.invites.push(member.id.toString())
        client.invites.set(invite.inviter.id.toString(), doc);
      });
    })
    
    client.on('guildMemberRemove', async member => {
      const all = client.invites.all().map(i => JSON.parse(i.data));
      for (let one of all) {
        if (one.invites && one.invites.includes(member.id.toString())) {
          one.invites = one.invites.filter(user => user != member.id.toString());
          client.invites.set(one.id, one);
        }
      }
    })
```
please help me thank you
about 4 years ago · Juan Pablo Isaza Denunciar
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