mirror of
https://github.com/PluralKit/PluralKit.git
synced 2026-02-11 00:07:55 +00:00
implement admin commands
This commit is contained in:
parent
5198f7d83b
commit
a268f75d32
15 changed files with 263 additions and 287 deletions
|
|
@ -260,11 +260,13 @@ fn command_callback_to_name(cb: &str) -> String {
|
|||
fn get_param_ty(kind: ParameterKind) -> &'static str {
|
||||
match kind {
|
||||
ParameterKind::OpaqueString | ParameterKind::OpaqueStringRemainder => "string",
|
||||
ParameterKind::OpaqueInt => "int",
|
||||
ParameterKind::MemberRef => "PKMember",
|
||||
ParameterKind::MemberRefs => "List<PKMember>",
|
||||
ParameterKind::GroupRef => "PKGroup",
|
||||
ParameterKind::GroupRefs => "List<PKGroup>",
|
||||
ParameterKind::SystemRef => "PKSystem",
|
||||
ParameterKind::UserRef => "User",
|
||||
ParameterKind::MemberPrivacyTarget => "MemberPrivacySubject",
|
||||
ParameterKind::GroupPrivacyTarget => "GroupPrivacySubject",
|
||||
ParameterKind::SystemPrivacyTarget => "SystemPrivacySubject",
|
||||
|
|
@ -280,11 +282,13 @@ fn get_param_ty(kind: ParameterKind) -> &'static str {
|
|||
fn get_param_param_ty(kind: ParameterKind) -> &'static str {
|
||||
match kind {
|
||||
ParameterKind::OpaqueString | ParameterKind::OpaqueStringRemainder => "Opaque",
|
||||
ParameterKind::OpaqueInt => "Number",
|
||||
ParameterKind::MemberRef => "Member",
|
||||
ParameterKind::MemberRefs => "Members",
|
||||
ParameterKind::GroupRef => "Group",
|
||||
ParameterKind::GroupRefs => "Groups",
|
||||
ParameterKind::SystemRef => "System",
|
||||
ParameterKind::UserRef => "User",
|
||||
ParameterKind::MemberPrivacyTarget => "MemberPrivacyTarget",
|
||||
ParameterKind::GroupPrivacyTarget => "GroupPrivacyTarget",
|
||||
ParameterKind::SystemPrivacyTarget => "SystemPrivacyTarget",
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ interface Parameter {
|
|||
GroupRef(string group);
|
||||
GroupRefs(sequence<string> groups);
|
||||
SystemRef(string system);
|
||||
UserRef(u64 user_id);
|
||||
MessageRef(u64? guild_id, u64? channel_id, u64 message_id);
|
||||
ChannelRef(u64 channel_id);
|
||||
GuildRef(u64 guild_id);
|
||||
|
|
@ -21,6 +22,7 @@ interface Parameter {
|
|||
SystemPrivacyTarget(string target);
|
||||
PrivacyLevel(string level);
|
||||
OpaqueString(string raw);
|
||||
OpaqueInt(i32 raw);
|
||||
Toggle(boolean toggle);
|
||||
Avatar(string avatar);
|
||||
Null();
|
||||
|
|
|
|||
|
|
@ -37,6 +37,9 @@ pub enum Parameter {
|
|||
SystemRef {
|
||||
system: String,
|
||||
},
|
||||
UserRef {
|
||||
user_id: u64,
|
||||
},
|
||||
MessageRef {
|
||||
guild_id: Option<u64>,
|
||||
channel_id: Option<u64>,
|
||||
|
|
@ -63,6 +66,9 @@ pub enum Parameter {
|
|||
OpaqueString {
|
||||
raw: String,
|
||||
},
|
||||
OpaqueInt {
|
||||
raw: i32,
|
||||
},
|
||||
Toggle {
|
||||
toggle: bool,
|
||||
},
|
||||
|
|
@ -80,11 +86,13 @@ impl From<ParameterValue> for Parameter {
|
|||
ParameterValue::GroupRef(group) => Self::GroupRef { group },
|
||||
ParameterValue::GroupRefs(groups) => Self::GroupRefs { groups },
|
||||
ParameterValue::SystemRef(system) => Self::SystemRef { system },
|
||||
ParameterValue::UserRef(user_id) => Self::UserRef { user_id },
|
||||
ParameterValue::MemberPrivacyTarget(target) => Self::MemberPrivacyTarget { target },
|
||||
ParameterValue::GroupPrivacyTarget(target) => Self::GroupPrivacyTarget { target },
|
||||
ParameterValue::SystemPrivacyTarget(target) => Self::SystemPrivacyTarget { target },
|
||||
ParameterValue::PrivacyLevel(level) => Self::PrivacyLevel { level },
|
||||
ParameterValue::OpaqueString(raw) => Self::OpaqueString { raw },
|
||||
ParameterValue::OpaqueInt(raw) => Self::OpaqueInt { raw },
|
||||
ParameterValue::Toggle(toggle) => Self::Toggle { toggle },
|
||||
ParameterValue::Avatar(avatar) => Self::Avatar { avatar },
|
||||
ParameterValue::MessageRef(guild_id, channel_id, message_id) => Self::MessageRef {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue