mirror of https://github.com/bvn13/JIrcBot.git
updated: deferred messages can be forgotten now
parent
71d400a4c9
commit
baf8bb6ff6
2
pom.xml
2
pom.xml
|
@ -18,7 +18,7 @@
|
|||
|
||||
|
||||
<properties>
|
||||
<bot.version>2.0.4</bot.version>
|
||||
<bot.version>2.0.5</bot.version>
|
||||
|
||||
<java.version>1.8</java.version>
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package ru.bvn13.jircbot.database.repositories;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import ru.bvn13.jircbot.database.entities.DeferredMessage;
|
||||
|
||||
|
|
|
@ -36,4 +36,12 @@ public class DeferredMessageService {
|
|||
deferredMessageRepository.save(msg);
|
||||
}
|
||||
|
||||
public void forgetAllMessages(String channelName, String recipient) {
|
||||
List<DeferredMessage> messages = deferredMessageRepository.getDeferredMessagesByChannelNameAndRecipientAndSentOrderByDtCreated(channelName, recipient, false);
|
||||
messages.forEach(msg -> {
|
||||
msg.setSent(false);
|
||||
deferredMessageRepository.save(msg);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@ import java.util.List;
|
|||
public class DeferredMessagesListener extends ImprovedListenerAdapter {
|
||||
|
||||
private static final String COMMAND = "?tell";
|
||||
private static final String COMMAND_FORGET = "?forget";
|
||||
|
||||
private static SimpleDateFormat dt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
|
@ -45,32 +46,35 @@ public class DeferredMessagesListener extends ImprovedListenerAdapter {
|
|||
|
||||
this.sendDeferredMessage(event);
|
||||
|
||||
if (!event.getMessage().startsWith(COMMAND)) {
|
||||
return;
|
||||
}
|
||||
|
||||
String message = event.getMessage().replace(COMMAND, "").trim();
|
||||
String commands[] = message.split(" ", 2);
|
||||
|
||||
if (commands.length != 2) {
|
||||
event.respond("Deferred messages usage: ?tell <UserNick/ME> your message");
|
||||
return;
|
||||
}
|
||||
|
||||
String userName = event.getUser().getNick();
|
||||
String channelname = this.getChannelName(event);
|
||||
if (commands[0].equalsIgnoreCase("me")) {
|
||||
// deferred to myself
|
||||
deferredMessageService.saveDeferredMessage(channelname, userName, userName.toLowerCase(), commands[1]);
|
||||
this.sendNotice(event,"Saved message to "+userName);
|
||||
} else {
|
||||
if (commands[0].equalsIgnoreCase(event.getBot().getUserBot().getNick())) {
|
||||
this.sendNotice(event,"Sorry, message cannot be deferred to me.");
|
||||
} else {
|
||||
// deferred to somebody
|
||||
deferredMessageService.saveDeferredMessage(channelname, userName, commands[0].toLowerCase(), commands[1]);
|
||||
this.sendNotice(event, "Saved message to " + commands[0]);
|
||||
String channelName = this.getChannelName(event);
|
||||
|
||||
if (event.getMessage().startsWith(COMMAND)) {
|
||||
String message = event.getMessage().replace(COMMAND, "").trim();
|
||||
String commands[] = message.split(" ", 2);
|
||||
|
||||
if (commands.length != 2) {
|
||||
event.respond("Deferred messages usage: ?tell <UserNick/ME> your message here");
|
||||
return;
|
||||
}
|
||||
|
||||
if (commands[0].equalsIgnoreCase("me")) {
|
||||
// deferred to myself
|
||||
deferredMessageService.saveDeferredMessage(channelName, userName, userName.toLowerCase(), commands[1]);
|
||||
this.sendNotice(event,"Saved message to "+userName);
|
||||
} else {
|
||||
if (commands[0].equalsIgnoreCase(event.getBot().getUserBot().getNick())) {
|
||||
this.sendNotice(event,"Sorry, message cannot be deferred to me.");
|
||||
} else {
|
||||
// deferred to somebody
|
||||
deferredMessageService.saveDeferredMessage(channelName, userName, commands[0].toLowerCase(), commands[1]);
|
||||
this.sendNotice(event, "Saved message to " + commands[0]);
|
||||
}
|
||||
}
|
||||
} else if (event.getMessage().startsWith(COMMAND)) {
|
||||
deferredMessageService.forgetAllMessages(channelName, userName);
|
||||
this.sendNotice(event, "All messages to "+userName+" were deleted");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue