public bool NewPermission(LowerInvariantString str)
        {
            if (MapHasPermissionsFor(str))
            {
                return(false);
            }

            Permissions.Add(str.GetText(), new HashSet <ulong>());
            return(true);
        }
 public bool HasPermission(LowerInvariantString str, ulong id)
 => IsAdmin(id) ||
 !IsBlocked(id) &&
 MapHasPermissionsFor(str) &&
 Permissions[str.GetText()].Contains(id);
 public bool MapHasPermissionsFor(LowerInvariantString str)
 => Permissions.ContainsKey(str.GetText());