mirror of
https://github.com/TeamOctolings/Octobot.git
synced 2025-01-31 00:19:00 +03:00
Listen to Maritime Memory on Wii U Discontinuation Day (#299)
Due to the shutdown of Wii U online services on April 8 at 23:00 UTC (which affects Splatoon for Wii U), I'm opening a PR to memorialize Splatoon multiplayer on Wii U by replacing bot music with Maritime Memory on April 8-9. Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
This commit is contained in:
parent
d3053d87e8
commit
defa3c2e4a
1 changed files with 25 additions and 6 deletions
|
@ -32,6 +32,11 @@ public sealed class SongUpdateService : BackgroundService
|
|||
("Off the Hook", "Fly Octo Fly ~ Ebb & Flow (Octo)", new TimeSpan(0, 3, 5))
|
||||
];
|
||||
|
||||
private static readonly (string Author, string Name, TimeSpan Duration)[] SpecialSongList =
|
||||
[
|
||||
("Squid Sisters", "Maritime Memory", new TimeSpan(0, 2, 47))
|
||||
];
|
||||
|
||||
private readonly List<Activity> _activityList = [new Activity("with Remora.Discord", ActivityType.Game)];
|
||||
|
||||
private readonly DiscordGatewayClient _client;
|
||||
|
@ -54,19 +59,33 @@ public sealed class SongUpdateService : BackgroundService
|
|||
|
||||
while (!ct.IsCancellationRequested)
|
||||
{
|
||||
var nextSong = SongList[_nextSongIndex];
|
||||
var nextSong = NextSong();
|
||||
_activityList[0] = new Activity($"{nextSong.Name} / {nextSong.Author}",
|
||||
ActivityType.Listening);
|
||||
_client.SubmitCommand(
|
||||
new UpdatePresence(
|
||||
UserStatus.Online, false, DateTimeOffset.UtcNow, _activityList));
|
||||
_nextSongIndex++;
|
||||
if (_nextSongIndex >= SongList.Length)
|
||||
{
|
||||
_nextSongIndex = 0;
|
||||
}
|
||||
|
||||
await Task.Delay(nextSong.Duration, ct);
|
||||
}
|
||||
}
|
||||
|
||||
private (string Author, string Name, TimeSpan Duration) NextSong()
|
||||
{
|
||||
var today = DateTime.Today;
|
||||
// Discontinuation of Online Services for Nintendo Wii U
|
||||
if (today.Day is 8 or 9 && today.Month is 4)
|
||||
{
|
||||
return SpecialSongList[0]; // Maritime Memory / Squid Sisters
|
||||
}
|
||||
|
||||
var nextSong = SongList[_nextSongIndex];
|
||||
_nextSongIndex++;
|
||||
if (_nextSongIndex >= SongList.Length)
|
||||
{
|
||||
_nextSongIndex = 0;
|
||||
}
|
||||
|
||||
return nextSong;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue