aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Perry <np@nathanperry.dev>2020-01-28 18:02:50 -0500
committerNathan Perry <np@nathanperry.dev>2020-01-28 18:02:50 -0500
commitb477b066b972248e080ff7f432ccab2c5e520b43 (patch)
tree58ade78da84392b9d0615e1b7efd60cd37bcec08
parentaf2676294754d22cf2774f2cea2c16151aa5a6c7 (diff)
fix error handling for addmeme
-rw-r--r--src/commands/meme/create.rs17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/commands/meme/create.rs b/src/commands/meme/create.rs
index 047c556..9a89dbe 100644
--- a/src/commands/meme/create.rs
+++ b/src/commands/meme/create.rs
@@ -56,23 +56,24 @@ pub fn addmeme(ctx: &mut Context, msg: &Message, args: Args) -> Result<()> {
let conn = connection()?;
- let image = msg.attachments.first()
- .ok_or(anyhow!("no attachment"))
- .and_then(|att| {
- let data = att.download()?;
- Image::create(&conn, &att.filename, data, msg.author.id.0)
- })
- .ok();
+ let image = msg.attachments.first();
if image.is_none() && text.is_none() {
warn!("tried to create non-audio meme with no image or text");
return ctx.send(msg.channel_id, "hahAA it's empty xdddd", msg.tts);
}
+ let image_id = image
+ .ok_or(anyhow!("no attachment"))
+ .and_then(|att| {
+ let data = att.download()?;
+ Image::create(&conn, &att.filename, data, msg.author.id.0)
+ })?;
+
let save_result = NewMeme {
title,
content: text,
- image_id: image,
+ image_id: Some(image_id),
audio_id: None,
metadata_id: 0,
}.save(&conn, msg.author.id.0).map(|_| {});