diff options
Diffstat (limited to 'scripts/cap.pl')
| -rw-r--r-- | scripts/cap.pl | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/scripts/cap.pl b/scripts/cap.pl new file mode 100644 index 0000000..794b4dc --- /dev/null +++ b/scripts/cap.pl @@ -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); |
