]> git.99rst.org Git - irssi-scripts.irssi.org.git/commitdiff
CAP printing script
authorDoug Freed <redacted>
Tue, 13 Sep 2016 07:32:53 +0000 (03:32 -0400)
committerGitHub <redacted>
Tue, 13 Sep 2016 07:32:53 +0000 (03:32 -0400)
Prints CAP lines sent from the server.  Code stolen from cap_sasl.pl

scripts/cap.pl [new file with mode: 0644]

diff --git a/scripts/cap.pl b/scripts/cap.pl
new file mode 100644 (file)
index 0000000..794b4dc
--- /dev/null
@@ -0,0 +1,33 @@
+use strict;
+use Irssi;
+use vars qw($VERSION %IRSSI);
+
+$VERSION = "1.0";
+%IRSSI = (
+       authors => 'dwfreed',
+       contact => 'dwfreed@mtu.edu',
+       name => 'cap',
+       description => 'Prints caps; derived from cap_sasl.pl by Michael Tharp (gxti), Jilles Tjoelker (jilles), and Mantas Mikulėnas (grawity)',
+       license => 'GPLv2',
+       url => 'none yet',
+);
+
+sub event_cap {
+       my ($server, $args, $nick, $address) = @_;
+       my ($subcmd, $caps);
+
+       if ($args =~ /^\S+ (\S+) :(.*)$/) {
+               $subcmd = uc $1;
+               $caps = ' '.$2.' ';
+               if ($subcmd eq 'LS') {
+                       $server->print('', "CLICAP: supported by server:$caps");
+               } elsif ($subcmd eq 'ACK') {
+                       $server->print('', "CLICAP: now enabled:$caps");
+               } elsif ($subcmd eq 'NAK') {
+                       $server->print('', "CLICAP: refused:$caps");
+               } elsif ($subcmd eq 'LIST') {
+                       $server->print('', "CLICAP: currently enabled:$caps");
+               }
+       }
+}
+Irssi::signal_add('event cap', \&event_cap);
git clone https://git.99rst.org/PROJECT