summaryrefslogtreecommitdiff
path: root/scripts/autorejoin.pl
blob: 7954f121bc19a1629036d9d0178847be9769854c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# automatically rejoin to channel after kicked

# NOTE: I personally don't like this feature, in most channels I'm in it
# will just result as ban. You've probably misunderstood the idea of /KICK
# if you kick/get kicked all the time "just for fun" ...

use Irssi;
use Irssi::Irc;

sub event_rejoin_kick {
	my ($data, $server) = @_;
	my ($channel, $nick) = split(/ +/, $data);

	return if ($server->values()->{'nick'} ne $nick);

	# check if channel has password
	$chanrec = $server->channel_find($channel);
	$password = $chanrec->values()->{'key'} if ($chanrec);

	$server->send_raw("JOIN $channel $password");
}

Irssi::signal_add('event kick', 'event_rejoin_kick');