【问题标题】:Discord.js guildMemberUpdate eventDiscord.js guildMemberUpdate 事件
【发布时间】:2021-04-30 20:01:45
【问题描述】:

我正在尝试使用 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 未发出的问题,控制台日志显示它仅在删除角色时触发。

任何见解将不胜感激!

感谢阅读

【问题讨论】:

    标签: javascript node.js discord discord.js bots


    【解决方案1】:

    使用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} !`);
        }
      }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-16
      • 2021-06-21
      • 2020-10-25
      • 2021-04-08
      • 2021-09-24
      • 2019-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多