use serenity::framework::standard::{macros::command, Args, CommandResult}; use serenity::model::prelude::*; use serenity::prelude::*; use std::env; use std::fs; #[command] async fn challenge(ctx: &Context, msg: &Message) -> CommandResult { println!("Command received"); let challenge_dir = env::var("CHALLENGE_DIR").unwrap(); let paths = fs::read_dir(challenge_dir).unwrap(); let challenge = { let mut max = 0; for path in paths { let number = path.unwrap().path().file_stem().unwrap().to_str().unwrap().parse::().unwrap(); if number > max { max = number; } } max }; msg.reply(&ctx.http, format!("Tegaki Tuesday #{n}: https://tegakituesday.com/{n}", n = challenge)).await?; Ok(()) }