Compare commits
No commits in common. "54d4764458d2d1b640cb3e4adf721f2c33a9a962" and "5a2f32733c6a769e5871188a92479f5c15b509bf" have entirely different histories.
54d4764458
...
5a2f32733c
|
|
@ -123,7 +123,7 @@ async fn rank(ctx: ManifoldContext<'_>) -> ManifoldResult<()> {
|
|||
async fn leaderboard(ctx: ManifoldContext<'_>) -> ManifoldResult<()> {
|
||||
|
||||
let reply_handle = ctx.reply("Retrieving leaderboard, please stand by...".to_string()).await?;
|
||||
let entries_per_page = 10;
|
||||
let entries_per_page = 5; // Maximum due to limitation on fields per embed
|
||||
let mut pages = Vec::<CreateEmbed>::new();
|
||||
let leaderboard = Xp::get_leaderboard(&ctx.data().database)?;
|
||||
let total = leaderboard.len();
|
||||
|
|
@ -134,20 +134,17 @@ async fn leaderboard(ctx: ManifoldContext<'_>) -> ManifoldResult<()> {
|
|||
.title(format!("XP Leaderboard Page {page} of {total_pages}", page=(i + 1), total_pages=&pages_needed)).to_owned();
|
||||
|
||||
let mut fields = Vec::new();
|
||||
let mut ranks = String::new();
|
||||
let mut users = String::new();
|
||||
let mut values = String::new();
|
||||
|
||||
fields.push(("Rank", "".to_string(), true));
|
||||
fields.push(("User", "".to_string(), true));
|
||||
fields.push(("XP", "".to_string(), true));
|
||||
|
||||
leaderboard.iter().skip(i*entries_per_page).enumerate().for_each(|(i, f)| {
|
||||
ranks.push_str(format!("{rank}\n", rank=(i+1)).as_str());
|
||||
users.push_str(format!("<@{user}>\n", user=f.user_id).as_str());
|
||||
values.push_str(format!("{xp}\n", xp=f.xp_value).as_str());
|
||||
fields.push(("", format!("{rank}", rank=(i+1)), true));
|
||||
fields.push(("", format!("<@{id}>", id=f.user_id), true));
|
||||
fields.push(("", format!("{xp}", xp=f.xp_value), true));
|
||||
});
|
||||
|
||||
fields.push(("Rank", &ranks, true));
|
||||
fields.push(("User", &users, true));
|
||||
fields.push(("XP", &values, true));
|
||||
|
||||
page.fields(fields);
|
||||
|
||||
pages.push(page);
|
||||
|
|
|
|||
Loading…
Reference in New Issue