Vyacheslav N. Boyko 2018-10-27 21:52:47 +03:00
parent b1a621eaa8
commit 5d12353a78
3 changed files with 20 additions and 4 deletions

View File

@ -5,6 +5,9 @@ import org.pircbotx.hooks.events.MessageEvent;
import org.pircbotx.hooks.types.GenericChannelEvent;
import org.pircbotx.hooks.types.GenericEvent;
import java.util.List;
import java.util.stream.Collectors;
/**
* Created by bvn13 on 31.01.2018.
*/
@ -22,4 +25,13 @@ public class ImprovedListenerAdapter extends ListenerAdapter {
}
}
protected boolean isUserOnline(GenericEvent event, String username) {
List<String> usersNicks = event.getBot().getUserChannelDao().getAllUsers().stream()
.map(u -> u.getNick().toLowerCase()).collect(Collectors.toList());
return usersNicks.contains(username.toLowerCase());
}
}

View File

@ -145,7 +145,7 @@ public class AdminListener extends ImprovedListenerAdapter {
try {
args = commands[1].split(" ", 3); // set, channel, mode/hello-message
if (args.length == 3) {
changeSettings(JircBot.extractServer(event.getBot().getServerHostname()), args[0], args[1], args[2]); //server, channel, set, mode
changeSettings(JircBot.extractServer(event.getBot().getServerHostname()), args[0], args[1], args[2]); //server, channel, settings, mode
event.respondPrivateMessage("done");
} else {
event.respondPrivateMessage("SYNTAX: ?set <channel> <option> on/off");

View File

@ -58,7 +58,7 @@ public class DeferredMessagesListener extends ImprovedListenerAdapter {
return;
}
if (commands[0].equalsIgnoreCase("me")) {
if (commands[0].equalsIgnoreCase("me") || userName.equalsIgnoreCase(commands[0])) {
// deferred to myself
deferredMessageService.saveDeferredMessage(channelName, userName, userName.toLowerCase(), commands[1]);
event.respond("Saved message to "+userName);
@ -67,8 +67,12 @@ public class DeferredMessagesListener extends ImprovedListenerAdapter {
event.respond("Sorry, message cannot be deferred to me.");
} else {
// deferred to somebody
deferredMessageService.saveDeferredMessage(channelName, userName, commands[0].toLowerCase(), commands[1]);
event.respond("Saved message to " + commands[0]);
if (isUserOnline(event, userName)) {
event.respond(String.format("%s is online, tell him/her directly, please.", commands[0]));
} else {
deferredMessageService.saveDeferredMessage(channelName, userName, commands[0].toLowerCase(), commands[1]);
event.respond("Saved message to " + commands[0]);
}
}
}
} else if (event.getMessage().startsWith(COMMAND_FORGET)) {