Example #1
0
        public ScheduledMessageService(
            IOptions <ScheduledMessageServiceAppSettings> appSettings
            , IBulkMessagingTelegramClient bulkMessagingTelegramClient
            , ITelegramClient telegramClient
            , ILogger <ScheduledMessageService> logger
            , IMonitoringManager monitoringManager
            , IDateTimeGenerator dateTimeGenerator
            , IUserStorage userStorage
            , IMessageSchedule messageSchedule
            , IRarityRoller rarityRoller
            , IEventManager eventManager
            )
        {
            _appSettings = appSettings.Value;
            _bulkMessagingTelegramClient = bulkMessagingTelegramClient;
            _telegramClient    = telegramClient;
            _logger            = logger;
            _monitoringManager = monitoringManager;
            _dateTimeGenerator = dateTimeGenerator;
            _userStorage       = userStorage;
            _messageSchedule   = messageSchedule;
            _rarityRoller      = rarityRoller;
            _eventManager      = eventManager;

            _logger.LogInformation($"Initializing scheduled messaging service...");

            // get message count from personal settings
            MessageCounts = new Dictionary <PartOfDay, int>
            {
                [PartOfDay.Night]     = _appSettings.NightMessagesCount,
                [PartOfDay.Morning]   = _appSettings.MorningMessagesCount,
                [PartOfDay.Afternoon] = _appSettings.AfternoonMessagesCount,
                [PartOfDay.Evening]   = _appSettings.EveningMessagesCount
            };
        }
 public BulkMessagingTelegramClient(
     ITelegramBotClientWrapper wrapper
     , IBoyfriendBotDbContextFactory dbContextFactory
     , IBotMessageProvider messageTextProvider
     , IRarityRoller rarityRoller
     )
 {
     _botClient           = wrapper.Client;
     _dbContextFactory    = dbContextFactory;
     _messageTextProvider = messageTextProvider;
     _rarityRoller        = rarityRoller;
 }
 public InputProcessor(
     ICommandProcessor commandProcessor
     , TelegramBotClient botClient
     , IUserStorage userStorage
     , IBotMessageProvider botMessageProvider
     , IRarityRoller rarityRoller
     )
 {
     _commandProcessor   = commandProcessor;
     _botClient          = botClient;
     _userStorage        = userStorage;
     _botMessageProvider = botMessageProvider;
     _rarityRoller       = rarityRoller;
 }