mirror of
https://jihulab.com/DGP-Studio/Snap.Hutao.git
synced 2025-11-19 21:02:53 +08:00
fix #1134
This commit is contained in:
@@ -24,6 +24,12 @@ internal static class DiscordController
|
||||
public static async ValueTask<Result> SetDefaultActivityAsync(DateTimeOffset startTime)
|
||||
{
|
||||
ResetManagerOrIgnore(HutaoAppId);
|
||||
|
||||
if (discordManager is null)
|
||||
{
|
||||
return Result.Ok;
|
||||
}
|
||||
|
||||
ActivityManager activityManager = discordManager.GetActivityManager();
|
||||
|
||||
Activity activity = default;
|
||||
@@ -37,6 +43,12 @@ internal static class DiscordController
|
||||
public static async ValueTask<Result> SetPlayingYuanShenAsync()
|
||||
{
|
||||
ResetManagerOrIgnore(YuanshenId);
|
||||
|
||||
if (discordManager is null)
|
||||
{
|
||||
return Result.Ok;
|
||||
}
|
||||
|
||||
ActivityManager activityManager = discordManager.GetActivityManager();
|
||||
|
||||
Activity activity = default;
|
||||
@@ -54,6 +66,12 @@ internal static class DiscordController
|
||||
public static async ValueTask<Result> SetPlayingGenshinImpactAsync()
|
||||
{
|
||||
ResetManagerOrIgnore(GenshinImpactId);
|
||||
|
||||
if (discordManager is null)
|
||||
{
|
||||
return Result.Ok;
|
||||
}
|
||||
|
||||
ActivityManager activityManager = discordManager.GetActivityManager();
|
||||
|
||||
Activity activity = default;
|
||||
@@ -88,7 +106,6 @@ internal static class DiscordController
|
||||
}
|
||||
}
|
||||
|
||||
[MemberNotNull(nameof(discordManager))]
|
||||
private static unsafe void ResetManagerOrIgnore(long clientId)
|
||||
{
|
||||
if (discordManager?.ClientId == clientId)
|
||||
@@ -96,6 +113,13 @@ internal static class DiscordController
|
||||
return;
|
||||
}
|
||||
|
||||
// Actually requires a discord client to be running on Windows platform.
|
||||
// If not, the following creation code will throw.
|
||||
if (System.Diagnostics.Process.GetProcessesByName("Discord").Length == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
lock (SyncRoot)
|
||||
{
|
||||
discordManager?.Dispose();
|
||||
|
||||
Reference in New Issue
Block a user