this.emailSender = emailSender;
this.userPrefs = userPrefs;
}
public void sendMessages() {
List<Message> messagesToBeSent = repository.getMessagesToBeSent();
for(Message messageToBeSent : messagesToBeSent) {
String userId = userDirectory.getAccount(messageToBeSent.getEmail());
bot.sendPrivateMessage(userId, messageToBeSent.getBodyInMarkdown());
if(userPrefs.sendViaEmail(messageToBeSent.getEmail())) { <--- 두 가지 새 의존성을 사용해 메시지 복사본을 사용자에게 이메일로 보낼지 결정한다.
emailSender.sendMessage(messageToBeSent);
}
// 메시지를 보낸 것으로 표시한다.
messageToBeSent.markAsSent();
}
}
}