mirror of https://github.com/bvn13/JIrcBot.git
refactoring
parent
8cade905ef
commit
b9b8d7e10f
|
@ -4,8 +4,10 @@ import org.pircbotx.hooks.ListenerAdapter;
|
|||
import org.pircbotx.hooks.events.MessageEvent;
|
||||
import org.pircbotx.hooks.types.GenericChannelEvent;
|
||||
import org.pircbotx.hooks.types.GenericEvent;
|
||||
import org.pircbotx.hooks.types.GenericMessageEvent;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
@ -36,4 +38,47 @@ public class ImprovedListenerAdapter extends ListenerAdapter {
|
|||
|
||||
}
|
||||
|
||||
protected boolean isApplicable(GenericMessageEvent event, String command) {
|
||||
return isApplicable(event, command);
|
||||
}
|
||||
|
||||
protected boolean isApplicable(GenericMessageEvent event, String command, Consumer<String> callback) {
|
||||
String[] words = event.getMessage().split(" ");
|
||||
if (words.length > 0) {
|
||||
if (words[0].equalsIgnoreCase(command)) {
|
||||
if (callback != null) {
|
||||
callback.accept(event.getMessage().substring(words[0].length()).trim());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
protected boolean isApplicable(GenericMessageEvent event, List<String> commands) {
|
||||
return isApplicable(event, commands, null);
|
||||
}
|
||||
|
||||
protected boolean isApplicable(GenericMessageEvent event, List<String> commands, Consumer<String> callback) {
|
||||
String[] words = event.getMessage().split(" ");
|
||||
if (words.length > 0) {
|
||||
boolean isApplicable = false;
|
||||
String command = "";
|
||||
for (String c : commands) {
|
||||
if (words[0].equalsIgnoreCase(c)) {
|
||||
isApplicable = true;
|
||||
command = words[0];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (isApplicable) {
|
||||
if (callback != null) {
|
||||
callback.accept(event.getMessage().substring(command.length()).trim());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -116,7 +116,7 @@ public class AdminListener extends ImprovedListenerAdapter implements Descriptio
|
|||
super.onJoin(event);
|
||||
|
||||
if (event.getChannel().getName().startsWith("#")) {
|
||||
if (event.getUser().getNick().equals(event.getBot().getNick())) {
|
||||
if (event.getUser() != null && event.getBot().getNick().equalsIgnoreCase(event.getUser().getNick())) {
|
||||
event.getBot().sendRaw().rawLineNow("MODE " + event.getBot().getUserBot().getNick() + " +B");
|
||||
try {
|
||||
channelSettingsService.createChannelSettings(JircBot.extractServer(event.getBot().getServerHostname()), event.getChannel().getName());
|
||||
|
@ -136,13 +136,13 @@ public class AdminListener extends ImprovedListenerAdapter implements Descriptio
|
|||
return;
|
||||
}
|
||||
|
||||
if (event.getUser().isVerified()
|
||||
if (event.getUser() != null && event.getUser().isVerified()
|
||||
&& !config.getMasterNick().isEmpty()
|
||||
&& config.getMasterNick().equals(event.getUser().getNick())) {
|
||||
|
||||
if (event.getMessage().startsWith(COMMAND)) {
|
||||
String command = event.getMessage().substring(COMMAND.length());
|
||||
String commands[] = command.trim().split(" ", 2);
|
||||
String[] commands = command.trim().split(" ", 2);
|
||||
|
||||
if (commands[0].startsWith("+") || commands[0].startsWith("-")) {
|
||||
boolean isApply = commands[0].startsWith("+");
|
||||
|
@ -196,20 +196,20 @@ public class AdminListener extends ImprovedListenerAdapter implements Descriptio
|
|||
return;
|
||||
}
|
||||
|
||||
if (event.getUser().isVerified()
|
||||
if (event.getUser() != null && event.getUser().isVerified()
|
||||
&& !config.getMasterNick().isEmpty()
|
||||
&& config.getMasterNick().equals(event.getUser().getNick())) {
|
||||
|
||||
if (event.getMessage().startsWith(COMMAND)) {
|
||||
String command = event.getMessage().substring(COMMAND.length());
|
||||
String commands[] = command.trim().split(" ", 2);
|
||||
String[] commands = command.trim().split(" ", 2);
|
||||
|
||||
if (commands.length != 2) {
|
||||
event.respondPrivateMessage("Wrong command");
|
||||
return;
|
||||
}
|
||||
|
||||
String args[] = null;
|
||||
String[] args = null;
|
||||
switch (commands[0].toLowerCase()) {
|
||||
case "restart":
|
||||
event.getBot().stopBotReconnect(); break;
|
||||
|
@ -273,8 +273,8 @@ public class AdminListener extends ImprovedListenerAdapter implements Descriptio
|
|||
}
|
||||
|
||||
private boolean sameServer(String s1, String s2) {
|
||||
String d1[] = s1.split("[\\.]");
|
||||
String d2[] = s2.split("[\\.]");
|
||||
String[] d1 = s1.split("[\\.]");
|
||||
String[] d2 = s2.split("[\\.]");
|
||||
|
||||
if (d1.length >= 2 && d2.length >= 2) {
|
||||
if (d1[d1.length - 1].equals(d2[d2.length - 1])
|
||||
|
@ -302,8 +302,7 @@ public class AdminListener extends ImprovedListenerAdapter implements Descriptio
|
|||
return null;
|
||||
}
|
||||
|
||||
Config config = aConfig.get();
|
||||
return config;
|
||||
return aConfig.get();
|
||||
}
|
||||
|
||||
private void changeSettings(String serverHost, String channelName, String set, String modeStr) {
|
||||
|
|
|
@ -32,10 +32,12 @@ public class AutoRejoinListener extends ImprovedListenerAdapter {
|
|||
return;
|
||||
}
|
||||
|
||||
if (event.getRecipient().getUserId().equals(event.getBot().getUserBot().getUserId())) {
|
||||
if (event.getRecipient() != null && event.getRecipient().getUserId().equals(event.getBot().getUserBot().getUserId())) {
|
||||
wasKicked = true;
|
||||
offender = event.getUser().getNick();
|
||||
event.getBot().sendIRC().joinChannel(event.getChannel().getName());
|
||||
if (event.getUser() != null) {
|
||||
offender = event.getUser().getNick();
|
||||
event.getBot().sendIRC().joinChannel(event.getChannel().getName());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -5,6 +5,8 @@ import org.jsoup.nodes.Document;
|
|||
import org.jsoup.nodes.Element;
|
||||
import org.jsoup.select.Elements;
|
||||
import org.pircbotx.hooks.events.MessageEvent;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.bvn13.jircbot.bot.ImprovedListenerAdapter;
|
||||
|
@ -29,6 +31,8 @@ import static ru.bvn13.jircbot.documentation.ListenerDescription.CommandDescript
|
|||
@Component
|
||||
public class BashOrgListener extends ImprovedListenerAdapter implements DescriptionProvided {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(BashOrgListener.class);
|
||||
|
||||
private static final String COMMAND = "?bash";
|
||||
private static final String USER_AGENT = "Mozilla/5.0";
|
||||
|
||||
|
@ -66,16 +70,14 @@ public class BashOrgListener extends ImprovedListenerAdapter implements Descript
|
|||
return;
|
||||
}
|
||||
|
||||
if (!event.getMessage().startsWith(COMMAND)) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
event.respond(getRandomBashQuote());
|
||||
} catch (Exception e) {
|
||||
event.respond("ERROR: "+e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
isApplicable(event, COMMAND, message -> {
|
||||
try {
|
||||
event.respond(getRandomBashQuote());
|
||||
} catch (Exception e) {
|
||||
event.respond("ERROR: "+e.getMessage());
|
||||
logger.error("", e);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
@ -108,12 +110,12 @@ public class BashOrgListener extends ImprovedListenerAdapter implements Descript
|
|||
throw new Exception("Could not get a random quote!");
|
||||
}
|
||||
|
||||
String contentType = con.getContentType();
|
||||
Matcher matcher = PATTERN_CHARSET.matcher(contentType);
|
||||
String charset = "utf-8";
|
||||
if (matcher.find()) {
|
||||
charset = matcher.group(1);
|
||||
}
|
||||
// String contentType = con.getContentType();
|
||||
// Matcher matcher = PATTERN_CHARSET.matcher(contentType);
|
||||
// String charset = "utf-8";
|
||||
// if (matcher.find()) {
|
||||
// charset = matcher.group(1);
|
||||
// }
|
||||
String response = getDataFromConnection(con);
|
||||
|
||||
Document doc = Jsoup.parse(response);
|
||||
|
|
|
@ -80,47 +80,49 @@ public class DeferredMessagesListener extends ImprovedListenerAdapter implements
|
|||
return;
|
||||
}
|
||||
|
||||
String userName = event.getUser().getNick();
|
||||
String channelName = this.getChannelName(event);
|
||||
String userIdent = event.getUser().getNick() + "!" + event.getUser().getLogin() + "@" + event.getUser().getHostname();
|
||||
if (event.getUser() != null) {
|
||||
String userName = event.getUser().getNick();
|
||||
String channelName = this.getChannelName(event);
|
||||
String userIdent = event.getUser().getNick() + "!" + event.getUser().getLogin() + "@" + event.getUser().getHostname();
|
||||
|
||||
if (event.getMessage().startsWith(COMMAND)) {
|
||||
String message = event.getMessage().replace(COMMAND, "").trim();
|
||||
String commands[] = message.split(" ", 2);
|
||||
if (event.getMessage().startsWith(COMMAND)) {
|
||||
String message = event.getMessage().substring(COMMAND.length()).trim();
|
||||
String[] commands = message.split(" ", 2);
|
||||
|
||||
if (commands.length != 2) {
|
||||
event.respond("Deferred messages usage: ?tell <UserNick/ME/Ident> your message here");
|
||||
return;
|
||||
}
|
||||
if (commands.length != 2) {
|
||||
event.respond("Deferred messages usage: ?tell <UserNick/ME/Ident> your message here");
|
||||
return;
|
||||
}
|
||||
|
||||
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);
|
||||
} else {
|
||||
if (commands[0].equalsIgnoreCase(event.getBot().getUserBot().getNick())) {
|
||||
event.respond("Sorry, message cannot be deferred to 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);
|
||||
} else {
|
||||
// deferred to somebody
|
||||
if (isUserOnline(event, commands[0])) {
|
||||
event.respond(String.format("%s is online, tell him/her directly, please.", commands[0]));
|
||||
if (commands[0].equalsIgnoreCase(event.getBot().getUserBot().getNick())) {
|
||||
event.respond("Sorry, message cannot be deferred to me.");
|
||||
} else {
|
||||
deferredMessageService.saveDeferredMessage(channelName, userName, commands[0].toLowerCase(), commands[1]);
|
||||
event.respond("Saved message to " + commands[0]);
|
||||
// deferred to somebody
|
||||
if (isUserOnline(event, commands[0])) {
|
||||
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)) {
|
||||
int count = deferredMessageService.forgetAllMessages(channelName, userName, userIdent);
|
||||
event.respond("All "+count+" messages to "+userName+" were deleted");
|
||||
} else if (event.getMessage().startsWith(COMMAND_READ)) {
|
||||
List<DeferredMessage> deferredMessages = deferredMessageService.getDeferredMessagesForUser(channelName, userName, userIdent);
|
||||
deferredMessages.forEach(msg -> {
|
||||
event.respondPrivateMessage("User "+msg.getSender()+" at "+dt.format(msg.getDtCreated())+" told you: "+msg.getMessage());
|
||||
deferredMessageService.markMessageWasSent(msg);
|
||||
});
|
||||
} else {
|
||||
this.sendDeferredMessage(event);
|
||||
}
|
||||
} else if (event.getMessage().startsWith(COMMAND_FORGET)) {
|
||||
int count = deferredMessageService.forgetAllMessages(channelName, userName, userIdent);
|
||||
event.respond("All "+count+" messages to "+userName+" were deleted");
|
||||
} else if (event.getMessage().startsWith(COMMAND_READ)) {
|
||||
List<DeferredMessage> deferredMessages = deferredMessageService.getDeferredMessagesForUser(channelName, userName, userIdent);
|
||||
deferredMessages.forEach(msg -> {
|
||||
event.respondPrivateMessage("User "+msg.getSender()+" at "+dt.format(msg.getDtCreated())+" told you: "+msg.getMessage());
|
||||
deferredMessageService.markMessageWasSent(msg);
|
||||
});
|
||||
} else {
|
||||
this.sendDeferredMessage(event);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -128,16 +130,17 @@ public class DeferredMessagesListener extends ImprovedListenerAdapter implements
|
|||
|
||||
private void sendDeferredMessage(final MessageEvent event) {
|
||||
|
||||
String userIdent = event.getUser().getNick() + "!" + event.getUser().getLogin() + "@" + event.getUser().getHostname();
|
||||
if (event.getUser() != null) {
|
||||
String userIdent = event.getUser().getNick() + "!" + event.getUser().getLogin() + "@" + event.getUser().getHostname();
|
||||
|
||||
List<DeferredMessage> deferredMessages = deferredMessageService.getDeferredMessagesForUser(this.getChannelName(event), event.getUser().getNick().toLowerCase(), userIdent);
|
||||
if (deferredMessages != null && deferredMessages.size() > 0) {
|
||||
DeferredMessage msg = deferredMessages.get(0);
|
||||
String more = "" + (deferredMessages.size() > 1 ? " ("+(deferredMessages.size()-1)+" message/-s more)" : "");
|
||||
event.respond("User "+msg.getSender()+" at "+dt.format(msg.getDtCreated())+" told you"+more+": "+msg.getMessage());
|
||||
deferredMessageService.markMessageWasSent(msg);
|
||||
List<DeferredMessage> deferredMessages = deferredMessageService.getDeferredMessagesForUser(this.getChannelName(event), event.getUser().getNick().toLowerCase(), userIdent);
|
||||
if (deferredMessages != null && deferredMessages.size() > 0) {
|
||||
DeferredMessage msg = deferredMessages.get(0);
|
||||
String more = "" + (deferredMessages.size() > 1 ? " (" + (deferredMessages.size() - 1) + " message/-s more)" : "");
|
||||
event.respond("User " + msg.getSender() + " at " + dt.format(msg.getDtCreated()) + " told you" + more + ": " + msg.getMessage());
|
||||
deferredMessageService.markMessageWasSent(msg);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -149,13 +152,14 @@ public class DeferredMessagesListener extends ImprovedListenerAdapter implements
|
|||
return;
|
||||
}
|
||||
|
||||
String userIdent = event.getUser().getNick() + "!" + event.getUser().getLogin() + "@" + event.getUser().getHostname();
|
||||
if (event.getUser() != null) {
|
||||
String userIdent = event.getUser().getNick() + "!" + event.getUser().getLogin() + "@" + event.getUser().getHostname();
|
||||
|
||||
List<DeferredMessage> deferredMessages = deferredMessageService.getDeferredMessagesForUser(this.getChannelName(event), event.getUser().getNick().toLowerCase(), userIdent);
|
||||
if (deferredMessages != null && deferredMessages.size() > 0) {
|
||||
event.respond("You have "+deferredMessages.size()+" unread message(-s)");
|
||||
List<DeferredMessage> deferredMessages = deferredMessageService.getDeferredMessagesForUser(this.getChannelName(event), event.getUser().getNick().toLowerCase(), userIdent);
|
||||
if (deferredMessages != null && deferredMessages.size() > 0) {
|
||||
event.respond("You have " + deferredMessages.size() + " unread message(-s)");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Autowired
|
||||
|
|
|
@ -61,15 +61,15 @@ public class DuckDuckGoSearchListener extends ImprovedListenerAdapter implements
|
|||
return;
|
||||
}
|
||||
|
||||
if (!event.getMessage().startsWith(COMMAND)) {
|
||||
return;
|
||||
}
|
||||
isApplicable(event, COMMAND, message -> {
|
||||
try {
|
||||
String result = search(message);
|
||||
event.respond(result);
|
||||
} catch (Exception e) {
|
||||
event.respond("error is occurred while searching");
|
||||
}
|
||||
});
|
||||
|
||||
String message = event.getMessage().replace(COMMAND, "").trim();
|
||||
|
||||
String result = search(message);
|
||||
|
||||
event.respond(result);
|
||||
}
|
||||
|
||||
private String search(String phrase) throws Exception {
|
||||
|
|
|
@ -74,10 +74,10 @@ public class GrammarCorrectorListener extends ImprovedListenerAdapter {
|
|||
|
||||
private void onCommand(final GenericMessageEvent event) throws Exception {
|
||||
String message = event.getMessage().replace(COMMAND, "").trim();
|
||||
String commands[] = message.split(" ", 2);
|
||||
String[] commands = message.split(" ", 2);
|
||||
if (commands.length == 2) {
|
||||
if (commands[0].trim().equalsIgnoreCase("add")) {
|
||||
String params[] = commands[1].trim().split(">");
|
||||
String[] params = commands[1].trim().split(">");
|
||||
if (params.length != 2) {
|
||||
event.respond(helpMessage());
|
||||
} else {
|
||||
|
@ -85,7 +85,7 @@ public class GrammarCorrectorListener extends ImprovedListenerAdapter {
|
|||
event.respond("added correction: "+params[0].trim()+" > "+params[1].trim());
|
||||
}
|
||||
} else if (commands[0].trim().equalsIgnoreCase("remove")) {
|
||||
String params[] = commands[1].trim().split(">");
|
||||
String[] params = commands[1].trim().split(">");
|
||||
if (params.length == 1) {
|
||||
// by word
|
||||
if (grammarCorrectionService.removeAllCorrectionsByWord(commands[1].trim())) {
|
||||
|
|
|
@ -22,7 +22,7 @@ import java.util.Optional;
|
|||
@Component
|
||||
public class HelpListener extends ImprovedListenerAdapter implements DescriptionProvided {
|
||||
|
||||
private static final List<String> COMMAND = Arrays.asList("?help", "?h");
|
||||
private static final List<String> COMMANDS = Arrays.asList("?help", "?h");
|
||||
|
||||
private JircBotConfiguration configuration;
|
||||
private DocumentationProvider documentationProvider;
|
||||
|
@ -42,33 +42,17 @@ public class HelpListener extends ImprovedListenerAdapter implements Description
|
|||
return;
|
||||
}
|
||||
|
||||
answer(event);
|
||||
isApplicable(event, COMMANDS, message -> answer(event, message));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPrivateMessage(PrivateMessageEvent event) throws Exception {
|
||||
super.onPrivateMessage(event);
|
||||
|
||||
answer(event);
|
||||
isApplicable(event, COMMANDS, message -> answer(event, message));
|
||||
}
|
||||
|
||||
private void answer(GenericMessageEvent event) {
|
||||
boolean isHelp = false;
|
||||
String command = "";
|
||||
for (String c : COMMAND) {
|
||||
if (event.getMessage().startsWith(c)) {
|
||||
isHelp = true;
|
||||
command = c;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!isHelp) {
|
||||
return;
|
||||
}
|
||||
|
||||
String message = event.getMessage().replace(command, "").trim();
|
||||
|
||||
private void answer(GenericMessageEvent event, String message) {
|
||||
if (message.isEmpty()) {
|
||||
event.respond(adviceToFollowMainUrl);
|
||||
} else {
|
||||
|
@ -79,12 +63,12 @@ public class HelpListener extends ImprovedListenerAdapter implements Description
|
|||
private void answerWithHelp(GenericMessageEvent event, String message) {
|
||||
String[] words = message.replace(" ", "").split(" ");
|
||||
if (words.length > 1 || words[0].equalsIgnoreCase("all")) {
|
||||
event.respond(String.format("help syntax: ?help | ?help <COMMAND> | Commands: %s", documentationProvider.getAllCommands()));
|
||||
event.respond(String.format("help syntax: ?help | ?help <COMMANDS> | Commands: %s", documentationProvider.getAllCommands()));
|
||||
} else {
|
||||
Optional<ListenerDescription.CommandDescription> description = documentationProvider.findByCommand(words[0].toLowerCase());
|
||||
if (description.isPresent()) {
|
||||
ListenerDescription.CommandDescription d = description.get();
|
||||
event.respond(String.format("COMMAND: %s, DESCRIPTION: %s, EXAMPLE: %s", d.getCommand(), d.getDescription(), d.getExample()));
|
||||
event.respond(String.format("COMMANDS: %s, DESCRIPTION: %s, EXAMPLE: %s", d.getCommand(), d.getDescription(), d.getExample()));
|
||||
} else {
|
||||
event.respond(String.format("wrong command %s. %s%s", words[0], adviceToFollowMainUrl.substring(0, 1).toUpperCase(), adviceToFollowMainUrl.substring(1)));
|
||||
}
|
||||
|
|
|
@ -61,7 +61,7 @@ public class LinkPreviewListener extends ImprovedListenerAdapter implements Desc
|
|||
List<String> links = findLink(event.getMessage());
|
||||
for (String link : links) {
|
||||
String info = parseLink(link);
|
||||
if (info != null && !info.isEmpty()) {
|
||||
if (!info.isEmpty()) {
|
||||
//event.respond(info);
|
||||
event.getChannel().send().message(info);
|
||||
}
|
||||
|
@ -70,7 +70,7 @@ public class LinkPreviewListener extends ImprovedListenerAdapter implements Desc
|
|||
}
|
||||
|
||||
|
||||
public List<String> findLink(String message) {
|
||||
private List<String> findLink(String message) {
|
||||
Matcher matcher = REGEX.matcher(message);
|
||||
List<String> links = new ArrayList<>();
|
||||
while (matcher.find()) {
|
||||
|
@ -84,19 +84,19 @@ public class LinkPreviewListener extends ImprovedListenerAdapter implements Desc
|
|||
String content = internetAccessor.retrieveContentByLink(link);
|
||||
|
||||
String encoding = null; //getCharsetFromHeaders(content.toString());
|
||||
if (encoding == null) {
|
||||
encoding = getCharsetFromBody(content.toString());
|
||||
}
|
||||
// if (encoding == null) {
|
||||
// encoding = getCharsetFromBody(content.toString());
|
||||
// }
|
||||
|
||||
String title = "";
|
||||
|
||||
if (encoding != null && !encoding.isEmpty()) {
|
||||
content = internetAccessor.retrieveContentByLinkWithEncoding(link, encoding);
|
||||
}
|
||||
// if (encoding != null && !encoding.isEmpty()) {
|
||||
// content = internetAccessor.retrieveContentByLinkWithEncoding(link, encoding);
|
||||
// }
|
||||
|
||||
title = content.substring(content.indexOf("<title>") + 7, content.indexOf("</title>"));
|
||||
|
||||
return "Title: "+title.toString();
|
||||
return "Title: "+title;
|
||||
}
|
||||
|
||||
|
||||
|
@ -115,9 +115,7 @@ public class LinkPreviewListener extends ImprovedListenerAdapter implements Desc
|
|||
w.flush();
|
||||
w.close();
|
||||
|
||||
String encodedTitle = out.toString();
|
||||
|
||||
return encodedTitle;
|
||||
return out.toString();
|
||||
}
|
||||
|
||||
String decodeTitle(String title, String encoding) throws UnsupportedEncodingException {
|
||||
|
|
|
@ -4,6 +4,7 @@ import org.pircbotx.hooks.ListenerAdapter;
|
|||
import org.pircbotx.hooks.events.MessageEvent;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.bvn13.jircbot.bot.ImprovedListenerAdapter;
|
||||
import ru.bvn13.jircbot.documentation.DescriptionProvided;
|
||||
import ru.bvn13.jircbot.documentation.DocumentationProvider;
|
||||
import ru.bvn13.jircbot.documentation.ListenerDescription;
|
||||
|
@ -11,7 +12,7 @@ import ru.bvn13.jircbot.documentation.ListenerDescription;
|
|||
import static ru.bvn13.jircbot.documentation.ListenerDescription.CommandDescription;
|
||||
|
||||
@Component
|
||||
public class PingPongListener extends ListenerAdapter implements DescriptionProvided {
|
||||
public class PingPongListener extends ImprovedListenerAdapter implements DescriptionProvided {
|
||||
|
||||
private static final String COMMAND = "?ping";
|
||||
|
||||
|
@ -23,11 +24,7 @@ public class PingPongListener extends ListenerAdapter implements DescriptionProv
|
|||
return;
|
||||
}
|
||||
|
||||
if (!event.getMessage().startsWith(COMMAND)) {
|
||||
return;
|
||||
}
|
||||
|
||||
event.respond("pong!");
|
||||
isApplicable(event, COMMAND, message -> event.respond("pong!"));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@ public class RegexCheckerListener extends ImprovedListenerAdapter implements Des
|
|||
return;
|
||||
}
|
||||
|
||||
if (!event.getMessage().startsWith(COMMAND)) {
|
||||
if (!isApplicable(event, COMMAND)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ public class StatisticsListener extends ImprovedListenerAdapter implements Descr
|
|||
return;
|
||||
}
|
||||
|
||||
String commands[] = event.getMessage().toLowerCase().split(" ");
|
||||
String[] commands = event.getMessage().toLowerCase().split(" ");
|
||||
|
||||
if (commands.length > 3) {
|
||||
sendHelp(event);
|
||||
|
|
Loading…
Reference in New Issue