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
|
let target_user = options
|
||||||
.iter()
|
.iter()
|
||||||
.find_map(|opt| {
|
.find_map(|opt| match (opt.name, &opt.value) {
|
||||||
if opt.name == "target" {
|
("target", ResolvedValue::User(user, member)) => Some((user, member.as_ref())),
|
||||||
match &opt.value {
|
_ => None,
|
||||||
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
|
let use_bigger = options
|
||||||
.iter()
|
.iter()
|
||||||
.find_map(|opt| {
|
.find_map(|opt| match (opt.name, &opt.value) {
|
||||||
if opt.name == "bigger" {
|
("target", ResolvedValue::Boolean(v)) => Some(*v),
|
||||||
match &opt.value {
|
_ => None,
|
||||||
ResolvedValue::Boolean(v) => Some(*v),
|
|
||||||
_ => None,
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
None
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
.unwrap_or(false);
|
.unwrap_or(false);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user