From 140959e4f170d732d990e69b9a0ca129b89e3ac4 Mon Sep 17 00:00:00 2001 From: Zoffix Znet Date: Sun, 5 Jun 2016 21:39:47 -0400 Subject: First working test --- lib/IRC/Client.pm6 | 8 ++++---- lib/IRC/Client/Grammar/Actions.pm6 | 5 +++++ lib/IRC/Client/Message.pm6 | 1 + lib/IRC/Client/Message/Numeric.pm6 | 2 -- lib/IRC/Client/Message/Privmsg.pm6 | 4 ---- lib/IRC/Client/Message/Privmsg/Channel.pm6 | 5 ----- lib/IRC/Client/Message/Privmsg/Me.pm6 | 2 -- lib/IRC/Client/Message/Unknown.pm6 | 4 ---- 8 files changed, 10 insertions(+), 21 deletions(-) delete mode 100644 lib/IRC/Client/Message/Numeric.pm6 delete mode 100644 lib/IRC/Client/Message/Privmsg.pm6 delete mode 100644 lib/IRC/Client/Message/Privmsg/Channel.pm6 delete mode 100644 lib/IRC/Client/Message/Privmsg/Me.pm6 delete mode 100644 lib/IRC/Client/Message/Unknown.pm6 (limited to 'lib/IRC') diff --git a/lib/IRC/Client.pm6 b/lib/IRC/Client.pm6 index 96580cf..cacd7c1 100644 --- a/lib/IRC/Client.pm6 +++ b/lib/IRC/Client.pm6 @@ -37,14 +37,14 @@ method run { "USER $!username $!username $!host :$!userreal", :server($s-name); + my $left-overs = ''; react { CATCH { warn .backtrace } whenever $s-conf.Supply :bin -> $buf is copy { - state $left-overs = ''; my $str = try $buf.decode: 'utf8'; $str or $str = $buf.decode: 'latin-1'; - $str = $left-overs ~ $str; + $str = ($left-overs//'') ~ $str; (my $events, $left-overs) = self!parse: $str, :server($s-name); @@ -84,8 +84,8 @@ method !handle-event ($e) { } when 'PING' { $e.reply } when 'JOIN' { - say "Joined channel $e.channel()" - if $e.nick eq %!servers{ $e.server }; + # say "Joined channel $e.channel() on $e.server()" + # if $e.nick eq %!servers{ $e.server }; } } diff --git a/lib/IRC/Client/Grammar/Actions.pm6 b/lib/IRC/Client/Grammar/Actions.pm6 index cf702f8..7c16227 100644 --- a/lib/IRC/Client/Grammar/Actions.pm6 +++ b/lib/IRC/Client/Grammar/Actions.pm6 @@ -58,6 +58,11 @@ method message ($match) { :channel( %args[0] ), |%msg-args; } + when 'NICK' { + $msg = IRC::Client::Message::Nick.new: + :new-nick( %args[0] ), + |%msg-args; + } when 'NOTICE' { $msg = msg-notice %args, %msg-args } when 'MODE' { $msg = msg-mode %args, %msg-args } when 'PING' { $msg = IRC::Client::Message::Ping.new: |%msg-args } diff --git a/lib/IRC/Client/Message.pm6 b/lib/IRC/Client/Message.pm6 index 9a51803..74261c9 100644 --- a/lib/IRC/Client/Message.pm6 +++ b/lib/IRC/Client/Message.pm6 @@ -22,6 +22,7 @@ role Notice::Me does Notice { } role Mode does M { has @.modes; } role Mode::Channel does Mode { has $.channel; } role Mode::Me does Mode { } +role Nick does M { has $.new-nick; } role Numeric does M { } role Part does M { has $.channel; } role Quit does M { } diff --git a/lib/IRC/Client/Message/Numeric.pm6 b/lib/IRC/Client/Message/Numeric.pm6 deleted file mode 100644 index c059eb4..0000000 --- a/lib/IRC/Client/Message/Numeric.pm6 +++ /dev/null @@ -1,2 +0,0 @@ -use IRC::Client::Message; -unit role IRC::Client::Message::Numeric does IRC::Client::Message; diff --git a/lib/IRC/Client/Message/Privmsg.pm6 b/lib/IRC/Client/Message/Privmsg.pm6 deleted file mode 100644 index 31efdea..0000000 --- a/lib/IRC/Client/Message/Privmsg.pm6 +++ /dev/null @@ -1,4 +0,0 @@ -use IRC::Client::Message; -unit role IRC::Client::Message::Privmsg does IRC::Client::Message; - -has $.what; diff --git a/lib/IRC/Client/Message/Privmsg/Channel.pm6 b/lib/IRC/Client/Message/Privmsg/Channel.pm6 deleted file mode 100644 index 36cf3d6..0000000 --- a/lib/IRC/Client/Message/Privmsg/Channel.pm6 +++ /dev/null @@ -1,5 +0,0 @@ -use IRC::Client::Message::Privmsg; -unit role IRC::Client::Message::Privmsg::Channel - does IRC::Client::Message::Privmsg; - -has $.channel; diff --git a/lib/IRC/Client/Message/Privmsg/Me.pm6 b/lib/IRC/Client/Message/Privmsg/Me.pm6 deleted file mode 100644 index 1ff31ba..0000000 --- a/lib/IRC/Client/Message/Privmsg/Me.pm6 +++ /dev/null @@ -1,2 +0,0 @@ -use IRC::Client::Message::Privmsg; -unit role IRC::Client::Message::Privmsg::Me does IRC::Client::Message::Privmsg; diff --git a/lib/IRC/Client/Message/Unknown.pm6 b/lib/IRC/Client/Message/Unknown.pm6 deleted file mode 100644 index 91baa79..0000000 --- a/lib/IRC/Client/Message/Unknown.pm6 +++ /dev/null @@ -1,4 +0,0 @@ -use IRC::Client::Message; -unit role IRC::Client::Message::Unknown does IRC::Client::Message; - -method Str { "❚⚠❚ $.command @.args[]" } -- cgit v1.1