diff options
-rw-r--r-- | Changes | 3 | ||||
-rw-r--r-- | docs/02-event-reference.md | 5 | ||||
-rw-r--r-- | lib/IRC/Client.pm6 | 2 |
3 files changed, 7 insertions, 3 deletions
@@ -1,5 +1,8 @@ Revision history for IRC::Client +3.005001 2016-08-07 + - Make addressed regex more restrictive (#21) + 3.004004 2016-08-03 - Implement .match method on Privmsg/Notice message objects diff --git a/docs/02-event-reference.md b/docs/02-event-reference.md index 3e43ca0..cb3de1d 100644 --- a/docs/02-event-reference.md +++ b/docs/02-event-reference.md @@ -83,8 +83,9 @@ irc-addressed ▶ irc-to-me ▶ irc-notice-channel ▶ irc-notice ▶ This event chain is triggered when the client is addressed in a channel either via a `PRIVMSG` or `NOTICE` IRC message. 'Addressed' means the message line -starts with the current nickname of the client, followed by single whitespace character, `;`, or `,` characters, followed by any number of whitespace; or -in regex terms, matches `/^ $nick <[,:\s]> \s* /`. This prefix portion will be +starts with the current nickname of the client, followed by `;` or `,` +characters, followed by any number of whitespace; or +in regex terms, matches `/^ $nick <[,:]> \s* /`. This prefix portion will be **stripped** from the actual message. Possible message objects received by event handler: diff --git a/lib/IRC/Client.pm6 b/lib/IRC/Client.pm6 index 486bfcd..7dbadf9 100644 --- a/lib/IRC/Client.pm6 +++ b/lib/IRC/Client.pm6 @@ -235,7 +235,7 @@ method !handle-event ($e) { given $event-name { when 'irc-privmsg-channel' | 'irc-notice-channel' { my $nick = $s.current-nick; - if $e.text.subst-mutate: /^ $nick <[,:\s]> \s* /, '' { + if $e.text.subst-mutate: /^ $nick <[,:]> \s* /, '' { take 'irc-addressed', ('irc-to-me' if $s.is-connected); } elsif $e.text ~~ / << $nick >> / and $s.is-connected { |