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