use lib get_info 'xchatdir';
use Xchat::XPI;
+use Xchat::XPI::Utils qw<save_context>;
our $VERSION = '0.03';
push @{$chans{$_->{type}}}, $_ for grep $_->{server} eq $serv,
get_list 'channels';
- my $oldctxt = get_context;
+ my $guard = save_context;
my $onachan;
for (@{$chans{2}}) {
print_op $nick, $host;
}
- set_context $oldctxt;
-
return EAT_NONE;
};
hook_print 'Disconnected', sub {
- my %servers = map { $_->{server} => 1 }
- grep { $_->{flags} & 9 and not($_->{flags} & 2) }
- get_list 'channels';
+ my %servers;
+ $servers{$_->{server}} = 1 for grep +($_->{flags} & 0b1011) == 0b1001,
+ get_list 'channels';
delete @opers{grep !$servers{$_}, keys %opers};