繁体   English   中英

Discord.js guildMemberUpdate 事件

[英]Discord.js guildMemberUpdate event

我正在尝试使用 Discord.js 制作欢迎消息机器人,当成员有权访问它时,欢迎消息将通过某个通道中的 webhook 发送。

这就是我现在所拥有的:

client.on("guildMemberUpdate", member => {

  const wc = new WebhookClient('webhook-id', 'webook-token');

  if (member.roles.cache.some(r => r.name === "test")) {
    wc.send(`Welcome <@${member.id}> !`);
  } else if (member.roles.cache.find(r => r.name === "Server Booster")) {
    wc.send(`Thank you for the boost <@${member.id}> !`);
  } else return;
});

我在添加角色时没有发出guildMemberUpdate的问题,控制台日志显示它仅在删除角色时触发。

任何见解将不胜感激!

谢谢阅读

使用oldMembernewMember而不是member解决了问题

client.on("guildMemberUpdate", (oldMember, newMember) => {

  const wc = new WebhookClient("webhook-id', 'webook-token");

  if (oldMember.roles.cache.isze !== newMember.roles.cache.size) {
    if (!oldMember.roles.cache.has("role-id") && newMember.roles.cache.has("role-id")) {
        wc.send(`Welcome ${newMember} !`);
    }
    if (!oldMember.roles.cache.has("boost-role-id") && newMember.roles.cache.has("boost-role-id")) {
        wc.send(`Thank you for the Nitro Boost ${newMember} !`);
    }
  }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM