diff options
Diffstat (limited to 'scripts')
| -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); | 
