即使用户 ID 存在,Discord 机器人也不会获取用户数据

Discord bot not fetching user data even when user id is there

我正在使用 discord v13.6.0。我有一个二维数组,其中的数据如下所示

[
 [ 'userID', 0 ],
 [ 'userID2', 0 ],
]

这是我的代码。

  let index;
        for(index=0;index<items.length;index++){
          if(items[index][0]==msg){
            break;
          }
  }
        console.log("In is ",index);
        if(index==0){
          rank = 1;
          let j=index+2;
          let k = index + 1;
          let currentUserId = items[index][0];
          let nextUserId = items[k][0];
          console.log(nextUserId);
          let nextUserId2 = items[j][0];


          let currentUserTag = client.users.cache.get(currentUserId);
          let currentName = currentUserTag.username;
          let nextUserTag = client.users.cache.get(nextUserId);
          let nextUserName = nextUserTag.username;


          console.log(currentName);
          console.log(nextUserName);

现在我在这里遇到错误。我的代码向我显示了 curretName,但它给了我一个关于 nextUserName 的错误。我的错误是这个

TypeError: Cannot read properties of undefined (reading 'username') at E:\DiscordBotTesting\LeaderBoard\LeaderboardRankingsystem.js:217:42

我正在从 firebase 获取数组数据并将其设为二维数组。二维数组中的该值用于在我尝试获取用户名的不和谐服务器中获取用户数据。

请帮助我获取当前用户名而不是下一个用户名的原因。有趣的是,相同的代码适用于 discord v12,但不适用于 discord v13。

可能没有使用缓存,但不确定:

let index;
        for(index=0;index<items.length;index++){
          if(items[index][0]==msg){
            break;
          }
  }
        console.log("In is ",index);
        if(index==0){
          rank = 1;
          let j=index+2;
          let k = index + 1;
          let currentUserId = items[index][0];
          let nextUserId = items[k][0];
          console.log(nextUserId);
          let nextUserId2 = items[j][0];


          let currentUserTag = client.users.cache.get(currentUserId);
          let currentName = currentUserTag.username;
          let nextUserTag = async id => client.users.fetch(id)
          let nextUserName = nextUserTag.username;


          console.log(currentName);
          console.log(nextUserName);