mirror of https://github.com/bvn13/JIrcBot.git
implemented NickServ identify for using registered nickname
parent
c8088c430a
commit
fd4e13eafe
|
@ -5,7 +5,7 @@ After=network.target
|
|||
[Service]
|
||||
User=bvn13
|
||||
WorkingDirectory=/srv/jircbot
|
||||
ExecStart=/usr/bin/java -jar /srv/jircbot/jircbot-1.2.2.jar
|
||||
ExecStart=/usr/bin/java -jar /srv/jircbot/jircbot-1.2.3.jar
|
||||
SuccessExitStatus=143
|
||||
|
||||
[Install]
|
||||
|
|
2
pom.xml
2
pom.xml
|
@ -6,7 +6,7 @@
|
|||
|
||||
<groupId>ru.bvn13</groupId>
|
||||
<artifactId>jircbot</artifactId>
|
||||
<version>1.2.2</version>
|
||||
<version>1.2.3</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
|
||||
|
|
|
@ -127,33 +127,39 @@ public class JircBot extends ListenerAdapter {
|
|||
this.config.getConnections().forEach(c -> {
|
||||
List<Configuration.ServerEntry> servers = new ArrayList<>();
|
||||
servers.add(new Configuration.ServerEntry(c.getServer(), c.getPort()));
|
||||
|
||||
Configuration.Builder confBuilder = templateConfig
|
||||
.setName(c.getBotName())
|
||||
.addListener(adminListener)
|
||||
.addListener(pingPongListener)
|
||||
.addListener(calculatorListener)
|
||||
.addListener(regexCheckerListener)
|
||||
.addListener(adviceListener)
|
||||
.addListener(quizListener)
|
||||
.addListener(bashOrgListener)
|
||||
.addListener(autoRejoinListener)
|
||||
.addListener(deferredMessagesListener)
|
||||
.addListener(linkPreviewListener)
|
||||
.addListener(helloOnJoinListener)
|
||||
.addListener(grammarCorrectorListener)
|
||||
.addListener(googleSearchListener)
|
||||
.addListener(loggerListener)
|
||||
|
||||
// not tested
|
||||
//.addListener(new GoogleDoodleListener(this.config))
|
||||
//.addListener(new YandexSearchListener(this.config, this.yandexSearchService))
|
||||
|
||||
.setServers(servers)
|
||||
.setAutoReconnect(true)
|
||||
.addAutoJoinChannels(c.getChannelsNames());
|
||||
|
||||
if (c.getBotPassword() != null && !c.getBotPassword().isEmpty()) {
|
||||
confBuilder.setNickservPassword(c.getBotPassword());
|
||||
}
|
||||
|
||||
this.bots.put(
|
||||
String.format("%s/%s", c.getServer(), "1"),
|
||||
new PircBotX(templateConfig
|
||||
.setName(c.getBotName())
|
||||
.addListener(adminListener)
|
||||
.addListener(pingPongListener)
|
||||
.addListener(calculatorListener)
|
||||
.addListener(regexCheckerListener)
|
||||
.addListener(adviceListener)
|
||||
.addListener(quizListener)
|
||||
.addListener(bashOrgListener)
|
||||
.addListener(autoRejoinListener)
|
||||
.addListener(deferredMessagesListener)
|
||||
.addListener(linkPreviewListener)
|
||||
.addListener(helloOnJoinListener)
|
||||
.addListener(grammarCorrectorListener)
|
||||
.addListener(googleSearchListener)
|
||||
.addListener(loggerListener)
|
||||
|
||||
// not tested
|
||||
//.addListener(new GoogleDoodleListener(this.config))
|
||||
//.addListener(new YandexSearchListener(this.config, this.yandexSearchService))
|
||||
|
||||
.setServers(servers)
|
||||
.setAutoReconnect(true)
|
||||
.addAutoJoinChannels(c.getChannelsNames())
|
||||
.buildForServer(c.getServer())
|
||||
new PircBotX(confBuilder.buildForServer(c.getServer())
|
||||
)
|
||||
);
|
||||
});
|
||||
|
|
|
@ -81,9 +81,15 @@ public class JircBotConfiguration {
|
|||
config.setServer((String)data.get("server"));
|
||||
config.setPort(Integer.parseInt(data.get("port").toString()));
|
||||
|
||||
if (data.containsKey("botPassword")) {
|
||||
config.setBotPassword((String)data.get("botPassword"));
|
||||
} else {
|
||||
config.setBotPassword("");
|
||||
}
|
||||
|
||||
List<String> channelsNames = new ArrayList<>();
|
||||
|
||||
JSONArray channels = (JSONArray) data.get("channelsNames");
|
||||
JSONArray channels = (JSONArray) data.get("channels");
|
||||
|
||||
if (channels != null && channels.size() > 0) {
|
||||
for (int i=0; i < channels.size(); i++) {
|
||||
|
|
|
@ -24,7 +24,7 @@ public class ChannelSettingsService {
|
|||
return settings;
|
||||
}
|
||||
|
||||
public void creaateChannelSettings(String serverHost, String channelName) {
|
||||
public void createChannelSettings(String serverHost, String channelName) {
|
||||
ChannelSettings settings = channelSettingsRepository.getFirstByServerHostAndChannelName(serverHost, channelName);
|
||||
if (settings == null) {
|
||||
settings = new ChannelSettings();
|
||||
|
|
|
@ -2,6 +2,8 @@ package ru.bvn13.jircbot.listeners;
|
|||
|
||||
import org.pircbotx.hooks.events.JoinEvent;
|
||||
import org.pircbotx.hooks.events.PrivateMessageEvent;
|
||||
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;
|
||||
|
@ -19,6 +21,8 @@ import java.util.concurrent.atomic.AtomicReference;
|
|||
@Component
|
||||
public class AdminListener extends ImprovedListenerAdapter {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(AdminListener.class);
|
||||
|
||||
private static final String COMMAND = "?";
|
||||
|
||||
@Autowired
|
||||
|
@ -30,7 +34,14 @@ public class AdminListener extends ImprovedListenerAdapter {
|
|||
@Override
|
||||
public void onJoin(JoinEvent event) throws Exception {
|
||||
if (event.getChannel().getName().startsWith("#")) {
|
||||
channelSettingsService.creaateChannelSettings(JircBot.extractServer(event.getUser().getServer()), event.getChannel().getName());
|
||||
if (event.getUser().getNick().equals(event.getBot().getNick())) {
|
||||
event.getBot().sendRaw().rawLineNow("MODE " + event.getBot().getUserBot().getNick() + " +B");
|
||||
try {
|
||||
channelSettingsService.createChannelSettings(JircBot.extractServer(event.getBot().getUserBot().getServer()), event.getChannel().getName());
|
||||
} catch (Exception e) {
|
||||
logger.error("Could not create channel settings for channel "+event.getChannel().getName(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,8 @@ public class Config {
|
|||
|
||||
private String botName;
|
||||
|
||||
private String botPassword = "";
|
||||
|
||||
private List<String> channelsNames;
|
||||
|
||||
private String masterNick;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<logger name="ru.bvn13.jircbot" level="ALL"/>
|
||||
<logger name="ru.bvn13.jircbot.listeners" level="ALL"/>
|
||||
<logger name="ru.bvn13.jircbot.listeners.calculator" level="ALL"/>
|
||||
<logger name="org.pircbotx" level="ERROR"/>
|
||||
<logger name="org.pircbotx" level="DEBUG"/>
|
||||
|
||||
<logger name="org.hibernate.SQL" level="WARN"/>
|
||||
<!--<logger name="org.hibernate.type" level="TRACE">-->
|
||||
|
|
Loading…
Reference in New Issue