From a6f5334f984531cf2304b6333b138944517d3703 Mon Sep 17 00:00:00 2001 From: Nathan Perry Date: Sat, 30 Mar 2019 03:31:30 -0400 Subject: restructure meme module --- src/commands/meme/delete.rs | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/commands/meme/delete.rs (limited to 'src/commands/meme/delete.rs') diff --git a/src/commands/meme/delete.rs b/src/commands/meme/delete.rs new file mode 100644 index 0000000..5c6eb13 --- /dev/null +++ b/src/commands/meme/delete.rs @@ -0,0 +1,37 @@ +use diesel::{ + NotFound, + result::Error as DieselError, +}; +use serenity::{ + framework::standard::Args, + model::channel::Message, + prelude::*, +}; + +use crate::{ + commands::send, + db::{ + connection, + delete_meme, + }, + Result, +}; + +pub fn delmeme(_: &mut Context, msg: &Message, mut args: Args) -> Result<()> { + let title = args.single_quoted::()?; + + let conn = connection()?; + match delete_meme(&conn, &title, msg.author.id.0) { + Ok(_) => msg.react("💀"), + Err(e) => { + if let Some(NotFound) = e.downcast_ref::() { + msg.react("❓")?; + info!("attempted to delete nonexistent meme: '{}'", title); + send(msg.channel_id, "nice try", msg.tts)?; + return Ok(()); + } + + Err(e) + } + } +} -- cgit v1.3.1