$lb is now paginated
This commit is contained in:
parent
dc283d1054
commit
ba19524245
@ -244,19 +244,26 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
}
|
}
|
||||||
|
|
||||||
[NadekoCommand, Usage, Description, Aliases]
|
[NadekoCommand, Usage, Description, Aliases]
|
||||||
public async Task Leaderboard()
|
public async Task Leaderboard(int page = 1)
|
||||||
{
|
{
|
||||||
List<Currency> richest;
|
List<Currency> richest;
|
||||||
using (var uow = DbHandler.UnitOfWork())
|
using (var uow = DbHandler.UnitOfWork())
|
||||||
{
|
{
|
||||||
richest = uow.Currency.GetTopRichest(9).ToList();
|
richest = uow.Currency.GetTopRichest(9, 9 * (page - 1)).ToList();
|
||||||
}
|
}
|
||||||
if (!richest.Any())
|
|
||||||
return;
|
|
||||||
|
|
||||||
var embed = new EmbedBuilder()
|
var embed = new EmbedBuilder()
|
||||||
.WithOkColor()
|
.WithOkColor()
|
||||||
.WithTitle(NadekoBot.BotConfig.CurrencySign + " " + GetText("leaderboard"));
|
.WithTitle(NadekoBot.BotConfig.CurrencySign +
|
||||||
|
" " + GetText("leaderboard"))
|
||||||
|
.WithFooter(efb => efb.WithText(GetText("page", page)));
|
||||||
|
|
||||||
|
if (!richest.Any())
|
||||||
|
{
|
||||||
|
embed.WithDescription(GetText("no_users_found"));
|
||||||
|
await Context.Channel.EmbedAsync(embed).ConfigureAwait(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
for (var i = 0; i < richest.Count; i++)
|
for (var i = 0; i < richest.Count; i++)
|
||||||
{
|
{
|
||||||
|
18
src/NadekoBot/Resources/ResponseStrings.Designer.cs
generated
18
src/NadekoBot/Resources/ResponseStrings.Designer.cs
generated
@ -2404,6 +2404,15 @@ namespace NadekoBot.Resources {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to No users found..
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_no_users_found {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_no_users_found", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Nobody.
|
/// Looks up a localized string similar to Nobody.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -2422,6 +2431,15 @@ namespace NadekoBot.Resources {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to page {0}.
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_page {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_page", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Price.
|
/// Looks up a localized string similar to Price.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -2224,4 +2224,10 @@ Owner ID: {2}</value>
|
|||||||
<data name="games_pick_sn" xml:space="preserve">
|
<data name="games_pick_sn" xml:space="preserve">
|
||||||
<value>Pick it up by typing `{0}pick`</value>
|
<value>Pick it up by typing `{0}pick`</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="gambling_no_users_found" xml:space="preserve">
|
||||||
|
<value>No users found.</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_page" xml:space="preserve">
|
||||||
|
<value>page {0}</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
@ -8,6 +8,6 @@ namespace NadekoBot.Services.Database.Repositories
|
|||||||
Currency GetOrCreate(ulong userId);
|
Currency GetOrCreate(ulong userId);
|
||||||
long GetUserCurrency(ulong userId);
|
long GetUserCurrency(ulong userId);
|
||||||
bool TryUpdateState(ulong userId, long change);
|
bool TryUpdateState(ulong userId, long change);
|
||||||
IEnumerable<Currency> GetTopRichest(int count);
|
IEnumerable<Currency> GetTopRichest(int count, int skip);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,8 +27,8 @@ namespace NadekoBot.Services.Database.Repositories.Impl
|
|||||||
return cur;
|
return cur;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IEnumerable<Currency> GetTopRichest(int count) =>
|
public IEnumerable<Currency> GetTopRichest(int count, int skip = 0) =>
|
||||||
_set.OrderByDescending(c => c.Amount).Take(count).ToList();
|
_set.OrderByDescending(c => c.Amount).Skip(skip).Take(count).ToList();
|
||||||
|
|
||||||
public long GetUserCurrency(ulong userId) =>
|
public long GetUserCurrency(ulong userId) =>
|
||||||
GetOrCreate(userId).Amount;
|
GetOrCreate(userId).Amount;
|
||||||
|
@ -93,9 +93,9 @@ namespace NadekoBot.Extensions
|
|||||||
private static EmbedBuilder AddPaginatedFooter(this EmbedBuilder embed, int curPage, int? lastPage)
|
private static EmbedBuilder AddPaginatedFooter(this EmbedBuilder embed, int curPage, int? lastPage)
|
||||||
{
|
{
|
||||||
if (lastPage != null)
|
if (lastPage != null)
|
||||||
return embed.WithFooter(efb => efb.WithText($"page {curPage} / {lastPage}"));
|
return embed.WithFooter(efb => efb.WithText($"{curPage} / {lastPage}"));
|
||||||
else
|
else
|
||||||
return embed.WithFooter(efb => efb.WithText($"page {curPage}"));
|
return embed.WithFooter(efb => efb.WithText(curPage.ToString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ReactionEventWrapper OnReaction(this IUserMessage msg, Action<SocketReaction> reactionAdded, Action<SocketReaction> reactionRemoved = null)
|
public static ReactionEventWrapper OnReaction(this IUserMessage msg, Action<SocketReaction> reactionAdded, Action<SocketReaction> reactionRemoved = null)
|
||||||
|
Loading…
Reference in New Issue
Block a user