aboutsummaryrefslogtreecommitdiff
path: root/lib/IRC/Client
diff options
context:
space:
mode:
Diffstat (limited to 'lib/IRC/Client')
-rw-r--r--lib/IRC/Client/Plugin.pm63
-rw-r--r--lib/IRC/Client/Plugin/Debugger.pm610
-rw-r--r--lib/IRC/Client/Plugin/PingPong.pm612
3 files changed, 10 insertions, 15 deletions
diff --git a/lib/IRC/Client/Plugin.pm6 b/lib/IRC/Client/Plugin.pm6
new file mode 100644
index 0000000..83703d7
--- /dev/null
+++ b/lib/IRC/Client/Plugin.pm6
@@ -0,0 +1,3 @@
+constant IRC_HANDLED = "irc plugin handled \x1";
+constant IRC_NOT_HANDLED = "irc plugin not-handled \x2";
+unit class IRC::Client::Plugin:ver<2.001001>;
diff --git a/lib/IRC/Client/Plugin/Debugger.pm6 b/lib/IRC/Client/Plugin/Debugger.pm6
index 5966ca0..c959cc2 100644
--- a/lib/IRC/Client/Plugin/Debugger.pm6
+++ b/lib/IRC/Client/Plugin/Debugger.pm6
@@ -1,8 +1,8 @@
-use v6;
use Data::Dump;
-unit class IRC::Client::Plugin::Debugger:ver<1.001001>;
+use IRC::Client::Plugin;
+unit class IRC::Client::Plugin::Debugger:ver<2.001001> is IRC::Client::Plugin;
-multi method msg () { True }
-multi method msg ($irc, $msg) {
- say Dump $msg, :indent(4);
+method irc-all-events ($irc, $e) {
+ say Dump $e, :indent(4);
+ return IRC_NOT_HANDLED;
}
diff --git a/lib/IRC/Client/Plugin/PingPong.pm6 b/lib/IRC/Client/Plugin/PingPong.pm6
index 7ba977d..b499051 100644
--- a/lib/IRC/Client/Plugin/PingPong.pm6
+++ b/lib/IRC/Client/Plugin/PingPong.pm6
@@ -1,10 +1,2 @@
-use v6;
-unit class IRC::Client::Plugin::PingPong:ver<1.001001>;
-
-multi method msg () { True }
-multi method msg ($irc, $msg) {
- return unless $msg<command> eq 'PING';
- my $res = "PONG {$irc.nick} $msg<params>[0]";
- $irc.debug and say $res;
- $irc.ssay($res);
-}
+unit class IRC::Client::Plugin::PingPong:ver<2.001001>;
+method irc-ping ($irc, $e) { $irc.ssay("PONG {$irc.nick} $e<params>[0]") }