提问者:小点点

我如何从去语音频道的人那里获得用户ID?(看)


我有密码:

bot.on('voiceStateUpdate', (oldMember, newMember) => {
    let newUserChannel = newMember.channelID;
    let oldUserChannel = oldMember.channelID;
 
    if(newUserChannel === "781521384018542622") //don't remove ""
    { 
        // User Joins a voice channel
        console.log("Joined vc with id "+newUserChannel);
    }
    else{
        // User leaves a voice channel
        console.log("Left vc");
    }
 });

我如何获得进来的人的ID?


共2个答案

匿名用户

通过VoiceStateUpdate传递的两个参数是VoiceStates:表示GuildMember的语音状态(因此是名称)。

这意味着每个VoiceState都将有一个member属性。

从那里,您可以访问整个GuildMember对象,包括它们的ID

// these parameters should be renamed to be more accurate
bot.on('voiceStateUpdate', (oldState, newState) => {
  // ...
  console.log(newState.member.id);
});

匿名用户

您可以使用newmember.member检测成员,
然后使用user.id获取userID

示例:\“

client.on('voiceStateUpdate', (oldMember, newMember) => {
  let newUserChannel = newMember.channelID;
  let oldUserChannel = oldMember.channelID;
  let user = newMember.member

  if(newUserChannel === "channel_id") {
    // console.log UserID
    console.log("user is is : " + user.id)
    // console.log User voice_channel
    console.log("Joined vc with id " + newUserChannel);
  }
  else {
    // User leaves a voice channel
    console.log("Left vc");
  }
});