implement random commands, dont keep the subcommands only the flags

This commit is contained in:
dusk 2025-09-26 23:56:49 +00:00
parent c00ff2f371
commit c92c3f84f0
No known key found for this signature in database
13 changed files with 82 additions and 24 deletions

View file

@ -168,6 +168,7 @@ fn get_param_ty(kind: ParameterKind) -> &'static str {
ParameterKind::OpaqueString | ParameterKind::OpaqueStringRemainder => "string",
ParameterKind::MemberRef => "PKMember",
ParameterKind::MemberRefs => "List<PKMember>",
ParameterKind::GroupRef => "PKGroup",
ParameterKind::SystemRef => "PKSystem",
ParameterKind::MemberPrivacyTarget => "MemberPrivacySubject",
ParameterKind::SystemPrivacyTarget => "SystemPrivacySubject",
@ -183,6 +184,7 @@ fn get_param_param_ty(kind: ParameterKind) -> &'static str {
ParameterKind::OpaqueString | ParameterKind::OpaqueStringRemainder => "Opaque",
ParameterKind::MemberRef => "Member",
ParameterKind::MemberRefs => "Members",
ParameterKind::GroupRef => "Group",
ParameterKind::SystemRef => "System",
ParameterKind::MemberPrivacyTarget => "MemberPrivacyTarget",
ParameterKind::SystemPrivacyTarget => "SystemPrivacyTarget",

View file

@ -10,6 +10,7 @@ interface CommandResult {
interface Parameter {
MemberRef(string member);
MemberRefs(sequence<string> members);
GroupRef(string group);
SystemRef(string system);
GuildRef(string guild);
MemberPrivacyTarget(string target);

View file

@ -24,6 +24,7 @@ pub enum CommandResult {
pub enum Parameter {
MemberRef { member: String },
MemberRefs { members: Vec<String> },
GroupRef { group: String },
SystemRef { system: String },
GuildRef { guild: String },
MemberPrivacyTarget { target: String },
@ -39,6 +40,7 @@ impl From<ParameterValue> for Parameter {
match value {
ParameterValue::MemberRef(member) => Self::MemberRef { member },
ParameterValue::MemberRefs(members) => Self::MemberRefs { members },
ParameterValue::GroupRef(group) => Self::GroupRef { group },
ParameterValue::SystemRef(system) => Self::SystemRef { system },
ParameterValue::MemberPrivacyTarget(target) => Self::MemberPrivacyTarget { target },
ParameterValue::SystemPrivacyTarget(target) => Self::SystemPrivacyTarget { target },