From 654d74932c4c057a1350220d63c98b9cbc274c21 Mon Sep 17 00:00:00 2001 From: cryptooda Date: Tue, 22 Jul 2025 18:01:33 +0700 Subject: [PATCH] Add telegram message on bundle completed --- .../Services/IMessengerService.cs | 4 +++- src/Managing.Application.Shared/MessengerService.cs | 1 + src/Managing.Application.Workers/BundleBacktestWorker.cs | 9 +++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 src/Managing.Application.Shared/MessengerService.cs diff --git a/src/Managing.Application.Abstractions/Services/IMessengerService.cs b/src/Managing.Application.Abstractions/Services/IMessengerService.cs index 40040c6..232a80d 100644 --- a/src/Managing.Application.Abstractions/Services/IMessengerService.cs +++ b/src/Managing.Application.Abstractions/Services/IMessengerService.cs @@ -13,7 +13,9 @@ public interface IMessengerService Task SendPosition(Position position); Task SendClosingPosition(Position position); - Task SendMessage(string v); + Task SendMessage(string message); + Task SendMessage(string message, string channelId); + Task SendTradeMessage(string message, bool isBadBehavior = false, User user = null); Task SendIncreasePosition(string address, Trade trade, string copyAccountName, Trade? oldTrade = null); Task SendClosedPosition(string address, Trade oldTrade); diff --git a/src/Managing.Application.Shared/MessengerService.cs b/src/Managing.Application.Shared/MessengerService.cs new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/src/Managing.Application.Shared/MessengerService.cs @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/Managing.Application.Workers/BundleBacktestWorker.cs b/src/Managing.Application.Workers/BundleBacktestWorker.cs index 987fc4d..d446768 100644 --- a/src/Managing.Application.Workers/BundleBacktestWorker.cs +++ b/src/Managing.Application.Workers/BundleBacktestWorker.cs @@ -18,10 +18,12 @@ public class BundleBacktestWorker : BaseWorker { // Removed direct repository usage for bundle requests private readonly IBacktester _backtester; + private readonly IMessengerService _messengerService; private static readonly WorkerType _workerType = WorkerType.BundleBacktest; public BundleBacktestWorker( IBacktester backtester, + IMessengerService messengerService, ILogger logger, IWorkerService workerService) : base( _workerType, @@ -30,6 +32,7 @@ public class BundleBacktestWorker : BaseWorker workerService) { _backtester = backtester; + _messengerService = messengerService; } protected override async Task Run(CancellationToken cancellationToken) @@ -115,6 +118,12 @@ public class BundleBacktestWorker : BaseWorker if (bundleRequest.FailedBacktests == 0) { bundleRequest.Status = BundleBacktestRequestStatus.Completed; + // Send Telegram message to the user's channelId + if (bundleRequest.User?.TelegramChannel != null) + { + var message = $"✅ Bundle backtest '{bundleRequest.Name}' (ID: {bundleRequest.RequestId}) is completed."; + await _messengerService.SendMessage(message, bundleRequest.User.TelegramChannel); + } } else if (bundleRequest.CompletedBacktests == 0) {