diff options
author | Vivia Nikolaidou | 2013-11-05 15:34:05 +0200 |
---|---|---|
committer | Vivia Nikolaidou | 2013-11-05 15:41:52 +0200 |
commit | f5faacf250d7c5da5c1e4ebe53d84d2bf788b72f (patch) | |
tree | a837a9597e0d2750db6f554bd561a18774f2e253 | |
parent | Added the quote module (diff) | |
download | shbot-f5faacf250d7c5da5c1e4ebe53d84d2bf788b72f.tar.gz shbot-f5faacf250d7c5da5c1e4ebe53d84d2bf788b72f.tar.bz2 shbot-f5faacf250d7c5da5c1e4ebe53d84d2bf788b72f.zip |
Fix nickname and channel detection
* Nicknames were assumed to be in [A-Za-z] format. Just detecting
a [^!] now as ! separates the nickname from the host.
* Channels may start with two hashes, the previous regexp didn't
recognize that.
-rwxr-xr-x | shbot.sh | 2 | ||||
-rwxr-xr-x | shbrain.sh | 2 |
2 files changed, 2 insertions, 2 deletions
@@ -11,7 +11,7 @@ do if [[ "$LINE" =~ PING\ *:(.*) ]]; then echo "PONG :${BASH_REMATCH[1]}" >&3 else - [[ ${LINE} =~ :[a-zA-Z]*!.*(#.*)\ :.* ]] && ORIGIN=${BASH_REMATCH[1]} + [[ ${LINE} =~ :[^!]*![^#]*(#.*)\ :.* ]] && ORIGIN=${BASH_REMATCH[1]} echo "${LINE}" | ./shbrain.sh | \ while true do @@ -8,7 +8,7 @@ do LINE=${LINE[@]:0:$LEN} ### Parsing potential shcmd - if [[ $LINE =~ :([a-zA-Z]*)!.*:shcmd ]]; then + if [[ $LINE =~ :([^!]*)!.*:shcmd ]]; then EXPAND=(${LINE}) CMD=${EXPAND[4]#:} ARGS=${EXPAND[*]:5} |