在 Discord 服务器中的 guildMemberAdd 事件上发送消息

Sending a message on a guildMemberAdd event in the server on Discord

我正在用 JavaScript 编写一个不和谐的机器人。 运行 非常好,但我唯一不能做的就是当新成员加入服务器时在服务器中发送消息。 (不是私信,直接在服务器里发消息)。我找不到任何方法可以做到这一点,有什么想法吗?

bot.on('guildMemberAdd', function(member){
  member.send("Hello there !");
});

这个发送私人消息,它做的正是我不希望它做的事情^^'

传递给回调函数的 member 参数正是——一个表示不和谐成员的对象。如果你想给刚刚加入的公会发送消息,你需要获取成员的公会属性,member.guild然后get 您想要的频道 channelssend 您想要的消息。总的来说应该是这个样子:

bot.on('guildMemberAdd', function(member){
  member.guild.channels.get("put-channel-id-here").send("Hello there!")
});

我想你现在可能知道了,但在 Discord.js v12(当前稳定版本)中,你会使用

member.guild.channels.cache.get("put-channel-id here").send("Hello there!")