use lib get_info 'xchatdir';
use Xchat::XPI;
+use Xchat::XPI::Utils qw<save_context>;
our $VERSION = '0.03';
hook_command 'AID', sub {
my $forcepasswd = $_[0][1];
- my $oldctxt = get_context;
- my @contexts = get_servers_ctxt;
+ my @contexts = get_servers_ctxt;
+ my $guard = save_context;
for (@contexts) {
- set_context $_;
+ set_context $_ or next;
my $passwd = $forcepasswd || get_info 'nickserv';
next unless $passwd;
command 'ID ' . $passwd;
}
- set_context $oldctxt;
return EAT_ALL;
}, {
help_text => 'AID [password], identify you on all servers'
my $target = $_[0][1] || get_prefs 'irc_nick1';
return EAT_ALL unless $target;
my $forcepasswd = $_[0][2];
- my $oldctxt = get_context;
- my @contexts = get_servers_ctxt;
+ my @contexts = get_servers_ctxt;
+ my $guard = save_context;
for (@contexts) {
- set_context $_;
+ set_context $_ or next;
my $passwd = $forcepasswd || get_info 'nickserv';
next unless $passwd;
if (nickcmp(get_info('nick'), $target)) {
command join ' ', 'GHOST', $target, $passwd;
}
}
- set_context $oldctxt;
return EAT_ALL;
}, {
help_text => 'AGHOST [nick] [password], kill usurping clients on all servers'
hook_command "C$_", \&csmode, {
data => $_,
- help_text => join ' ', $_, '[nicks] ,', (lc $_),
+ help_text => join ' ', $_, '[nicks] ,', lc($_),
'the specified targets (or you if none) on the current channel via ChanServ'
} for map { $_, "DE$_" } qw<VOICE HALFOP OP PROTECT>;