如何使用 Discord Bot (node.js) 读取系统消息?

时间:2021-05-31 17:25:02

标签: node.js discord discord.js

我开发了一个可以在服务器上做很多事情的不和谐机器人。最近我决定自动化一个简单的任务。每当有人提升我的服务器时,都会向其中一个频道发送一条系统消息——“ABC 刚刚提升了服务器!” 我正在尝试阅读此消息以获取 ID,因此我可以让我的机器人感谢用户的提升。但我无法阅读消息,因为 message.content 为空白。我相信这是因为它是一条系统消息,不是由任何用户发送的。谁能帮我这个?我如何获得助推器的 id?

这是代码块。

var channalPosting = "848630009056067596"; // 
client.channels.cache.get(channalPosting).send("NitroBoost : " +message.content);

价值为 -

(NitroBoost : )

1 个答案:

答案 0 :(得分:1)

或者,您可以使用 guildmemberupdate 事件简单地检查成员的助推器角色

<client>.on('guildMemberUpdate', async (oldMember, newMember) => {
  const prevRole = oldMember.roles.find(role => role.name === 'Nitro Booster');
  const currentRole = newMember.roles.find(role => role.name === 'Nitro Booster');

  if (!prevRole && currentRole) {
    newMember.guild.channels.get(yourchannelid).send('someone boosted pogU');
  }
});

用你的 Discord.Client() 变量替换 client 并用实际的频道 ID 替换 yourchannelid