Added IRC NickServ identify feature.
This commit is contained in:
parent
42b6faaa5c
commit
880e1d44b6
@ -12,6 +12,8 @@ irc.host=irc.freenode.org
|
|||||||
irc.port=6667
|
irc.port=6667
|
||||||
irc.name=Hebdobot
|
irc.name=Hebdobot
|
||||||
irc.channel=#april-test
|
irc.channel=#april-test
|
||||||
|
irc.identify.nick=
|
||||||
|
irc.identify.password=
|
||||||
|
|
||||||
# Pastebin settings.
|
# Pastebin settings.
|
||||||
#pastebin.apiKey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
#pastebin.apiKey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||||
|
@ -74,6 +74,8 @@ public class Hebdobot extends PircBot
|
|||||||
private String host;
|
private String host;
|
||||||
private int port;
|
private int port;
|
||||||
private String channel;
|
private String channel;
|
||||||
|
private String identifyNick;
|
||||||
|
private String identifyPassword;
|
||||||
private File reviewDirectory;
|
private File reviewDirectory;
|
||||||
private String reviewFileSuffix;
|
private String reviewFileSuffix;
|
||||||
private LocalTime reviewWaitTime;
|
private LocalTime reviewWaitTime;
|
||||||
@ -94,22 +96,28 @@ public class Hebdobot extends PircBot
|
|||||||
* @param port
|
* @param port
|
||||||
* the port
|
* the port
|
||||||
* @param nickname
|
* @param nickname
|
||||||
* the name
|
* the nickname
|
||||||
* @param channel
|
* @param channel
|
||||||
* the channel
|
* the channel
|
||||||
* @param homeDirectory
|
* @param homeDirectory
|
||||||
* the home directory
|
* the home directory
|
||||||
* @param reviewDirectory
|
* @param reviewDirectory
|
||||||
* the review directory
|
* the review directory
|
||||||
|
* @param identifyNick
|
||||||
|
* the identify nick
|
||||||
|
* @param identifyPassword
|
||||||
|
* the identify password
|
||||||
*/
|
*/
|
||||||
public Hebdobot(final String host, final int port, final String nickname, final String channel, final File homeDirectory,
|
public Hebdobot(final String host, final int port, final String nickname, final String channel, final File homeDirectory,
|
||||||
final File reviewDirectory)
|
final File reviewDirectory, final String identifyNick, final String identifyPassword)
|
||||||
{
|
{
|
||||||
this.homeDirectory = homeDirectory;
|
this.homeDirectory = homeDirectory;
|
||||||
this.host = host;
|
this.host = host;
|
||||||
this.port = port;
|
this.port = port;
|
||||||
this.channel = channel;
|
this.channel = channel;
|
||||||
this.setName(nickname);
|
this.setName(nickname);
|
||||||
|
this.identifyNick = identifyNick;
|
||||||
|
this.identifyPassword = identifyPassword;
|
||||||
this.reviewDirectory = reviewDirectory;
|
this.reviewDirectory = reviewDirectory;
|
||||||
this.reviewFileSuffix = null;
|
this.reviewFileSuffix = null;
|
||||||
this.reviewWaitTime = null;
|
this.reviewWaitTime = null;
|
||||||
@ -391,6 +399,17 @@ public class Hebdobot extends PircBot
|
|||||||
this.connect(this.host, this.port);
|
this.connect(this.host, this.port);
|
||||||
logger.info("Bot connected.");
|
logger.info("Bot connected.");
|
||||||
|
|
||||||
|
if (this.identifyPassword == null)
|
||||||
|
{
|
||||||
|
logger.info("Skipped identify.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
logger.info("Apply identify.");
|
||||||
|
sendMessage("NickServ", "identify " + this.identifyNick + " " + this.identifyPassword);
|
||||||
|
logger.info("Applied identify.");
|
||||||
|
}
|
||||||
|
|
||||||
logger.info("Bot joining channel ({}).", this.channel);
|
logger.info("Bot joining channel ({}).", this.channel);
|
||||||
this.joinChannel(this.channel);
|
this.joinChannel(this.channel);
|
||||||
logger.info("Bot ready.");
|
logger.info("Bot ready.");
|
||||||
|
@ -201,7 +201,7 @@ public class HebdobotCLI
|
|||||||
logger.info("Alias list: " + aliases.toLineString());
|
logger.info("Alias list: " + aliases.toLineString());
|
||||||
|
|
||||||
Hebdobot bot = new Hebdobot(config.getIrcHost(), config.getIrcPort(), config.getIrcName(), config.getIrcChannel(),
|
Hebdobot bot = new Hebdobot(config.getIrcHost(), config.getIrcPort(), config.getIrcName(), config.getIrcChannel(),
|
||||||
configFile.getParentFile(), reviewDirectory);
|
configFile.getParentFile(), reviewDirectory, config.getIrcIdentifyNick(), config.getIrcIdentifyPassword());
|
||||||
|
|
||||||
//
|
//
|
||||||
bot.setReviewWaitTime(config.getReviewWaitTime());
|
bot.setReviewWaitTime(config.getReviewWaitTime());
|
||||||
|
@ -177,6 +177,36 @@ public class HebdobotConfigFile extends Properties
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the irc identify login.
|
||||||
|
*
|
||||||
|
* @return the irc identify login
|
||||||
|
*/
|
||||||
|
public String getIrcIdentifyNick()
|
||||||
|
{
|
||||||
|
String result;
|
||||||
|
|
||||||
|
result = getProperty("irc.identify.nick");
|
||||||
|
|
||||||
|
//
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the identify password.
|
||||||
|
*
|
||||||
|
* @return the identify password
|
||||||
|
*/
|
||||||
|
public String getIrcIdentifyPassword()
|
||||||
|
{
|
||||||
|
String result;
|
||||||
|
|
||||||
|
result = getProperty("irc.identify.password");
|
||||||
|
|
||||||
|
//
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the name.
|
* Gets the name.
|
||||||
*
|
*
|
||||||
@ -445,6 +475,14 @@ public class HebdobotConfigFile extends Properties
|
|||||||
{
|
{
|
||||||
result = false;
|
result = false;
|
||||||
}
|
}
|
||||||
|
else if ((getProperty("irc.identify.nick") != null) && (getProperty("irc.identify.password") == null))
|
||||||
|
{
|
||||||
|
result = false;
|
||||||
|
}
|
||||||
|
else if ((getProperty("irc.identify.nick") == null) && (getProperty("irc.identify.password") != null))
|
||||||
|
{
|
||||||
|
result = false;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
result = true;
|
result = true;
|
||||||
|
@ -36,7 +36,7 @@ public class BotMock extends Hebdobot
|
|||||||
*/
|
*/
|
||||||
public BotMock() throws Exception
|
public BotMock() throws Exception
|
||||||
{
|
{
|
||||||
super("myHost", 0, "Hebdobot", "#april-mock", null, new File("/tmp/"));
|
super("myHost", 0, "Hebdobot", "#april-mock", null, new File("/tmp/"), null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
|
Loading…
Reference in New Issue
Block a user