public PlayerStateMachine(ITelegramSender sender, PlayerRepository playerRepository, ApprovalStateMachine approvalStateMachine, Game game)
 {
     _sender               = sender;
     _playerRepository     = playerRepository;
     _approvalStateMachine = approvalStateMachine;
     _game = game;
 }
 public PlayerStateMachine(ITelegramSender sender, IGameRepository gameRepository, AdminStateMachine adminStateMachine, GameService gameService)
 {
     _sender            = sender;
     _gameRepository    = gameRepository;
     _adminStateMachine = adminStateMachine;
     _gameService       = gameService;
 }
Пример #3
0
 public MarketMakerArbitragesPublisher(ITelegramSender telegramSender, IChatPublisherSettings publisherSettings,
                                       IMarketMakerArbitragesWarningProvider marketMakerArbitragesWarningProvider,
                                       IMarketMakerArbitrageDetectorClient marketMakerArbitrageDetectorClient, ILogFactory logFactory)
     : base(telegramSender, publisherSettings, logFactory)
 {
     _marketMakerArbitragesWarningProvider = marketMakerArbitragesWarningProvider;
     _marketMakerArbitrageDetectorClient   = marketMakerArbitrageDetectorClient;
 }
 public LiquidityEngineTradesPublisher(ITelegramSender telegramSender, IChatPublisherSettings publisherSettings,
                                       LiquidityEngineUrlSettings settings, IAssetsServiceWithCache assetsServiceWithCache,
                                       ILogFactory logFactory)
     : base(telegramSender, publisherSettings, logFactory)
 {
     _settings = settings;
     _assetsServiceWithCache = assetsServiceWithCache;
 }
Пример #5
0
 protected ChatPublisher(ITelegramSender telegramSender,
                         IChatPublisherSettings publisherSettings, ILogFactory logFactory)
 {
     TelegramSender    = telegramSender;
     PublisherSettings = publisherSettings;
     Log    = logFactory.CreateLog(this);
     _timer = new TimerTrigger(this.GetType().FullName, PublisherSettings.TimeSpan, logFactory, TimeHendler);
 }
Пример #6
0
 public NettingEngineAuditPublisher(ITelegramSender telegramSender,
                                    INettingEngineAuditProvider nettingEngineAuditProvider,
                                    IChatPublisherSettingsRepository repo, ILogFactory logFactory)
 {
     _nettingEngineAuditProvider = nettingEngineAuditProvider;
     _telegramSender             = telegramSender;
     _repo = repo ?? throw new ArgumentNullException(nameof(repo));
     _log  = logFactory.CreateLog(this);
 }
 public PaymentRequestStatusReporter(IPaymentRequestDetailsMessageFormatter formatter,
                                     ITelegramSender telegramSender, PaymentRequestStatusReporterSettings settings,
                                     ILogFactory logFactory)
 {
     _formatter      = formatter;
     _telegramSender = telegramSender;
     _settings       = settings;
     _log            = logFactory.CreateLog(this);
 }
Пример #8
0
 public NettingEngineTradesChatPublisher(
     IMarketMakerReportsFiatClient marketMakerReportsClient,
     ITelegramSender telegramSender,
     IChatPublisherSettings publisherSettings,
     ILogFactory logFactory)
     : base(telegramSender, publisherSettings, logFactory)
 {
     _marketMakerReportsClient = marketMakerReportsClient;
 }
 public WalletsRebalancerPublisher(ITelegramSender telegramSender,
                                   IWalletsRebalancerProvider walletsRebalancerProvider,
                                   IChatPublisherSettingsRepository repo, ILogFactory logFactory)
 {
     _walletsRebalancerProvider = walletsRebalancerProvider;
     _telegramSender            = telegramSender;
     _repo = repo ?? throw new ArgumentNullException(nameof(repo));
     _log  = logFactory.CreateLog(this);
 }
 public LiquidityEnginePnLStopLossEnginesTriggeredChannel(
     IReportChannel channel,
     ITelegramSender telegramSender,
     LiquidityEngineUrlSettings settings,
     ILogFactory logFactory)
     : base(channel, telegramSender, logFactory)
 {
     _settings = settings;
 }
