using PluralKit.Core; namespace PluralKit.Bot; public static class ContextFlagsExt { public static async Task FlagResolveOpaque(this Context ctx, string param_name) { return await ctx.Parameters.ResolveFlag( ctx, param_name, param => (param as Parameter.Opaque)?.value ); } public static async Task FlagResolveMember(this Context ctx, string param_name) { return await ctx.Parameters.ResolveFlag( ctx, param_name, param => (param as Parameter.MemberRef)?.member ); } public static async Task FlagResolveSystem(this Context ctx, string param_name) { return await ctx.Parameters.ResolveFlag( ctx, param_name, param => (param as Parameter.SystemRef)?.system ); } public static async Task FlagResolveMemberPrivacyTarget(this Context ctx, string param_name) { return await ctx.Parameters.ResolveFlag( ctx, param_name, param => (param as Parameter.MemberPrivacyTarget)?.target ); } public static async Task FlagResolvePrivacyLevel(this Context ctx, string param_name) { return await ctx.Parameters.ResolveFlag( ctx, param_name, param => (param as Parameter.PrivacyLevel)?.level ); } public static async Task FlagResolveToggle(this Context ctx, string param_name) { return await ctx.Parameters.ResolveFlag( ctx, param_name, param => (param as Parameter.Toggle)?.value ); } }