feat(commands): add cs codegen to statically use params and flags in bot code, remove Any

This commit is contained in:
dusk 2025-01-21 12:36:54 +09:00
parent 0c012e98b5
commit 07e8a4851a
No known key found for this signature in database
20 changed files with 297 additions and 417 deletions

View file

@ -6,38 +6,27 @@ pub fn cmds() -> impl Iterator<Item = Command> {
let privacy = ["privacy", "priv"];
let new = ["new", "n"];
let member_target = tokens!(member, MemberRef);
let member_desc = concat_tokens!(member_target, [description]);
let member_privacy = concat_tokens!(member_target, [privacy]);
[
command!([member, new, ("name", OpaqueString::SINGLE)], "member_new")
command!([member, new, ("name", OpaqueString)] => "member_new")
.help("Creates a new system member"),
command!([member, MemberRef], "member_show")
.help("Shows information about a member")
.value_flag("pt", Disable),
command!([member, MemberRef, description], "member_desc_show")
.help("Shows a member's description"),
command!(
[
member,
MemberRef,
description,
("description", OpaqueString::REMAINDER)
],
"member_desc_update"
)
.help("Changes a member's description"),
command!([member, MemberRef, privacy], "member_privacy_show")
command!(member_target => "member_show")
.flag("pt")
.help("Shows information about a member"),
command!(member_desc => "member_desc_show").help("Shows a member's description"),
command!(member_desc, ("description", OpaqueStringRemainder) => "member_desc_update")
.help("Changes a member's description"),
command!(member_privacy => "member_privacy_show")
.help("Displays a member's current privacy settings"),
command!(
[
member,
MemberRef,
privacy,
MemberPrivacyTarget,
("new_privacy_level", PrivacyLevel)
],
"member_privacy_update"
member_privacy, MemberPrivacyTarget, ("new_privacy_level", PrivacyLevel)
=> "member_privacy_update"
)
.help("Changes a member's privacy settings"),
command!([member, MemberRef, "soulscream"], "member_soulscream").show_in_suggestions(false),
command!(member_target, "soulscream" => "member_soulscream").show_in_suggestions(false),
]
.into_iter()
}