From 8b1db8cccf3f103ecc3aac70d9cb2a186f4ec3bc Mon Sep 17 00:00:00 2001 From: mii443 Date: Thu, 10 Oct 2024 08:12:28 +0000 Subject: [PATCH] support file returning --- src/event_handler.rs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/event_handler.rs b/src/event_handler.rs index 94a8f96..d85db88 100644 --- a/src/event_handler.rs +++ b/src/event_handler.rs @@ -89,7 +89,7 @@ async fn on_message(ctx: &serenity::Context, data: &Data, message: &Message) { let timeout = Arc::new(Mutex::new(false)); let t = Arc::clone(&timeout); tokio::spawn(async move { - sleep_until(Instant::now() + Duration::from_secs(30)).await; + sleep_until(Instant::now() + Duration::from_secs(120)).await; if let Ok(_) = end_tx.send(()) { *t.lock().unwrap() = true; } @@ -129,6 +129,23 @@ async fn on_message(ctx: &serenity::Context, data: &Data, message: &Message) { } } + let paths: Vec<&str> = if let Some(matc) = captures.name("paths") { + matc.as_str() + } else { + "" + } + .lines() + .filter(|l| !l.is_empty()) + .collect(); + + for path in paths { + if let Ok(file) = container.download_file(path).await { + edit_message = edit_message.new_attachment(CreateAttachment::bytes(file, path)); + } else { + content += &format!("\nFile not found: `{}`", path); + } + } + edit_message = edit_message.content(content); message.edit(&ctx.http, edit_message).await.unwrap();