Discord.net 查看某人是否有角色

Discord.net Find out if someone has a role

嘿,我如何检查某些角色是否具有角色 ID 就像我想知道用户是否有角色 713478343994900590

首先您需要将 SocketUser 转换为 SocketGuildUser。然后只需遍历它的每个角色并检查 id。我喜欢为此使用 Linq。这应该有效:

    var guildUser = Context.User as SocketGuildUser;

    if(guildUser.Roles.Where(role => role.Id == 713478343994900590).FirstOrDefault() != null)
    {
                //do something
    }

一旦你有了你的公会用户对象,你就可以做

If (guildUser.Roles.Any(role => role.id = 713478343994900590)) {
    //code here if role exists
}