diff options
author | bill-auger <mr.j.spam.me@gmail.com> | 2018-09-25 03:54:51 -0400 |
---|---|---|
committer | bill-auger <mr.j.spam.me@gmail.com> | 2018-10-02 19:02:25 -0400 |
commit | 1f4e3fb9013b8e65db7be06df6b91995e7b56156 (patch) | |
tree | 7fb7a4637976a7c3f47179d0b60ff23dedb9a9ea | |
parent | 39525411b8da45a35e958378cb8dec316918d142 (diff) |
handle numeric 328 RPL_CHANNEL_URL gracefully
-rw-r--r-- | lib/main.sh | 9 | ||||
-rw-r--r-- | lib/numerics.sh | 2 |
2 files changed, 7 insertions, 4 deletions
diff --git a/lib/main.sh b/lib/main.sh index 562f240..2c48c59 100644 --- a/lib/main.sh +++ b/lib/main.sh @@ -421,11 +421,12 @@ while true; do continue 2 fi done - if [[ $line =~ ^:${server_name}\ +([0-9]{3})\ +([^ ]+)\ +(.*) ]]; then + if [[ $line =~ ^:(${server_name}|services\.)\ +([0-9]{3})\ +([^ ]+)\ +(.*) ]]; then # this is a numeric - numeric="${BASH_REMATCH[1]}" - numericdata="${BASH_REMATCH[3]}" - server_handle_numerics "$numeric" "${BASH_REMATCH[2]}" "$numericdata" + numeric="${BASH_REMATCH[2]}" + target="${BASH_REMATCH[3]}" + numericdata="${BASH_REMATCH[4]}" + server_handle_numerics "$numeric" "$target" "$numericdata" for module in $modules_on_numeric; do module_${module}_on_numeric "$numeric" "$numericdata" if [[ $? -ne 0 ]]; then diff --git a/lib/numerics.sh b/lib/numerics.sh index bfe3d33..1248342 100644 --- a/lib/numerics.sh +++ b/lib/numerics.sh @@ -92,6 +92,7 @@ numeric_RPL_LISTSTART='321' numeric_RPL_LIST='322' numeric_RPL_LISTEND='323' numeric_RPL_CHANNELMODEIS='324' +numeric_RPL_CHANNEL_URL='328' numeric_RPL_CREATIONTIME='329' numeric_RPL_WHOISACCOUNT='330' numeric_RPL_NOTOPIC='331' @@ -247,6 +248,7 @@ numerics[321]='RPL_LISTSTART' numerics[322]='RPL_LIST' numerics[323]='RPL_LISTEND' numerics[324]='RPL_CHANNELMODEIS' +numerics[328]='RPL_CHANNEL_URL' numerics[329]='RPL_CREATIONTIME' numerics[330]='RPL_WHOISACCOUNT' numerics[331]='RPL_NOTOPIC' |