From 9f54ca3a1aa375cd01dc5c96075817fe6336bde0 Mon Sep 17 00:00:00 2001 From: Natsu Kagami Date: Sat, 13 Jun 2020 23:44:04 -0400 Subject: [PATCH] Align the ranks table --- youmubot-osu/src/discord/server_rank.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/youmubot-osu/src/discord/server_rank.rs b/youmubot-osu/src/discord/server_rank.rs index b7aa618..62f7d2a 100644 --- a/youmubot-osu/src/discord/server_rank.rs +++ b/youmubot-osu/src/discord/server_rank.rs @@ -50,17 +50,19 @@ pub fn server_rank(ctx: &mut Context, m: &Message, mut args: Args) -> CommandRes m.channel_id, move |page: u8, e: &mut EditMessage| { let start = (page as usize) * ITEMS_PER_PAGE; - if start >= users.len() { + let end = (start + ITEMS_PER_PAGE).min(users.len()); + if start >= end { return (e, Err(Error("No more items".to_owned()))); } let total_len = users.len(); - let users = users.iter().skip(start).take(ITEMS_PER_PAGE); + let users = &users[start..end]; + let username_len = users.iter().map(|(_, u)| u.len()).max().unwrap_or(8).max(8); let mut content = MessageBuilder::new(); content .push_line("```") .push_line("Rank | pp | Username") - .push_line("-------------------------"); - for (id, (pp, member)) in users.enumerate() { + .push_line(format!("-----------------{:-4} | {:>7.2} | ",