Bot 没有听 guildMemberAdd

Bot isn't listening to guildMemberAdd

我刚才注册了,因为有件事真的很困扰我: 我有以下代码:

const Discord = require('discord.js');
const client = new Discord.Client();

client.on('guildMemberAdd', (member) => {
    console.log('New member.')
    const welcomeEmbed = new Discord.MessageEmbed()
    .setImage(member.user.avatarURL())
    .setColor('#e9fa2a')
    .setAuthor("Mangoly Assistant")
    .setTitle("New member in server")
    .setDescription('Welcome <@${member.id}> to the server! If you are new, please be sure to check out or rules channel and some useful links. We are glad to be having you here, everyone wave hello! :wave:')
    .setFooter('Created by kostis;#4464. || Mangoly Assistant')
    client.channels.cache.get('825130442197434418').send(welcomeEmbed)
});

client.once('ready', () => {
    console.log('Bot is ready')
})

client.login(nice try);

出于某种原因,当我离开并重新加入服务器时,嵌入根本没有发送到频道。我在控制台中没有收到任何错误。关于可能出了什么问题的任何想法?谢谢。 :)

邀请机器人时需要启用'Server Members Intent'。转到 Discord Developer Portal > Bot > 滚动到底部 > 确保检查服务器成员的意图

您应该也可以在您的代码中手动启用它,但不知道如何操作。我觉得是这样的:

//Client declaration
const client = new Discord.Client({
ws: {
intents: ['GUILD_MEMBERS']
}
})

此外,快速操作:要在字符串中使用 ${variableHere},它必须是带有反引号 (`) 的字符串,如下所示:

var a = 'abc';
var b = '${a}d' //returns ${a}d
var c = `${a}d` //returns abcs