misc: shorten option getters
This commit is contained in:
@@ -26,29 +26,17 @@ pub async fn run(ctx: &Context, interaction: &CommandInteraction) -> Result<(),
|
||||
|
||||
let target_user = options
|
||||
.iter()
|
||||
.find_map(|opt| {
|
||||
if opt.name == "target" {
|
||||
match &opt.value {
|
||||
ResolvedValue::User(user, member) => Some((user, member.as_ref())),
|
||||
.find_map(|opt| match (opt.name, &opt.value) {
|
||||
("target", ResolvedValue::User(user, member)) => Some((user, member.as_ref())),
|
||||
_ => None,
|
||||
}
|
||||
} else {
|
||||
None
|
||||
}
|
||||
})
|
||||
.expect("Target user should be present");
|
||||
.expect("Target user is a required field; should be present");
|
||||
|
||||
let use_bigger = options
|
||||
.iter()
|
||||
.find_map(|opt| {
|
||||
if opt.name == "bigger" {
|
||||
match &opt.value {
|
||||
ResolvedValue::Boolean(v) => Some(*v),
|
||||
.find_map(|opt| match (opt.name, &opt.value) {
|
||||
("target", ResolvedValue::Boolean(v)) => Some(*v),
|
||||
_ => None,
|
||||
}
|
||||
} else {
|
||||
None
|
||||
}
|
||||
})
|
||||
.unwrap_or(false);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user