Ejemplo n.º 1
0
        public async override Task <PreconditionResult> CheckPermissions(ICommandContext context, CommandInfo command, IServiceProvider map)
        {
            if (!(context is SocketCommandContext))
            {
                return(PreconditionResult.FromError("null"));
            }
            SocketCommandContext con  = context as SocketCommandContext;
            SocketGuildUser      user = null;

            if (con.IsPrivate)
            {
                bool found = false;
                foreach (var guild in Global.client.Guilds)
                {
                    foreach (var guildUser in guild.Users)
                    {
                        if (guildUser.Id == context.User.Id)
                        {
                            user  = guildUser;
                            found = true;
                            break;
                        }
                    }
                    if (found)
                    {
                        break;
                    }
                }
            }
            else
            {
                user = con.User as SocketGuildUser;
            }
            if (PermissionHandler.checkForPermission(user, new List <string> {
                ToFriendlyString(role)
            }))
            {
                return(PreconditionResult.FromSuccess());
            }
            return(PreconditionResult.FromError($"Du benötigst mindestens die **{ToFriendlyString(role)}** Rolle zum Ausführen dieses Befehls."));
        }