mirror of https://github.com/bvn13/JIrcBot.git
changed auto channel join.
parent
70cf1f81ac
commit
9e4d18ee0d
|
@ -43,4 +43,6 @@ build/**
|
|||
build/*
|
||||
|
||||
|
||||
google-search.txt
|
||||
google-search.txt
|
||||
yandex-search.txt
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"enabled" : true,
|
||||
"server" : "irc.freenode.net",
|
||||
"port" : 6667,
|
||||
"channelName" : "#voidforum",
|
||||
"channelsNames" : ["#voidforum", "#lor"],
|
||||
"botName" : "jircbot"
|
||||
}
|
||||
],
|
||||
|
|
|
@ -50,18 +50,19 @@ public class JircBot extends ListenerAdapter {
|
|||
List<Configuration.ServerEntry> servers = new ArrayList<>();
|
||||
servers.add(new Configuration.ServerEntry(c.getServer(), c.getPort()));
|
||||
this.bots.put(
|
||||
String.format("%s/%s", c.getServer(), c.getChannelName()),
|
||||
String.format("%s/%s", c.getServer(), "1"), //c.getChannelName()),
|
||||
new PircBotX(templateConfig
|
||||
.setName(c.getBotName())
|
||||
.addListener(new PingPongListener())
|
||||
.addListener(new CalculatorListener()) //This class is a listener, so add it to the bots known listeners
|
||||
.addListener(new GoogleDoodleListener(this.config))
|
||||
.addListener(new GoogleSearchListener(this.config))
|
||||
//.addListener(new GoogleSearchListener(this.config))
|
||||
.addListener(new UrlRetrieverListener())
|
||||
.addListener(new RegexCheckerListener())
|
||||
.setServers(servers)
|
||||
.setAutoReconnect(true)
|
||||
.addAutoJoinChannel(c.getChannelName()) //Join the official #pircbotx channel
|
||||
//.addAutoJoinChannel(c.getChannelName()) //Join the official #pircbotx channel
|
||||
.addAutoJoinChannels(c.getChannelsNames())
|
||||
.buildForServer(c.getServer())
|
||||
)
|
||||
);
|
||||
|
|
|
@ -84,7 +84,22 @@ public class JircBotConfiguration {
|
|||
config.setEnabled((Boolean)data.get("enabled"));
|
||||
config.setServer((String)data.get("server"));
|
||||
config.setPort(Integer.parseInt(data.get("port").toString()));
|
||||
config.setChannelName((String)data.get("channelName"));
|
||||
|
||||
List<String> channelsNames = new ArrayList<>();
|
||||
|
||||
JSONArray channels = (JSONArray) data.get("channelsNames");
|
||||
|
||||
if (channels != null && channels.size() > 0) {
|
||||
for (int i=0; i < channels.size(); i++) {
|
||||
String name = (String) channels.get(i);
|
||||
channelsNames.add(name);
|
||||
}
|
||||
}
|
||||
|
||||
//channelsNames.add(name);
|
||||
config.setChannelsNames(channelsNames);
|
||||
|
||||
//config.setChannelName((String);
|
||||
config.setBotName((String)data.get("botName"));
|
||||
return config;
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ public class CalculatorListener extends ListenerAdapter {
|
|||
@Override
|
||||
public void onGenericMessage(final GenericMessageEvent event) throws Exception {
|
||||
|
||||
if (event.getUser().getNick().equals(event.getBot().getNick())) {
|
||||
if (event.getUser().getUserId().equals(event.getBot().getUserBot().getUserId())) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ public class GoogleDoodleListener extends ListenerAdapter {
|
|||
@Override
|
||||
public void onGenericMessage(final GenericMessageEvent event) throws Exception {
|
||||
|
||||
if (event.getUser().getNick().equals(event.getBot().getNick())) {
|
||||
if (event.getUser().getUserId().equals(event.getBot().getUserBot().getUserId())) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ public class GoogleSearchListener extends ListenerAdapter {
|
|||
@Override
|
||||
public void onGenericMessage(final GenericMessageEvent event) throws Exception {
|
||||
|
||||
if (event.getUser().getNick().equals(event.getBot().getNick())) {
|
||||
if (event.getUser().getUserId().equals(event.getBot().getUserBot().getUserId())) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ public class PingPongListener extends ListenerAdapter {
|
|||
@Override
|
||||
public void onGenericMessage(final GenericMessageEvent event) throws Exception {
|
||||
|
||||
if (event.getUser().getNick().equals(event.getBot().getNick())) {
|
||||
if (event.getUser().getUserId().equals(event.getBot().getUserBot().getUserId())) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ public class RegexCheckerListener extends ListenerAdapter {
|
|||
@Override
|
||||
public void onGenericMessage(final GenericMessageEvent event) throws Exception {
|
||||
|
||||
if (event.getUser().getNick().equals(event.getBot().getNick())) {
|
||||
if (event.getUser().getUserId().equals(event.getBot().getUserBot().getUserId())) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ import org.jsoup.Jsoup;
|
|||
import org.jsoup.nodes.Document;
|
||||
import org.jsoup.nodes.Element;
|
||||
import org.pircbotx.hooks.ListenerAdapter;
|
||||
import org.pircbotx.hooks.events.MessageEvent;
|
||||
import org.pircbotx.hooks.types.GenericMessageEvent;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -37,7 +38,7 @@ public class UrlRetrieverListener extends ListenerAdapter {
|
|||
@Override
|
||||
public void onGenericMessage(final GenericMessageEvent event) throws Exception {
|
||||
|
||||
if (event.getUser().getNick().equals(event.getBot().getNick())) {
|
||||
if (event.getUser().getUserId().equals(event.getBot().getUserBot().getUserId())) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -49,9 +50,10 @@ public class UrlRetrieverListener extends ListenerAdapter {
|
|||
for (String url : foundUrls) {
|
||||
UrlInfo info = this.checkUrl(url);
|
||||
if (info.getError()) {
|
||||
event.respondWith(info.getDescription());
|
||||
event.respond(info.getDescription());
|
||||
} else {
|
||||
event.respondWith(String.format("%s (%s)", info.getTitle(), info.getDescription()));
|
||||
//event.respondWith(String.format("/notice %s %s", ((MessageEvent) event).getChannel().getName(), String.format("%s (%s)", info.getTitle(), info.getDescription())));
|
||||
event.getBot().sendIRC().notice(((MessageEvent) event).getChannel().getName(), String.format("%s (%s)", info.getTitle(), info.getDescription()));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -84,18 +86,21 @@ public class UrlRetrieverListener extends ListenerAdapter {
|
|||
ex.printStackTrace();
|
||||
info.setError(true);
|
||||
info.setDescription("ERROR retrieving url: "+url);
|
||||
return info;
|
||||
}
|
||||
try {
|
||||
Element title = doc.head().select("title").first();
|
||||
info.setTitle(title.text());
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
info.setError(true);
|
||||
//info.setError(false);
|
||||
info.setDescription("ERROR retrieving title: "+url);
|
||||
}
|
||||
try {
|
||||
Element descr = doc.head().select("meta[name=\"description\"]").first();
|
||||
info.setDescription(descr.attr("content").trim());
|
||||
if (descr != null && descr.attr("content") != null) {
|
||||
info.setDescription(descr.attr("content").trim());
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
|
|
@ -3,6 +3,8 @@ package ru.bvn13.jircbot.model;
|
|||
import com.sun.istack.internal.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class Config {
|
||||
|
||||
|
@ -18,6 +20,6 @@ public class Config {
|
|||
@NotNull
|
||||
private String botName;
|
||||
|
||||
private String channelName;
|
||||
private List<String> channelsNames;
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue