web-dev-qa-db-ja.com

特定のユーザーに役割があるかどうかを確認するにはどうすればよいですか? Discord js

メッセージの送信者に役割があるかどうかを確認する方法を知っています。

if(message.member.roles.has(role.id)) {
  console.log(`Yay, the author of the message has the role!`);
} else {
  console.log(`Nope, noppers, nadda.`);
}

ただし、特定のユーザー(ユーザーIDを使用)が特定の役割を持っているかどうかを確認するにはどうすればよいですか?

    var authorID = "111111111111111111"

    //Find role
    var role = message.guild.roles.find(role => role.name === "Private Splash Ping");
    //Find member
    let member = message.guild.members.get(authorID);

    console.log(member.roles.has(role))
    if(member.roles.has(role)) {
        roleadded = "User already has Private spalsh role."
    } else {
        message.member.addRole(role);
        roleadded = "Added private splash role."
    }

member.roles.has(role)は常にfalseを返し、ブレークポイントを介してメンバー変数とロール変数の両方が正しいことを確認しました。

ここで見逃しているものはありますか?

2
Edwin

V12.0.x(現在のv12.1.1)には、さらに多くの変更があります。主なものは、message.channel.sendコマンドとキャッシュです。

それらの1つはこれです。

遅れてすみません。

0
FanBoy9344