Bot 未在原始事件中添加角色

Bot not adding Role in raw Event

我无法给反应过的用户任何角色。

机器人应该给反应的人一个特定的角色,但每次我反应时,它都会抛出一个错误:

TypeError: Cannot read property 'addRole' of undefined

这是代码:

bot.on("raw", event => {
  if (event.t == "MESSAGE_REACTION_ADD" || event.t == "MESSAGE_REACTION_REMOVE") {
    if (event.d.message_id === "527150993033527296") {
      if (event.d.user_id !== bot.user.id) {
        if (event.d.emoji.id === "527129359895625728") {
          var myRole = "525279851247173644";
          defRole(myRole);
        }

        function defRole() {
          if (event.t === "MESSAGE_REACTION_ADD") {
            event.d.user_id.guild.addRole(myRole);
            var myRole;
          } else {
            var myRole;
          }
        }
      }
    }
  }
});

git 它与此代码一起工作:

bot.on("raw", event => {
    if (event.t == "MESSAGE_REACTION_ADD" || event.t == "MESSAGE_REACTION_REMOVE") {
        if (event.d.message_id === "529692171234705418") { //ID of Message where the Reaction is added
          if (event.d.user_id !== bot.user.id) {
              let reaction = event.d.emoji.id;
              if (reaction === "527129359895625728") { // Reaction Emoji ID
                  var myRole = "525279851247173644";   // Role Id
                  defRole(myRole);
              }
              function defRole() {
                  const myGuilds = bot.guilds.get(event.d.guild_id);
                  if (event.t === "MESSAGE_REACTION_ADD") {
                      myGuilds.fetchMember(event.d.user_id).then(member => member.addRole(myGuilds.roles.get(myRole))).catch(console.error);
                  }
                  else {
                      myGuilds.fetchMember(event.d.user_id).then(member => member.removeRole(myGuilds.roles.get(myRole))).catch(console.error);
                  }
              }
          }
      }
    }
});