public AutomatedMessage(IntervalMessage message, IList <IChatClient> chatClients, IClock clock) { _message = message; _clock = clock; _chatClients = chatClients; _nextRunTime = _clock.UtcNow.AddMinutes(_message.DelayInMinutes); }
public void SendMessage() { var allMessages = _repository.List(IntervalMessagePolicy.All()); IntervalMessage message = MyRandom.ChooseRandomWeightedItem(allMessages); _chatClient.SendMessage(message.MessageText); SetNextRunTime(); message.LastSent = DateTime.UtcNow; _repository.Update(message); }
public AutomatedMessage(IntervalMessage message, IList <IChatClient> chatClients) : this(message, chatClients, new SystemClock()) { }