Пример #11
0
 public IndexHedgingEngineHealthIssuesChannel(
     IReportChannel channel,
     ITelegramSender telegramSender,
     ILogFactory logFactory,
     IIndexHedgingEngineClient indexHedgingEngineClient)
     : base(channel, telegramSender, logFactory)
 {
     _indexHedgingEngineClient = indexHedgingEngineClient;
 }
Пример #12
0
 public LiquidityEngineMessagesChannel(
     IReportChannel channel,
     ITelegramSender telegramSender,
     LiquidityEngineUrlSettings settings,
     ILogFactory logFactory)
     : base(channel, telegramSender, logFactory)
 {
     _settings = settings;
 }
Пример #13
0
        public NotificationSender(CourseManager courseManager, IEmailSender emailSender, ITelegramSender telegramSender, MetricSender metricSender)
        {
            this.emailSender    = emailSender;
            this.telegramSender = telegramSender;
            this.courseManager  = courseManager;
            this.metricSender   = metricSender;

            baseUrl         = ConfigurationManager.AppSettings["ulearn.baseUrl"] ?? "";
            secretForHashes = ConfigurationManager.AppSettings["ulearn.secretForHashes"] ?? "";
        }
Пример #14
0
        public NotificationSender(IWebCourseManager courseManager, IEmailSender emailSender, ITelegramSender telegramSender, MetricSender metricSender, IOptions <NotificationsConfiguration> options)
        {
            this.emailSender    = emailSender;
            this.telegramSender = telegramSender;
            this.courseManager  = courseManager;
            this.metricSender   = metricSender;

            baseUrl         = options.Value.BaseUrl ?? "";
            secretForHashes = options.Value.SecretForHashes ?? "";
        }
 public LiquidityEngineSummaryChannel(
     IReportChannel channel,
     ITelegramSender telegramSender,
     ILogFactory logFactory,
     LiquidityEngineUrlSettings settings,
     IAssetsServiceWithCache assetsServiceWithCache)
     : base(channel, telegramSender, logFactory)
 {
     _settings = settings;
     _assetsServiceWithCache = assetsServiceWithCache;
 }
 public BalancePublisher(ITelegramSender telegramSender,
                         IBalanceWarningRepository balanceWarningRepository,
                         IBalancesClient balancesClient,
                         IBalanceWarningProvider balanceWarningProvider,
                         IChatPublisherSettings publisherSettings,
                         ILogFactory logFactory)
     : base(telegramSender, publisherSettings, logFactory)
 {
     _balanceWarningRepository = balanceWarningRepository;
     _balancesClient           = balancesClient;
     _balanceWarningProvider   = balanceWarningProvider;
 }
Пример #17
0
        protected ReportChannel(IReportChannel channel, ITelegramSender telegramSender, ILogFactory logFactory)
        {
            _telegramSender = telegramSender;
            _logFactory     = logFactory;
            ChannelId       = channel.ChannelId;
            Type            = channel.Type;
            ChatId          = channel.ChatId;
            Interval        = channel.Interval;
            Metainfo        = channel.Metainfo;

            Log = _logFactory.CreateLog(this);
        }
Пример #18
0
 public ExternalBalancePublisher(ITelegramSender telegramSender,
                                 IExternalBalanceWarningRepository externalBalanceWarningRepository,
                                 INettingEngineInstanceManager nettingEngineInstanceManager,
                                 IExternalBalanceWarningProvider externalBalanceWarningProvider,
                                 IChatPublisherSettings publisherSettings,
                                 ILogFactory logFactory)
     : base(telegramSender, publisherSettings, logFactory)
 {
     _externalBalanceWarningRepository = externalBalanceWarningRepository;
     _nettingEngineInstanceManager     = nettingEngineInstanceManager;
     _externalBalanceWarningProvider   = externalBalanceWarningProvider;
 }
Пример #19
0
        public NettingEnginePublisher(ITelegramSender telegramSender,
                                      INettingEngineStateProvider nettingEngineStateProvider,
                                      IMarketMakerReportsClient marketMakerReportsClient,
                                      IChatPublisherSettings publisherSettings,
                                      ILogFactory logFactory)
            : base(telegramSender, publisherSettings, logFactory)
        {
            _nettingEngineStateProvider = nettingEngineStateProvider;
            _marketMakerReportsClient   = marketMakerReportsClient;

            EnsureInitialized();
        }
Пример #20
0
        private async Task <bool> ValidateChat(long chatId, ITelegramSender telegramSender)
        {
            var allowedChatIds = await GetAllowedChatIds();

            if (!allowedChatIds.Contains(chatId))
            {
                await telegramSender.SendTextMessageAsync(chatId, "Unrecognized chat");

                return(false);
            }

            return(true);
        }
Пример #21
0
        public async Task ProcessMessageAsync(ITelegramSender telegramSender, Message message)
        {
            await Log.WriteInfoAsync(nameof(ChatSubscriber), nameof(ProcessMessageAsync), $"message: {message.ToJson()}",
                                     "Command received.");

            if (!await ValidateChat(message.Chat.Id, telegramSender))
            {
                await Log.WriteInfoAsync(nameof(ChatSubscriber), nameof(ProcessMessageAsync), $"message: {message.ToJson()}",
                                         "Unrecognized chat.");

                return;
            }

            await ProcessMessageInternalAsync(telegramSender, message);
        }
Пример #22
0
        public async Task ProcessCallbackQuery(ITelegramSender telegramSender, CallbackQuery callbackQuery)
        {
            await Log.WriteInfoAsync(nameof(ChatSubscriber), nameof(ProcessCallbackQuery), $"callbackQuery: {callbackQuery.ToJson()}",
                                     "Command received.");

            if (!await ValidateChat(callbackQuery.Message.Chat.Id, telegramSender))
            {
                await Log.WriteInfoAsync(nameof(ChatSubscriber), nameof(ProcessCallbackQuery), $"callbackQuery: {callbackQuery.ToJson()}",
                                         "Unrecognized chat.");

                return;
            }

            await ProcessCallbackQueryInternal(telegramSender, callbackQuery);
        }
