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;
 }
Esempio n. 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;
 }
Esempio n. 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);
 }
Esempio n. 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);
 }
Esempio n. 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;
 }
Esempio n. 11
0
 public IndexHedgingEngineHealthIssuesChannel(
     IReportChannel channel,
     ITelegramSender telegramSender,
     ILogFactory logFactory,
     IIndexHedgingEngineClient indexHedgingEngineClient)
     : base(channel, telegramSender, logFactory)
 {
     _indexHedgingEngineClient = indexHedgingEngineClient;
 }
Esempio n. 12
0
 public LiquidityEngineMessagesChannel(
     IReportChannel channel,
     ITelegramSender telegramSender,
     LiquidityEngineUrlSettings settings,
     ILogFactory logFactory)
     : base(channel, telegramSender, logFactory)
 {
     _settings = settings;
 }
Esempio n. 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"] ?? "";
        }
Esempio n. 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;
 }
Esempio n. 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);
        }
Esempio n. 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;
 }
Esempio n. 19
0
        public NettingEnginePublisher(ITelegramSender telegramSender,
                                      INettingEngineStateProvider nettingEngineStateProvider,
                                      IMarketMakerReportsClient marketMakerReportsClient,
                                      IChatPublisherSettings publisherSettings,
                                      ILogFactory logFactory)
            : base(telegramSender, publisherSettings, logFactory)
        {
            _nettingEngineStateProvider = nettingEngineStateProvider;
            _marketMakerReportsClient   = marketMakerReportsClient;

            EnsureInitialized();
        }
Esempio n. 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);
        }
Esempio n. 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);
        }
Esempio n. 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);
        }
Esempio n. 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;
        }
Esempio n. 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;
 }
Esempio n. 27
0
 public AdminStateMachine(ITelegramSender sender, IGameRepository gameRepository, GameService gameService)
 {
     _sender         = sender;
     _gameRepository = gameRepository;
     _gameService    = gameService;
 }
Esempio n. 28
0
 public LyciSandipOfferChannel(IReportChannel channel, ITelegramSender telegramSender, ILogFactory logFactory, IDwhClient dwhClient)
     : base(channel, telegramSender, logFactory)
 {
     _dwhClient = dwhClient;
 }
Esempio n. 29
0
 public DwhStoreProcedureChannel(IReportChannel channel, ITelegramSender telegramSender, ILogFactory logFactory,
                                 IDwhClient dwhClient) : base(channel, telegramSender, logFactory)
 {
     _dwhClient = dwhClient;
     _log       = logFactory.CreateLog(this);
 }
Esempio n. 30
0
 public Game(PlayerRepository playerRepository, ITelegramSender sender)
 {
     _playerRepository = playerRepository;
     _sender           = sender;
 }