From b783b165940b8ad25f9536f2356cc5c688704f70 Mon Sep 17 00:00:00 2001 From: tec <tec@ucc.gu.uwa.edu.au> Date: Tue, 4 Feb 2020 18:23:56 +0800 Subject: [PATCH] Refactor cowsay --- src/voting.rs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/voting.rs b/src/voting.rs index b5ea473..b08d8a7 100644 --- a/src/voting.rs +++ b/src/voting.rs @@ -56,25 +56,23 @@ impl Commands { ); } pub fn cowsay(ctx: Context, msg: Message, content: &str) { - let output; - if !content.trim().is_empty() { + let output = if !content.trim().is_empty() { let mut text = content.to_owned(); text.escape_default(); // Guess what buddy! You definitely are passing a string to cowsay text.insert(0, '\''); text.insert(text.len(), '\''); - output = std::process::Command::new("cowsay") + std::process::Command::new("cowsay") .arg(text) .output() - // btw, if we can't execute cowsay we crash - .expect("failed to execute cowsay"); + .expect("failed to execute cowsay") } else { - output = std::process::Command::new("sh") + std::process::Command::new("sh") .arg("-c") .arg("sh -c fortune | cowsay -f \"/usr/share/cowsay/cows/$(echo 'www\nhellokitty\nbud-frogs\nkoala\nsuse\nthree-eyes\npony-smaller\nsheep\nvader\ncower\nmoofasa\nelephant\nflaming-sheep\nskeleton\nsnowman\ntux\napt\nmoose' | shuf -n 1).cow\"") .output() - .expect("failed to execute fortune/cowsay"); - } + .expect("failed to execute fortune/cowsay") + }; let mut message = MessageBuilder::new(); message.push_codeblock( String::from_utf8(output.stdout).expect("unable to parse stdout to String"), -- GitLab