mirror of
https://github.com/PluralKit/PluralKit.git
synced 2026-02-11 16:20:13 +00:00
feat: implement switch commands
This commit is contained in:
parent
15191171f5
commit
10dd499835
9 changed files with 85 additions and 45 deletions
|
|
@ -167,6 +167,7 @@ fn get_param_ty(kind: ParameterKind) -> &'static str {
|
|||
match kind {
|
||||
ParameterKind::OpaqueString | ParameterKind::OpaqueStringRemainder => "string",
|
||||
ParameterKind::MemberRef => "PKMember",
|
||||
ParameterKind::MemberRefs => "List<PKMember>",
|
||||
ParameterKind::SystemRef => "PKSystem",
|
||||
ParameterKind::MemberPrivacyTarget => "MemberPrivacySubject",
|
||||
ParameterKind::SystemPrivacyTarget => "SystemPrivacySubject",
|
||||
|
|
@ -181,6 +182,7 @@ fn get_param_param_ty(kind: ParameterKind) -> &'static str {
|
|||
match kind {
|
||||
ParameterKind::OpaqueString | ParameterKind::OpaqueStringRemainder => "Opaque",
|
||||
ParameterKind::MemberRef => "Member",
|
||||
ParameterKind::MemberRefs => "Members",
|
||||
ParameterKind::SystemRef => "System",
|
||||
ParameterKind::MemberPrivacyTarget => "MemberPrivacyTarget",
|
||||
ParameterKind::SystemPrivacyTarget => "SystemPrivacyTarget",
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ interface CommandResult {
|
|||
[Enum]
|
||||
interface Parameter {
|
||||
MemberRef(string member);
|
||||
MemberRefs(sequence<string> members);
|
||||
SystemRef(string system);
|
||||
GuildRef(string guild);
|
||||
MemberPrivacyTarget(string target);
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ pub enum CommandResult {
|
|||
#[derive(Debug, Clone)]
|
||||
pub enum Parameter {
|
||||
MemberRef { member: String },
|
||||
MemberRefs { members: Vec<String> },
|
||||
SystemRef { system: String },
|
||||
GuildRef { guild: String },
|
||||
MemberPrivacyTarget { target: String },
|
||||
|
|
@ -37,6 +38,7 @@ impl From<ParameterValue> for Parameter {
|
|||
fn from(value: ParameterValue) -> Self {
|
||||
match value {
|
||||
ParameterValue::MemberRef(member) => Self::MemberRef { member },
|
||||
ParameterValue::MemberRefs(members) => Self::MemberRefs { members },
|
||||
ParameterValue::SystemRef(system) => Self::SystemRef { system },
|
||||
ParameterValue::MemberPrivacyTarget(target) => Self::MemberPrivacyTarget { target },
|
||||
ParameterValue::SystemPrivacyTarget(target) => Self::SystemPrivacyTarget { target },
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue