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

305
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 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