discord.js 13 |当他们加入服务器时,我如何向成员发送消息?

discord.js 13 | How do i DM a member a message when they join the server?

我一直在尝试找到一种方法,让成员在加入服务器时通过 DM 发送欢迎消息。我有办法向成员发送 DM,但我找不到在有人加入时触发它的方法。这是将 DM 成员消息的代码: message.author.send('message content here')

这是似乎不起作用的代码:

bot.on("guildMemberAdd", member => {
    log("new member joined the server")
    member.send("Welcome to the server!");
});

注意:我有一个名为 log 的函数,这不是导致问题的原因(我认为),它是在此之前声明的

感谢您的帮助:)

您的代码无法正常工作,很可能是因为您尚未请求 guildMemberAdd 事件所必需的 GUILD_MEMBERS 意图。

这是一个关于如何请求 GUILD_MEMBERS 意图的简单示例。

const { Client, Intents } = require("discord.js");
const bot = new Client({
    intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS],
});

确保您也在机器人的设置中启用了它。 (机器人 -> 特权网关意图 -> 服务器成员意图)