From db4b16e06ee14205a988263942524e1d754f8f64 Mon Sep 17 00:00:00 2001 From: Zoffix Znet Date: Fri, 29 Jul 2016 19:16:49 -0400 Subject: Fix filters with Promises --- lib/IRC/Client.pm6 | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/IRC/Client.pm6 b/lib/IRC/Client.pm6 index 6b442da..cd23b73 100644 --- a/lib/IRC/Client.pm6 +++ b/lib/IRC/Client.pm6 @@ -272,7 +272,10 @@ method !handle-event ($e) { last EVENT if $res ~~ IRC::Client | Supply | Channel; if $res ~~ Promise { - $res.then: { $e.?reply: $^r unless $^r ~~ Nil or $e.?replied; } + $res.then: { + $e.?reply: $^r.result + unless $^r.result ~~ Nil or $e.?replied; + } } else { $e.?reply: $res unless $res ~~ Nil or $e.?replied; } @@ -318,8 +321,8 @@ method send-cmd ($cmd, *@args is copy, :$prefix = '', :$server) { CATCH { default { warn $_; warn .backtrace } } for @f -> $f { given $f.signature.params.elems { - when 1 { $text = $f($text); } - when 2 { ($text, $where) = $f($text, :$where) } + when 1 { $text = $f($text); } + when 2 { ($text, $where) = $f($text, :$where); } } } self!ssay: :$server, join ' ', $cmd, $where, ":$prefix$text"; -- cgit v1.1