Browse Source

fix requireRole attribute of interaction service (#1980)

tags/3.1.0
Cenk Ergen GitHub 3 years ago
parent
commit
a2f57f8cc6
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 3 deletions
  1. +5
    -3
      src/Discord.Net.Interactions/Attributes/Preconditions/RequireRoleAttribute.cs

+ 5
- 3
src/Discord.Net.Interactions/Attributes/Preconditions/RequireRoleAttribute.cs View File

@@ -54,15 +54,17 @@ namespace Discord.Interactions
if (guildUser.RoleIds.Contains(RoleId.Value))
return Task.FromResult(PreconditionResult.FromSuccess());
else
Task.FromResult(PreconditionResult.FromError(ErrorMessage ?? $"User requires guild role {context.Guild.GetRole(RoleId.Value).Name}."));
return Task.FromResult(PreconditionResult.FromError(ErrorMessage ?? $"User requires guild role {context.Guild.GetRole(RoleId.Value).Name}."));
}

if (!string.IsNullOrEmpty(RoleName))
{
if (guildUser.Guild.Roles.Any(x => x.Name == RoleName))
var roleNames = guildUser.RoleIds.Select(x => guildUser.Guild.GetRole(x).Name);

if (roleNames.Contains(RoleName))
return Task.FromResult(PreconditionResult.FromSuccess());
else
Task.FromResult(PreconditionResult.FromError(ErrorMessage ?? $"User requires guild role {RoleName}."));
return Task.FromResult(PreconditionResult.FromError(ErrorMessage ?? $"User requires guild role {RoleName}."));
}

return Task.FromResult(PreconditionResult.FromSuccess());


Loading…
Cancel
Save