Add webhook
This commit is contained in:
@@ -2,16 +2,21 @@
|
||||
using Managing.Common;
|
||||
using Managing.Domain.Statistics;
|
||||
using Managing.Domain.Trades;
|
||||
using Managing.Domain.Users;
|
||||
|
||||
namespace Managing.Application.Shared;
|
||||
|
||||
public class MessengerService : IMessengerService
|
||||
{
|
||||
private readonly IDiscordService _discordService;
|
||||
private readonly IWebhookService _webhookService;
|
||||
private readonly IUserService _userService;
|
||||
|
||||
public MessengerService(IDiscordService discordService)
|
||||
public MessengerService(IDiscordService discordService, IWebhookService webhookService, IUserService userService)
|
||||
{
|
||||
_discordService = discordService;
|
||||
_webhookService = webhookService;
|
||||
_userService = userService;
|
||||
}
|
||||
|
||||
public async Task SendClosedPosition(string address, Trade oldTrade)
|
||||
@@ -50,9 +55,24 @@ public class MessengerService : IMessengerService
|
||||
await _discordService.SendSignal(message, exchange, ticker, direction, timeframe);
|
||||
}
|
||||
|
||||
public async Task SendTradeMessage(string message, bool isBadBehavior = false)
|
||||
public async Task SendTradeMessage(string message, bool isBadBehavior = false, User user = null)
|
||||
{
|
||||
await _discordService.SendTradeMessage(message, isBadBehavior);
|
||||
// Always send to Discord
|
||||
try
|
||||
{
|
||||
await _discordService.SendTradeMessage(message, isBadBehavior);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e);
|
||||
}
|
||||
|
||||
// If user is provided, also send to webhook
|
||||
if (user != null)
|
||||
{
|
||||
user = _userService.GetUser(user.Name);
|
||||
await _webhookService.SendTradeNotification(user, message, isBadBehavior);
|
||||
}
|
||||
}
|
||||
|
||||
public async Task SendBestTraders(List<Trader> traders)
|
||||
|
||||
Reference in New Issue
Block a user