Clean up define command
This commit is contained in:
parent
e5bc576c83
commit
6fd658c6d0
|
@ -1,5 +1,5 @@
|
||||||
use serenity::{
|
use serenity::{
|
||||||
framework::standard::{macros::command, Args, CommandResult},
|
framework::standard::{macros::command, Args, CommandError, CommandResult},
|
||||||
model::channel::Message,
|
model::channel::Message,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
};
|
};
|
||||||
|
@ -8,36 +8,32 @@ use serenity::{
|
||||||
#[command]
|
#[command]
|
||||||
#[aliases("what's this")]
|
#[aliases("what's this")]
|
||||||
async fn define(ctx: &Context, message: &Message, args: Args) -> CommandResult {
|
async fn define(ctx: &Context, message: &Message, args: Args) -> CommandResult {
|
||||||
let text: String = args.rest().trim().to_string();
|
if args.is_empty() {
|
||||||
let defs = &urbandict::get_definitions(&text);
|
return Err("No arguments!".into());
|
||||||
if !args.is_empty() {
|
|
||||||
match defs {
|
|
||||||
Err(_e) => {
|
|
||||||
return Err("Invalid query >w<".into());
|
|
||||||
}
|
|
||||||
Ok(v) => {
|
|
||||||
if !v.is_empty() {
|
|
||||||
let def = &v[0];
|
|
||||||
let _ = message
|
|
||||||
.channel_id
|
|
||||||
.send_message(&ctx.http, |m| {
|
|
||||||
m.embed(|e| {
|
|
||||||
e.title(format!("Query: {}, Author: {}", text, def.author))
|
|
||||||
.field(
|
|
||||||
"Definition: ",
|
|
||||||
def.definition.replace(|c| c == '[' || c == ']', ""),
|
|
||||||
false,
|
|
||||||
)
|
|
||||||
.color(0xffd1dc)
|
|
||||||
})
|
|
||||||
})
|
|
||||||
.await;
|
|
||||||
} else {
|
|
||||||
return Err("No results!".into());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let text: String = args.rest().trim().to_string();
|
||||||
|
let defs =
|
||||||
|
urbandict::get_definitions(&text).map_err(|_| CommandError::from("Invalid query >w<"))?;
|
||||||
|
|
||||||
|
let def = defs
|
||||||
|
.first()
|
||||||
|
.ok_or_else(|| CommandError::from("No results!"))?;
|
||||||
|
|
||||||
|
let _ = message
|
||||||
|
.channel_id
|
||||||
|
.send_message(&ctx.http, |m| {
|
||||||
|
m.embed(|e| {
|
||||||
|
e.title(format!("Query: {}, Author: {}", text, def.author))
|
||||||
|
.field(
|
||||||
|
"Definition: ",
|
||||||
|
def.definition.replace(|c| c == '[' || c == ']', ""),
|
||||||
|
false,
|
||||||
|
)
|
||||||
|
.color(0xffd1dc)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.await;
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue