Бот Discord не отправляет приветственное сообщение

#javascript #discord #bots

Вопрос:

Проблема в том, что бот Discord не отправляет приветственное сообщение, когда присоединяется новый участник.

версия узла 16

discord.js является ли v13

Терминал не показывает ошибок. И это код:

 
bot.on('ready', () =>{
    console.log('This bot is online!');
})

bot.on('guildMemberAdd', guildMember=>{
    const User = guildMember.user
        const channel = guildMember.guild.channels.cache.find(channel => channel.id == '798928691988004897');
        
        console.log(User)
    
        const embed = new Discord.MessageEmbed()
            .setColor('#0099ff')
            .setTitle('Welcome')
            .setDescription(`Welcome to the server <@${User.id}>`)
            .setThumbnail(`${User.avatarURL()}`)
        
            channel.send({embeds :});
});

 

Ответ №1:

Похоже, у вас не включены намерения «член гильдии», чтобы бот мог обнаруживать изменения, внесенные в членов гильдии

перейдите на портал разработчика Discord, перейдите к своему приложению и включите server member намерение Портал разработчика > Приложение-бот >> Бот >>> Включить намерение участника сервера» src=»https://i.stack.imgur.com/AzbsF.png»></a></p>
<p>И вам также необходимо включить это намерение в свой код</p>
<pre class= const { Intents, Client } = require('discord.js'); // require other classes as per your bot needs const intents = [Intents.FLAGS.GUILD_MEMBERS]; // Add other related intents const bot = new Client({ intents: intents }); // finish your code with events and stuff

Комментарии:

1. Так что это будет выглядеть так: const { Intents, Client } = require('discord.js'); const bot = new Client({ intents: intents }); const Discord = require('discord.js') const bot = new Discord.Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.GUILD_MEMBERS] }); @EJBEAN Правильно?

2. я уже объявил константу бота, вам не нужно объявлять ее снова

3. {intents: intents} это не нужно. Просто поставь { intents }