mirror of
https://github.com/NoiTheCat/BirthdayBot.git
synced 2024-11-21 13:54:36 +00:00
Increase time span coverage for recent/upcoming
Also adds a simple way to prevent the resulting message from growing too large
This commit is contained in:
parent
0bd9b79e50
commit
e3a86dd6dc
1 changed files with 11 additions and 3 deletions
|
@ -161,7 +161,7 @@ namespace BirthdayBot.UserInterface
|
||||||
private async Task CmdUpcoming(string[] param, SocketTextChannel reqChannel, SocketGuildUser reqUser)
|
private async Task CmdUpcoming(string[] param, SocketTextChannel reqChannel, SocketGuildUser reqUser)
|
||||||
{
|
{
|
||||||
var now = DateTimeOffset.UtcNow;
|
var now = DateTimeOffset.UtcNow;
|
||||||
var search = DateIndex(now.Month, now.Day) - 4; // begin search 4 days prior to current date UTC
|
var search = DateIndex(now.Month, now.Day) - 8; // begin search 8 days prior to current date UTC
|
||||||
if (search <= 0) search = 366 - Math.Abs(search);
|
if (search <= 0) search = 366 - Math.Abs(search);
|
||||||
|
|
||||||
var query = await LoadList(reqChannel.Guild, true);
|
var query = await LoadList(reqChannel.Guild, true);
|
||||||
|
@ -169,7 +169,7 @@ namespace BirthdayBot.UserInterface
|
||||||
var output = new StringBuilder();
|
var output = new StringBuilder();
|
||||||
var resultCount = 0;
|
var resultCount = 0;
|
||||||
output.AppendLine("Recent and upcoming birthdays:");
|
output.AppendLine("Recent and upcoming birthdays:");
|
||||||
for (int count = 0; count <= 11; count++) // cover 11 days total (3 prior, current day, 7 upcoming)
|
for (int count = 0; count <= 21; count++) // cover 21 days total (7 prior, current day, 14 upcoming)
|
||||||
{
|
{
|
||||||
var results = from item in query
|
var results = from item in query
|
||||||
where item.DateIndex == search
|
where item.DateIndex == search
|
||||||
|
@ -192,13 +192,21 @@ namespace BirthdayBot.UserInterface
|
||||||
|
|
||||||
var first = true;
|
var first = true;
|
||||||
output.AppendLine();
|
output.AppendLine();
|
||||||
output.Append($"● `{Common.MonthNames[results.First().BirthMonth]}-{results.First().BirthDay.ToString("00")}`: ");
|
output.Append($"● `{Common.MonthNames[results.First().BirthMonth]}-{results.First().BirthDay:00}`: ");
|
||||||
foreach (var item in names)
|
foreach (var item in names)
|
||||||
{
|
{
|
||||||
if (first) first = false;
|
if (first) first = false;
|
||||||
else output.Append(", ");
|
else output.Append(", ");
|
||||||
output.Append(item);
|
output.Append(item);
|
||||||
|
|
||||||
|
// If the output is starting to fill up, back out early and prepare to show the result as-is
|
||||||
|
if (output.Length > 970) goto listfull;
|
||||||
}
|
}
|
||||||
|
continue;
|
||||||
|
|
||||||
|
listfull:
|
||||||
|
output.AppendLine();
|
||||||
|
output.Append("Not all birthdays have been shown as there are too many to list.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (resultCount == 0)
|
if (resultCount == 0)
|
||||||
|
|
Loading…
Reference in a new issue