diff options
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/main.rs b/src/main.rs index e590460..4301ca9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -23,6 +23,7 @@ use twilight_model::{ use twilight_util::builder::{ InteractionResponseDataBuilder, command::{CommandBuilder, IntegerBuilder, NumberBuilder, StringBuilder, UserBuilder}, + embed::{EmbedBuilder, EmbedFieldBuilder}, }; mod database; @@ -182,18 +183,23 @@ fn get_leaderboard(db: &Database, guild: Id<GuildMarker>) -> InteractionResponse match board { Err(DbError::TableNotExist) => InteractionResponseDataBuilder::new() .content( - "❌ No leaderboard exists for this server! Create a leaderboard by giving someone points!", + "❌ No leaderboard exists for this server! Create one by giving someone points.", ) .build(), Err(DbError::UserNotExist) => unreachable!(), Ok(data) => { let str = data .into_iter() - .map(|br| format!("{}: {}", br.user_handle, br.points)) + .enumerate() + .map(|(idx, br)| format!("{idx}. <@{}>: {}", br.user_id, br.points)) .collect::<Vec<String>>() .join("\n"); - InteractionResponseDataBuilder::new().content(str).build() + let embed = EmbedBuilder::new().description(str).build(); + + InteractionResponseDataBuilder::new() + .embeds([embed]) + .build() } } } @@ -251,14 +257,17 @@ async fn add_points( } } - let meow = users + let users_string = users .into_iter() .map(|u| format!("<@{u}>")) .collect::<Vec<String>>() .join(", "); InteractionResponseDataBuilder::new() - .content(format!("added {} points to {meow}", points.unwrap())) + .content(format!( + "added {} points to {users_string}", + points.unwrap() + )) .build() } |