From 36adb16a7453454c6196bb7456ec7d09c020cb02 Mon Sep 17 00:00:00 2001 From: liyunze <50455574+liyunze-coding@users.noreply.github.com> Date: Mon, 10 Aug 2026 00:32:15 +1000 Subject: [PATCH] updated gitignore, updated thread title to be leetcode titles --- .gitignore | 3 ++- src/events/message.rs | 26 ++++++++++++++++++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 0b745e2..9d85b1c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /target -.env \ No newline at end of file +.env +.env.* diff --git a/src/events/message.rs b/src/events/message.rs index 3cb05b2..47a68a9 100644 --- a/src/events/message.rs +++ b/src/events/message.rs @@ -62,8 +62,30 @@ async fn create_leetcode_thread( let current_channel_id = &new_message.channel_id; if leetcode_channel_id.eq(current_channel_id) { - let new_thread = serenity::CreateThread::new("🧠 DSEC LeetCode Challenge Answers"); - current_channel_id.create_thread_from_message(ctx, new_message.id, new_thread).await?; + fn create_title_from_message(message: impl Into) -> String { + let message_string: String = message.into(); + + let title = message_string + .lines() + .next() + .map(|line| { + let start = line + .char_indices() + .nth(2) + .map(|(i, _)| i) + .unwrap_or(line.len()); + &line[start..] + }) + .unwrap_or("") + .to_string(); + title + } + + let new_thread = + serenity::CreateThread::new(create_title_from_message(&new_message.content)); + current_channel_id + .create_thread_from_message(ctx, new_message.id, new_thread) + .await?; }; Ok(())