Added command level 3 for logchan-only command.
This commit is contained in:
1 parent
88d7799569
commit
e93939d4cf
3 files changed
+27
-4
No files matched your search
@@ -3,6 +3,7 @@ Auto IRC Bot 3.0: Change Log
|
|||||||
|
|
||||||
3.0 Indev
|
3.0 Indev
|
||||||
===============================================================================
|
===============================================================================
|
||||||
|
* Added command level 3 for logchan-only command.
|
||||||
* Added a LinkTitle module for getting the title of a web page posted in a
|
* Added a LinkTitle module for getting the title of a web page posted in a
|
||||||
channel.
|
channel.
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -115,12 +115,12 @@ sub cmd_add
|
|||||||
$cmd = uc $cmd;
|
$cmd = uc $cmd;
|
||||||
|
|
||||||
if (defined $API::Std::CMDS{$cmd}) { return; }
|
if (defined $API::Std::CMDS{$cmd}) { return; }
|
||||||
if ($lvl =~ m/[^0-2]/sm) { return; } ## no critic qw(RegularExpressions::RequireExtendedFormatting)
|
if ($lvl =~ m/[^0-3]/sm) { return; } ## no critic qw(RegularExpressions::RequireExtendedFormatting)
|
||||||
|
|
||||||
$API::Std::CMDS{$cmd}{lvl} = $lvl;
|
$API::Std::CMDS{$cmd}{lvl} = $lvl;
|
||||||
$API::Std::CMDS{$cmd}{help} = $help;
|
$API::Std::CMDS{$cmd}{help} = $help;
|
||||||
$API::Std::CMDS{$cmd}{priv} = $priv;
|
$API::Std::CMDS{$cmd}{priv} = $priv;
|
||||||
$API::Std::CMDS{$cmd}{sub} = $sub;
|
$API::Std::CMDS{$cmd}{'sub'} = $sub;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|||||||
+24
-2
@@ -603,18 +603,40 @@ sub privmsg
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
# Else give them the boot.
|
# Else give them the boot.
|
||||||
API::IRC::notice($data{svr}, $data{nick}, API::Std::trans("Permission denied").".");
|
API::IRC::notice($data{svr}, $data{nick}, API::Std::trans('Permission denied').q{.});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
# Else continue executing without any extra checks.
|
# Else continue executing without any extra checks.
|
||||||
&{ $API::Std::CMDS{$cmd}{'sub'} }(\%data, @argv) if $rprefix eq $cprefix;
|
&{ $API::Std::CMDS{$cmd}{'sub'} }(\%data, @argv);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
# Send them a notice about their bad deed.
|
# Send them a notice about their bad deed.
|
||||||
API::IRC::notice($data{svr}, $data{nick}, trans('Rate limit exceeded').q{.});
|
API::IRC::notice($data{svr}, $data{nick}, trans('Rate limit exceeded').q{.});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
elsif ($API::Std::CMDS{$cmd}{lvl} == 3) {
|
||||||
|
# Or if it's a logchan command...
|
||||||
|
my ($lcn, $lcc) = split '/', (conf_get('logchan'))[0][0];
|
||||||
|
if ($lcn eq $data{svr} and lc $lcc eq lc $data{chan}) {
|
||||||
|
# Check if it's being sent from the logchan.
|
||||||
|
if ($API::Std::CMDS{$cmd}{priv}) {
|
||||||
|
# If this command takes a privilege...
|
||||||
|
if (API::Std::has_priv(API::Std::match_user(%data), $API::Std::CMDS{$cmd}{priv})) {
|
||||||
|
# Make sure they have it.
|
||||||
|
&{ $API::Std::CMDS{$cmd}{'sub'} }(\%data, @argv);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
# Else give them the boot.
|
||||||
|
API::IRC::notice($data{svr}, $data{nick}, API::Std::trans('Permission denied').q{.});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
# Else continue executing without any extra checks.
|
||||||
|
&{ $API::Std::CMDS{$cmd}{'sub'} }(\%data, @argv);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user