diff --git a/KLHZ.Trader.Core/TG/Services/BotStarter.cs b/KLHZ.Trader.Core/TG/Services/BotStarter.cs index 5b9ec69..4c8e2a6 100644 --- a/KLHZ.Trader.Core/TG/Services/BotStarter.cs +++ b/KLHZ.Trader.Core/TG/Services/BotStarter.cs @@ -1,6 +1,7 @@ using KLHZ.Trader.Core.Contracts.Messaging.Dtos.Interfaces; using KLHZ.Trader.Core.Contracts.Messaging.Interfaces; using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using System.Collections.Immutable; using System.Threading.Channels; @@ -15,9 +16,11 @@ namespace KLHZ.Trader.Core.TG.Services private readonly IUpdateHandler _updateHandler; private readonly Channel _messages = Channel.CreateUnbounded(); private readonly ImmutableArray _admins = []; + private readonly ILogger _logger; - public BotStarter(IOptions cfg, IUpdateHandler updateHandler, IDataBus dataBus, IOptions options) + public BotStarter(IOptions cfg, IUpdateHandler updateHandler, IDataBus dataBus, IOptions options, ILogger logger) { + _logger = logger; _botClient = new TelegramBotClient(cfg.Value.Token); _updateHandler = updateHandler; dataBus.AddChannel(string.Empty, _messages); @@ -32,7 +35,15 @@ namespace KLHZ.Trader.Core.TG.Services var message = await _messages.Reader.ReadAsync(); foreach (var admin in _admins) { - await _botClient.SendMessage(admin, message.Text); + try + { + await _botClient.SendMessage(admin, message.Text); + } + catch(Exception ex) + { + _logger.LogError(ex, "Ошибка при отправке сообщения в бота."); + } + } } }