Пример #23
0
 public ChannelManager(
     IIndexHedgingEngineClient indexHedgingEngineClient,
     IChannelRepository channelRepository,
     ITelegramSender telegramSender,
     ILogFactory logFactory,
     LiquidityEngineUrlSettings liquidityEngineUrlSettings,
     IAssetsServiceWithCache assetsServiceWithCache,
     IDwhClient dwhClient)
 {
     _indexHedgingEngineClient = indexHedgingEngineClient;
     _channelRepository        = channelRepository;
     _telegramSender           = telegramSender;
     _logFactory = logFactory;
     _liquidityEngineUrlSettings = liquidityEngineUrlSettings;
     _assetsServiceWithCache     = assetsServiceWithCache;
     _dwhClient = dwhClient;
     _log       = _logFactory.CreateLog(this);
     RegisterChannels();
 }
        public ChatPublisherService(IChatPublisherSettingsRepository repo,
                                    IBalanceWarningRepository balanceWarningRepository,
                                    IExternalBalanceWarningRepository externalBalanceWarningRepository,
                                    IBalancesClient balancesClient,
                                    INettingEngineInstanceManager nettingEngineInstanceManager,
                                    IMarketMakerReportsClient marketMakerReportsClient,
                                    IMarketMakerArbitrageDetectorClient marketMakerArbitrageDetectorClient,
                                    IMarketMakerArbitragesWarningProvider marketMakerArbitragesWarningProvider,
                                    IChatPublisherStateService chatPublisherStateService,
                                    ILogFactory logFactory,
                                    ITelegramSender telegramSender,
                                    INettingEngineStateProvider neStateProvider,
                                    IBalanceWarningProvider balanceWarningProvider,
                                    IExternalBalanceWarningProvider externalBalanceWarningProvider,
                                    LiquidityEngineUrlSettings liquidityEngineUrlSettings,
                                    CryptoIndexInstancesSettings cryptoIndexInstancesSettings,
                                    IAssetsServiceWithCache assetsServiceWithCache,
                                    IMarketMakerReportsFiatClient marketMakerReportsFiatClient)
        {
            _repo       = repo ?? throw new ArgumentNullException(nameof(repo));
            _log        = logFactory.CreateLog(this);
            _logFactory = logFactory;

            _chatPublisherStateService        = chatPublisherStateService;
            _balanceWarningRepository         = balanceWarningRepository;
            _externalBalanceWarningRepository = externalBalanceWarningRepository;
            _balancesClient = balancesClient;
            _nettingEngineInstanceManager         = nettingEngineInstanceManager;
            _marketMakerReportsClient             = marketMakerReportsClient;
            _marketMakerArbitrageDetectorClient   = marketMakerArbitrageDetectorClient;
            _marketMakerArbitragesWarningProvider = marketMakerArbitragesWarningProvider;
            _neStateProvider                = neStateProvider;
            _balanceWarningProvider         = balanceWarningProvider;
            _externalBalanceWarningProvider = externalBalanceWarningProvider;
            _liquidityEngineUrlSettings     = liquidityEngineUrlSettings;
            _cryptoIndexInstancesSettings   = cryptoIndexInstancesSettings;
            _telegramSender               = telegramSender;
            _assetsServiceWithCache       = assetsServiceWithCache;
            _marketMakerReportsFiatClient = marketMakerReportsFiatClient;
        }
Пример #25
0
        public override async Task ProcessMessageInternalAsync(ITelegramSender telegramSender, Message message)
        {
            try
            {
                var allowedChatIds = await GetAllowedChatIds();

                if (allowedChatIds.Contains(message.Chat.Id))
                {
                    var chatPublisher = (NettingEnginePublisher)_chatPublisherStateService.NePublishers.Single(x => x.Key == message.Chat.Id).Value;

                    var snapshot = await _marketMakerReportsClient.InventorySnapshotsApi.GetLastAsync();

                    await telegramSender.SendTextMessageAsync(message.Chat.Id,
                                                              await _nettingEngineStateProvider.GetStateMessageAsync(chatPublisher.PrevSnapshot, snapshot),
                                                              replyToMessageId : message.MessageId);
                }
            }
            catch (Exception ex)
            {
                await Log.WriteErrorAsync(nameof(NettingEngineStateSubscriber), nameof(ProcessMessageInternalAsync), "", ex);
            }
        }
 public CryptoIndexWarningsPublisher(ITelegramSender telegramSender, IChatPublisherSettings publisherSettings,
                                     CryptoIndexInstancesSettings settings, ILogFactory logFactory)
     : base(telegramSender, publisherSettings, logFactory)
 {
     _settings = settings;
 }
Пример #27
0
 public AdminStateMachine(ITelegramSender sender, IGameRepository gameRepository, GameService gameService)
 {
     _sender         = sender;
     _gameRepository = gameRepository;
     _gameService    = gameService;
 }
Пример #28
0
 public LyciSandipOfferChannel(IReportChannel channel, ITelegramSender telegramSender, ILogFactory logFactory, IDwhClient dwhClient)
     : base(channel, telegramSender, logFactory)
 {
     _dwhClient = dwhClient;
 }
Пример #29
0
 public DwhStoreProcedureChannel(IReportChannel channel, ITelegramSender telegramSender, ILogFactory logFactory,
                                 IDwhClient dwhClient) : base(channel, telegramSender, logFactory)
 {
     _dwhClient = dwhClient;
     _log       = logFactory.CreateLog(this);
 }
Пример #30
0
 public Game(PlayerRepository playerRepository, ITelegramSender sender)
 {
     _playerRepository = playerRepository;
     _sender           = sender;
 }