Handled airing multi-post

This commit is contained in:
2024-12-31 20:59:03 -05:00
parent 965bd58799
commit 47b44fb59a

View File

@@ -335,21 +335,30 @@ namespace AnimeAnnouncer
var airingThisMonth = airingSoon.Where(p => p.LastAirDate >= beginningOfMonth && p.LastAirDate <= endOfMonth).ToList();
String statusText = $"DUBBED anime airing this month (probably){Environment.NewLine + Environment.NewLine}";
int cnt = 1;
for(int i = 0;i < airingThisMonth.Count;i++, cnt++)
for(int i = 0;i < airingThisMonth.Count;i++)
{
var airing = airingThisMonth[i];
if(!await tmdbCache.KeyExists($"ShowAnnounced-{airing.ShowID}"))
{ //TODO: fix for seasons
statusText += $"{cnt}. {airing.Title} on {airing.LastAirDate:MM/dd/yyyy}{Environment.NewLine}";
statusText += $"{cnt++}. {airing.Title} on {airing.LastAirDate:MM/dd/yyyy}{Environment.NewLine}";
}
}
int neededPostCount = (int)Math.Ceiling((decimal)statusText.Length / 500);
if(neededPostCount >= 2)
{
statusText = statusText[..497] + "...";
}
//statusText = statusText[..497] + "...";
int lineBreakIdx = 500 - new string(statusText.Take(500).Reverse().ToArray()).IndexOf(Environment.NewLine);
String postOne = statusText.Substring(0, lineBreakIdx);
String postTwo = statusText.Substring(lineBreakIdx);
var statusOne = await mastodonClient.PublishStatus(postOne,
Visibility.Public, null);
var statusTwo = await mastodonClient.PublishStatus(postTwo, Visibility.Public, statusOne.Id);
}else
{
_ = mastodonClient.PublishStatus(statusText,
Visibility.Public, null);
}
/*
else
{