예제 #1
0
        private SortFilterOptions GetOptions(Context ctx, PKSystem target)
        {
            var opts = SortFilterOptions.FromFlags(ctx);

            opts.Filter = ctx.RemainderOrNull();
            // If we're *explicitly* trying to access non-public members of another system, error
            if (opts.PrivacyFilter != PrivacyFilter.PublicOnly && ctx.LookupContextFor(target) != LookupContext.ByOwner)
            {
                throw new PKError("You cannot look up private members of another system.");
            }
            return(opts);
        }
예제 #2
0
        private string GetEmbedTitle(PKSystem target, SortFilterOptions opts)
        {
            var title = new StringBuilder("Members of ");

            if (target.Name != null)
            {
                title.Append($"{target.Name} (`{target.Hid}`)");
            }
            else
            {
                title.Append($"`{target.Hid}`");
            }

            if (opts.Filter != null)
            {
                title.Append($" matching **{opts.Filter}**");
            }

            return(title.ToString());
        }