updated: deferred messages could be read all together - sending in private

pull/6/head
Vyacheslav N. Boyko 2018-04-09 15:30:54 +03:00
parent baf8bb6ff6
commit 3ad68b12bc
2 changed files with 9 additions and 3 deletions

View File

@ -18,14 +18,14 @@ public class DeferredMessageService {
private DeferredMessageRepository deferredMessageRepository;
public List<DeferredMessage> getDeferredMessagesForUser(String channelName, String user) {
return deferredMessageRepository.getDeferredMessagesByChannelNameAndRecipientAndSentOrderByDtCreated(channelName, user, false);
return deferredMessageRepository.getDeferredMessagesByChannelNameAndRecipientAndSentOrderByDtCreated(channelName, user.toLowerCase(), false);
}
public void saveDeferredMessage(String channelName, String sender, String recipient, String message) {
DeferredMessage msg = new DeferredMessage();
msg.setChannelName(channelName);
msg.setSender(sender);
msg.setRecipient(recipient);
msg.setRecipient(recipient.toLowerCase());
msg.setMessage(message);
msg.setSent(false);
deferredMessageRepository.save(msg);

View File

@ -23,6 +23,7 @@ public class DeferredMessagesListener extends ImprovedListenerAdapter {
private static final String COMMAND = "?tell";
private static final String COMMAND_FORGET = "?forget";
private static final String COMMAND_READ = "?read";
private static SimpleDateFormat dt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@ -72,9 +73,14 @@ public class DeferredMessagesListener extends ImprovedListenerAdapter {
this.sendNotice(event, "Saved message to " + commands[0]);
}
}
} else if (event.getMessage().startsWith(COMMAND)) {
} else if (event.getMessage().startsWith(COMMAND_FORGET)) {
deferredMessageService.forgetAllMessages(channelName, userName);
this.sendNotice(event, "All messages to "+userName+" were deleted");
} else if (event.getMessage().startsWith(COMMAND_READ)) {
List<DeferredMessage> deferredMessages = deferredMessageService.getDeferredMessagesForUser(channelName, userName);
deferredMessages.forEach(msg -> {
event.respondPrivateMessage("User "+msg.getSender()+" at "+dt.format(msg.getDtCreated())+" told you: "+msg.getMessage());
});
}
}