Compare commits
3 Commits
54d4764458
...
bc1890b59b
| Author | SHA1 | Date |
|---|---|---|
|
|
bc1890b59b | |
|
|
51fa9dcd05 | |
|
|
e7c3654408 |
|
|
@ -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;
|
||||
let mut pages = Vec::<CreateEmbed>::new();
|
||||
let leaderboard = Xp::get_leaderboard(&ctx.data().database)?;
|
||||
let total = leaderboard.len();
|
||||
|
|
@ -139,9 +139,19 @@ async fn leaderboard(ctx: ManifoldContext<'_>) -> ManifoldResult<()> {
|
|||
let mut values = String::new();
|
||||
|
||||
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());
|
||||
let new_rank = format!("{rank}\n", rank=(i+1));
|
||||
let new_user = format!("<@{user}>\n", user=f.user_id);
|
||||
let new_value = format!("{xp}\n", xp=f.xp_value);
|
||||
|
||||
// field values are capped at 1024 characters
|
||||
// so we have to check if what we're about to add will break that limit and bail out if so
|
||||
if (ranks.len() + new_rank.len()) > 1024 || (users.len() + new_user.len()) > 1024 || (values.len() + new_value.len()) > 1024 {
|
||||
return;
|
||||
}
|
||||
|
||||
ranks.push_str(new_rank.as_str());
|
||||
users.push_str(new_user.as_str());
|
||||
values.push_str(new_value.as_str());
|
||||
});
|
||||
|
||||
fields.push(("Rank", &ranks, true));
|
||||
|
|
|
|||
Loading…
Reference in New Issue