change: Removed a lot of old useless/broken commands. Improved .listserver. Full changes in changelog

This commit is contained in:
Kwoth
2024-08-05 15:56:32 +00:00
parent 764babdf06
commit 4a402ee673
17 changed files with 105 additions and 848 deletions

View File

@@ -176,39 +176,5 @@ public partial class Utility
return joinedAt;
}
[Cmd]
[RequireContext(ContextType.Guild)]
[OwnerOnly]
public async Task Activity(int page = 1)
{
const int activityPerPage = 10;
page -= 1;
if (page < 0)
return;
var startCount = page * activityPerPage;
var str = new StringBuilder();
foreach (var kvp in _cmdHandler.UserMessagesSent.OrderByDescending(kvp => kvp.Value)
.Skip(page * activityPerPage)
.Take(activityPerPage))
{
str.AppendLine(GetText(strs.activity_line(++startCount,
Format.Bold(kvp.Key.ToString()),
kvp.Value / _stats.GetUptime().TotalSeconds,
kvp.Value)));
}
await Response()
.Embed(_sender.CreateEmbed()
.WithTitle(GetText(strs.activity_page(page + 1)))
.WithOkColor()
.WithFooter(GetText(
strs.activity_users_total(_cmdHandler.UserMessagesSent.Count)))
.WithDescription(str.ToString()))
.SendAsync();
}
}
}

View File

@@ -557,29 +557,38 @@ public partial class Utility : NadekoModule
[Cmd]
[OwnerOnly]
public async Task ListServers(int page = 1)
public async Task ServerList(int page = 1)
{
page -= 1;
if (page < 0)
return;
var guilds = _client.Guilds.OrderBy(g => g.Name)
.Skip(page * 15)
.Take(15)
.ToList();
var allGuilds = _client.Guilds
.OrderBy(g => g.Name)
.ToList();
if (!guilds.Any())
{
await Response().Error(strs.listservers_none).SendAsync();
return;
}
await Response()
.Paginated()
.Items(allGuilds)
.PageSize(9)
.Page((guilds, _) =>
{
if (!guilds.Any())
{
return _sender.CreateEmbed()
.WithDescription(GetText(strs.listservers_none))
.WithErrorColor();
}
var embed = _sender.CreateEmbed().WithOkColor();
foreach (var guild in guilds)
embed.AddField(guild.Name, GetText(strs.listservers(guild.Id, guild.MemberCount, guild.OwnerId)));
var embed = _sender.CreateEmbed()
.WithOkColor();
foreach (var guild in guilds)
embed.AddField(guild.Name, GetText(strs.listservers(guild.Id, guild.MemberCount, guild.OwnerId)));
await Response().Embed(embed).SendAsync();
return embed;
})
.SendAsync();
}
[Cmd]