forked from PsychoticNinja/irssi
added /SET autorejoin_channels
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2481 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
parent
7ebe053ebf
commit
b28781c7e6
@ -1,18 +1,16 @@
|
|||||||
# automatically rejoin to channel after kicked
|
# automatically rejoin to channel after kicked
|
||||||
|
|
||||||
|
# /SET autorejoin_channels #channel1 #channel2 ...
|
||||||
|
|
||||||
# NOTE: I personally don't like this feature, in most channels I'm in it
|
# 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
|
# will just result as ban. You've probably misunderstood the idea of /KICK
|
||||||
# if you kick/get kicked all the time "just for fun" ...
|
# if you kick/get kicked all the time "just for fun" ...
|
||||||
|
|
||||||
use Irssi;
|
|
||||||
use Irssi::Irc;
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use Irssi::Irc;
|
||||||
|
|
||||||
sub event_rejoin_kick {
|
sub channel_rejoin {
|
||||||
my ($server, $data) = @_;
|
my ($server, $channel) = @_;
|
||||||
my ($channel, $nick) = split(/ +/, $data);
|
|
||||||
|
|
||||||
return if ($server->{nick} ne $nick);
|
|
||||||
|
|
||||||
# check if channel has password
|
# check if channel has password
|
||||||
my $chanrec = $server->channel_find($channel);
|
my $chanrec = $server->channel_find($channel);
|
||||||
@ -23,4 +21,21 @@ sub event_rejoin_kick {
|
|||||||
$server->send_raw("JOIN $channel $password");
|
$server->send_raw("JOIN $channel $password");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub event_rejoin_kick {
|
||||||
|
my ($server, $data) = @_;
|
||||||
|
my ($channel, $nick) = split(/ +/, $data);
|
||||||
|
|
||||||
|
return if ($server->{nick} ne $nick);
|
||||||
|
|
||||||
|
# check if we want to autorejoin this channel
|
||||||
|
my @chans = split(/ ,/, Irssi::settings_get_str('autorejoin_channels'));
|
||||||
|
foreach my $chan (@chans) {
|
||||||
|
if (lc($chan) eq lc($channel)) {
|
||||||
|
channel_rejoin($server, $channel);
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Irssi::settings_add_str('misc', 'autorejoin_channels', '');
|
||||||
Irssi::signal_add('event kick', 'event_rejoin_kick');
|
Irssi::signal_add('event kick', 'event_rejoin_kick');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user