feat: implement system avatar commands

This commit is contained in:
dusk 2025-04-04 03:50:07 +09:00
parent 293570c91c
commit b62340cbb3
No known key found for this signature in database
11 changed files with 155 additions and 101 deletions

View file

@ -165,6 +165,7 @@ fn get_param_ty(kind: ParameterKind) -> &'static str {
ParameterKind::MemberPrivacyTarget => "MemberPrivacySubject",
ParameterKind::PrivacyLevel => "string",
ParameterKind::Toggle => "bool",
ParameterKind::Avatar => "ParsedImage",
}
}
@ -176,6 +177,7 @@ fn get_param_param_ty(kind: ParameterKind) -> &'static str {
ParameterKind::MemberPrivacyTarget => "MemberPrivacyTarget",
ParameterKind::PrivacyLevel => "PrivacyLevel",
ParameterKind::Toggle => "Toggle",
ParameterKind::Avatar => "Avatar",
}
}

View file

@ -14,6 +14,7 @@ interface Parameter {
PrivacyLevel(string level);
OpaqueString(string raw);
Toggle(boolean toggle);
Avatar(string avatar);
};
dictionary ParsedCommand {
string command_ref;

View file

@ -28,6 +28,7 @@ pub enum Parameter {
PrivacyLevel { level: String },
OpaqueString { raw: String },
Toggle { toggle: bool },
Avatar { avatar: String },
}
impl From<ParameterValue> for Parameter {
@ -39,6 +40,7 @@ impl From<ParameterValue> for Parameter {
ParameterValue::PrivacyLevel(level) => Self::PrivacyLevel { level },
ParameterValue::OpaqueString(raw) => Self::OpaqueString { raw },
ParameterValue::Toggle(toggle) => Self::Toggle { toggle },
ParameterValue::Avatar(avatar) => Self::Avatar { avatar },
}
}
}