Compare commits
No commits in common. "bb13e8fab7f8760377cad10fa9bd48f0cfb4f6ec" and "0551c8aaa2255c0cf7d70738ecdc8d2fc926a722" have entirely different histories.
bb13e8fab7
...
0551c8aaa2
|
|
@ -123,11 +123,10 @@ async fn rank(ctx: ManifoldContext<'_>) -> ManifoldResult<()> {
|
||||||
async fn leaderboard(ctx: ManifoldContext<'_>) -> ManifoldResult<()> {
|
async fn leaderboard(ctx: ManifoldContext<'_>) -> ManifoldResult<()> {
|
||||||
|
|
||||||
let reply_handle = ctx.reply("Retrieving leaderboard, please stand by...".to_string()).await?;
|
let reply_handle = ctx.reply("Retrieving leaderboard, please stand by...".to_string()).await?;
|
||||||
let entries_per_page = 7; // Maximum due to limitation on fields per embed
|
|
||||||
let mut pages = Vec::<CreateEmbed>::new();
|
let mut pages = Vec::<CreateEmbed>::new();
|
||||||
let leaderboard = Xp::get_leaderboard(&ctx.data().database)?;
|
let leaderboard = Xp::get_leaderboard(&ctx.data().database)?;
|
||||||
let total = leaderboard.len();
|
let total = leaderboard.len();
|
||||||
let pages_needed = (total / entries_per_page) + 1;
|
let pages_needed = (total / 10) + 1;
|
||||||
|
|
||||||
for i in 0..pages_needed {
|
for i in 0..pages_needed {
|
||||||
let mut page = CreateEmbed::default()
|
let mut page = CreateEmbed::default()
|
||||||
|
|
@ -139,7 +138,7 @@ async fn leaderboard(ctx: ManifoldContext<'_>) -> ManifoldResult<()> {
|
||||||
fields.push(("User", "".to_string(), true));
|
fields.push(("User", "".to_string(), true));
|
||||||
fields.push(("XP", "".to_string(), true));
|
fields.push(("XP", "".to_string(), true));
|
||||||
|
|
||||||
leaderboard.iter().skip(i*entries_per_page).enumerate().for_each(|(i, f)| {
|
leaderboard.iter().skip(i*10).enumerate().for_each(|(i, f)| {
|
||||||
fields.push(("", format!("{rank}", rank=(i+1)), true));
|
fields.push(("", format!("{rank}", rank=(i+1)), true));
|
||||||
fields.push(("", format!("<@{id}>", id=f.user_id), true));
|
fields.push(("", format!("<@{id}>", id=f.user_id), true));
|
||||||
fields.push(("", format!("{xp}", xp=f.xp_value), true));
|
fields.push(("", format!("{xp}", xp=f.xp_value), true));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue