etc/rhq-ircBot/src/main/java/org/rhq/etc/ircbot/RhqIrcBotListener.java | 17 +++++++---
1 file changed, 13 insertions(+), 4 deletions(-)
New commits:
commit 64c225a14337769a1f6ce1df40a9e025ee3258e0
Merge: 078a2da e87ea03
Author: Jirka Kremser <jiri.kremser(a)gmail.com>
Date: Fri May 24 14:40:00 2013 -0700
Merge pull request #1 from lzoubek/master
Merging the rhq bot improvements
commit e87ea0381518ffda4a42be7a119ce0ab764cd551
Author: Libor Zoubek <lzoubek(a)jezzovo.net>
Date: Fri May 24 16:45:08 2013 +0200
rhq-Bot: only devs can send private echo command to bot
diff --git a/etc/rhq-ircBot/src/main/java/org/rhq/etc/ircbot/RhqIrcBotListener.java
b/etc/rhq-ircBot/src/main/java/org/rhq/etc/ircbot/RhqIrcBotListener.java
index 1960f1d..a7b3e78 100644
--- a/etc/rhq-ircBot/src/main/java/org/rhq/etc/ircbot/RhqIrcBotListener.java
+++ b/etc/rhq-ircBot/src/main/java/org/rhq/etc/ircbot/RhqIrcBotListener.java
@@ -209,8 +209,12 @@ public class RhqIrcBotListener extends
ListenerAdapter<RhqIrcBot> {
String message = privateMessageEvent.getMessage();
Matcher echoMatcher = ECHO_PATTERN.matcher(message);
if (echoMatcher.matches()) {
- String echoMessage = echoMatcher.group(1);
- bot.sendMessage(this.channel, echoMessage);
+ if (!JON_DEVS.contains(privateMessageEvent.getUser().getNick())) {
+ privateMessageEvent.respond("You're not my master, I am your master, go
away");
+ } else {
+ String echoMessage = echoMatcher.group(1);
+ bot.sendMessage(this.channel, echoMessage);
+ }
} else if (message.equalsIgnoreCase(Command.PREFIX + "listrenames")) {
//Generate a list of renames in the form of old1 changed to new1, old2
changed to new2, etc
StringBuilder users = new StringBuilder();
commit 66c47dde1721632eca6990d389195708e8deeefe
Author: Libor Zoubek <lzoubek(a)jezzovo.net>
Date: Fri May 24 16:40:57 2013 +0200
ircBot: improved recognition of commands
Bot now recognizes commands only when in the beginning of message or if you
highlight bot's nick and command is the very first word (like rhq-bot:
!help)
diff --git a/etc/rhq-ircBot/src/main/java/org/rhq/etc/ircbot/RhqIrcBotListener.java
b/etc/rhq-ircBot/src/main/java/org/rhq/etc/ircbot/RhqIrcBotListener.java
index cd6d43a..1960f1d 100644
--- a/etc/rhq-ircBot/src/main/java/org/rhq/etc/ircbot/RhqIrcBotListener.java
+++ b/etc/rhq-ircBot/src/main/java/org/rhq/etc/ircbot/RhqIrcBotListener.java
@@ -61,7 +61,7 @@ public class RhqIrcBotListener extends ListenerAdapter<RhqIrcBot>
{
SUPPORT,
WIKI("Our wiki is available from
https://docs.jboss.org/author/display/RHQ/Home", true);
- public static final char PREFIX = '!';
+ public static final String PREFIX = "!";
private final String staticRespond;
private final boolean includeInHelp;
@@ -106,7 +106,7 @@ public class RhqIrcBotListener extends
ListenerAdapter<RhqIrcBot> {
this.channel = channel;
isRedHatChannel = "irc.devel.redhat.com".equals(channel);
StringBuilder commandRegExp = new StringBuilder();
- commandRegExp.append("(?i)\\").append(Command.PREFIX).append("[
]*(");
+ commandRegExp.append("^(?i)[
]*").append(Command.PREFIX).append("(");
for (Command command : Command.values()) {
commandRegExp.append(command.name()).append('|');
}
@@ -173,6 +173,11 @@ public class RhqIrcBotListener extends
ListenerAdapter<RhqIrcBot> {
bot.sendMessage(event.getChannel(), event.getUser().getNick() + ":
" + response);
}
+ if (message.startsWith(event.getBot().getNick())) {
+ // someone asked bot directly, we have to remove that from message
+ message = message.substring(event.getBot().getNick().length());
+ message = message.replaceFirst("[^ ]*", "");
+ }
// react to commands included in the messages
Matcher commandMatcher = commandPattern.matcher(message);
while (commandMatcher.find()) {