using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using ChaosBot.Models; using ChaosBot.Services; using Discord.Commands; using Discord.WebSocket; namespace ChaosBot.Discord.PreConditions { public class CheckCommandPerm : PreconditionAttribute { private readonly string _defaultRole; public CheckCommandPerm(string defaultRole) => _defaultRole = defaultRole; public override Task CheckPermissionsAsync(ICommandContext context, CommandInfo command, IServiceProvider services) { if (CheckPermissions.CheckPerms(context, command.Name, _defaultRole)) return Task.FromResult(PreconditionResult.FromSuccess()); return Task.FromResult(PreconditionResult.FromError("No permission has been granted to your user or your role")); } } }