diff --git a/BetterGenshinImpact/GameTask/AutoDomain/AutoDomainTask.cs b/BetterGenshinImpact/GameTask/AutoDomain/AutoDomainTask.cs index a5e14018..fc503547 100644 --- a/BetterGenshinImpact/GameTask/AutoDomain/AutoDomainTask.cs +++ b/BetterGenshinImpact/GameTask/AutoDomain/AutoDomainTask.cs @@ -75,7 +75,7 @@ public class AutoDomainTask : ISoloTask Init(); // TODO: 使用exception逻辑让started必有对应的completed - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(_taskParam).Started().Build()); + NotificationBuilderFactory.CreateWith(_taskParam).Started().Build().Send(); // 3次复活重试 for (int i = 0; i < 3; i++) @@ -163,10 +163,10 @@ public class AutoDomainTask : ISoloTask Logger.LogInformation("体力已经耗尽,结束自动秘境"); } - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(_taskParam).Success().Build()); + NotificationBuilderFactory.CreateWith(_taskParam).Success().Build().Send(); break; } - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(_taskParam).InProgress().Build()); + NotificationBuilderFactory.CreateWith(_taskParam).InProgress().Build().Send(); } } diff --git a/BetterGenshinImpact/GameTask/AutoGeniusInvokation/Model/Duel.cs b/BetterGenshinImpact/GameTask/AutoGeniusInvokation/Model/Duel.cs index 4d0358c4..813b46be 100644 --- a/BetterGenshinImpact/GameTask/AutoGeniusInvokation/Model/Duel.cs +++ b/BetterGenshinImpact/GameTask/AutoGeniusInvokation/Model/Duel.cs @@ -62,7 +62,7 @@ public class Duel { AutoGeniusInvokationAssets.DestroyInstance(); - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(this).Started().Build()); + NotificationBuilderFactory.CreateWith(this).Started().Build().Send(); GeniusInvokationControl.GetInstance().Init(ct); // 对局准备 选择初始手牌 @@ -288,14 +288,14 @@ public class Duel } catch (TaskCanceledException ex) { - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(this).Exception(ex.Message).Build()); - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(this).Failure().Build()); + NotificationBuilderFactory.CreateWith(this).Exception(ex.Message).Build().Send(); + NotificationBuilderFactory.CreateWith(this).Failure().Build().Send(); throw; } catch (NormalEndException ex) { _logger.LogInformation("对局结束"); - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(this).Success().Build()); + NotificationBuilderFactory.CreateWith(this).Success().Build().Send(); throw; } catch (System.Exception ex) @@ -304,8 +304,8 @@ public class Duel { _logger.LogError(ex.StackTrace); } - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(this).Exception(ex.Message).Build()); - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(this).Failure().Build()); + NotificationBuilderFactory.CreateWith(this).Exception(ex.Message).Build().Send(); + NotificationBuilderFactory.CreateWith(this).Failure().Build().Send(); throw; } } diff --git a/BetterGenshinImpact/GameTask/TaskRunner.cs b/BetterGenshinImpact/GameTask/TaskRunner.cs index 54d0d67d..dac387d4 100644 --- a/BetterGenshinImpact/GameTask/TaskRunner.cs +++ b/BetterGenshinImpact/GameTask/TaskRunner.cs @@ -52,7 +52,7 @@ public class TaskRunner return; } bool isSuccess = false; - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(taskDetails).Started().Build()); + NotificationBuilderFactory.CreateWith(taskDetails).Started().Build().Send(); try { _logger.LogInformation("→ {Text}", _name + "任务启动!"); @@ -70,7 +70,7 @@ public class TaskRunner } catch (NormalEndException e) { - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(taskDetails).Exception("任务中断:" + e.Message).Build()); + NotificationBuilderFactory.CreateWith(taskDetails).Exception("任务中断:" + e.Message).Build().Send(); _logger.LogInformation("任务中断:{Msg}", e.Message); if (RunnerContext.Instance.IsContinuousRunGroup) { @@ -81,7 +81,7 @@ public class TaskRunner catch (TaskCanceledException e) { _logger.LogInformation("任务中断:{Msg}", "任务被取消"); - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(taskDetails).Exception("任务被取消").Build()); + NotificationBuilderFactory.CreateWith(taskDetails).Exception("任务被取消").Build().Send(); if (RunnerContext.Instance.IsContinuousRunGroup) { // 连续执行时,抛出异常,终止执行 @@ -92,7 +92,7 @@ public class TaskRunner { _logger.LogError(e.Message); _logger.LogDebug(e.StackTrace); - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(taskDetails).Exception(e.Message).Build()); + NotificationBuilderFactory.CreateWith(taskDetails).Exception(e.Message).Build().Send(); } finally { @@ -100,11 +100,11 @@ public class TaskRunner _logger.LogInformation("→ {Text}", _name + "任务结束"); if (isSuccess) { - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(taskDetails).Success().Build()); + NotificationBuilderFactory.CreateWith(taskDetails).Success().Build().Send(); } else { - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(taskDetails).Failure().Build()); + NotificationBuilderFactory.CreateWith(taskDetails).Failure().Build().Send(); } CancellationContext.Instance.Clear(); diff --git a/BetterGenshinImpact/Service/Notification/Model/INotificationData.cs b/BetterGenshinImpact/Service/Notification/Model/INotificationData.cs index cbbbbec6..7a53734e 100644 --- a/BetterGenshinImpact/Service/Notification/Model/INotificationData.cs +++ b/BetterGenshinImpact/Service/Notification/Model/INotificationData.cs @@ -20,4 +20,9 @@ public abstract class INotificationData public Image? Screenshot { get; set; } public string? Message { get; set; } + + public void Send() + { + NotificationHelper.Notify(this); + } } diff --git a/BetterGenshinImpact/Service/ScriptService.cs b/BetterGenshinImpact/Service/ScriptService.cs index f7e35fdb..d9d3355a 100644 --- a/BetterGenshinImpact/Service/ScriptService.cs +++ b/BetterGenshinImpact/Service/ScriptService.cs @@ -77,7 +77,7 @@ public partial class ScriptService : IScriptService bool isSuccess = false; try { - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(project).Started().Build()); + NotificationBuilderFactory.CreateWith(project).Started().Build().Send(); if (hasTimer) { TaskTriggerDispatcher.Instance().ClearTriggers(); @@ -92,20 +92,20 @@ public partial class ScriptService : IScriptService } catch (NormalEndException e) { - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(project).Exception(e.Message).Build()); + NotificationBuilderFactory.CreateWith(project).Exception(e.Message).Build().Send(); throw; } catch (TaskCanceledException e) { _logger.LogInformation("取消执行配置组: {Msg}", e.Message); - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(project).Exception("取消执行配置组: " + e.Message).Build()); + NotificationBuilderFactory.CreateWith(project).Exception("取消执行配置组: " + e.Message).Build().Send(); throw; } catch (Exception e) { _logger.LogDebug(e, "执行脚本时发生异常"); _logger.LogError("执行脚本时发生异常: {Msg}", e.Message); - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(project).Exception("执行脚本时发生异常: " + e.Message).Build()); + NotificationBuilderFactory.CreateWith(project).Exception("执行脚本时发生异常: " + e.Message).Build().Send(); } finally { @@ -117,11 +117,11 @@ public partial class ScriptService : IScriptService _logger.LogInformation("------------------------------"); if (isSuccess) { - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(project).Success().Build()); + NotificationBuilderFactory.CreateWith(project).Success().Build().Send(); } else { - NotificationHelper.Notify(NotificationBuilderFactory.CreateWith(project).Failure().Build()); + NotificationBuilderFactory.CreateWith(project).Failure().Build().Send(); } }