aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZoffix Znet <cpan@zoffix.com>2016-07-29 09:14:27 -0400
committerZoffix Znet <cpan@zoffix.com>2016-07-29 09:14:27 -0400
commitc1d4a3127912ffc75f680bdb90533ff8ca5c3b6d (patch)
tree838db3ac06f10f549180e810690c5631158e74b3
parent3ce55a107e23106919d1e389b0027030b7161f44 (diff)
Debug
-rw-r--r--lib/IRC/Client.pm615
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/IRC/Client.pm6 b/lib/IRC/Client.pm6
index 524a680..afbbba2 100644
--- a/lib/IRC/Client.pm6
+++ b/lib/IRC/Client.pm6
@@ -82,6 +82,14 @@ method part (*@channels, :$server) {
self;
}
+method quit (:$server = '*') {
+ if $server eq '*' { .has-quit = True for %!servers.values; }
+ else { self!get-server($server).has-quit = True; }
+ dd ['quit', $server];
+ self.send-cmd: 'QUIT', 'Leaving', :$server;
+ self;
+}
+
method run {
.irc = self for @.plugins.grep: { .DEFINITE and .^can: 'irc' };
start {
@@ -128,6 +136,7 @@ method send (:$where!, :$text!, :$server, :$notice) {
}
method send-cmd ($cmd, *@args is copy, :$prefix = '', :$server) {
+ dd ['send-cmd', $server];
if $cmd eq 'NOTICE'|'PRIVMSG' {
my ($where, $text) = @args;
if @!filters
@@ -152,7 +161,8 @@ method send-cmd ($cmd, *@args is copy, :$prefix = '', :$server) {
}
}
else {
- @args[*-1] = ':' ~ @args[*-1];
+ dd ['send-later', $server];
+ @args[*-1] = ':' ~ @args[*-1] if @args;
self!ssay: :$server, join ' ', $cmd, @args;
}
}
@@ -300,7 +310,9 @@ method !plugs-that-can ($method, |c) {
method !get-server ($server is copy) {
$server //= '_'; # stupid Perl 6 and its sig defaults
+ dd ['get-server', $server];
return $server if $server ~~ IRC::Client::Server;
+ dd ['get-server later', $server];
return %!servers{$server};
}
@@ -315,6 +327,7 @@ method !set-server-attr ($server, $method, $what) {
method !ssay (Str:D $msg, :$server is copy) {
$server //= '*';
+ dd ['ssay', $server, ~$server];
$!debug and debug-print $msg, :out, :$server;
%!servers{$_}.socket.print: "$msg\n"
for |($server eq '*' ?? %!servers.keys.sort !! $server);