Add ability to override command effective-level

This commit is contained in:
Pragmatic Software 2017-12-11 12:44:19 -08:00
parent 24e9d2ae40
commit 8fb98d614f
2 changed files with 10 additions and 0 deletions

View File

@ -102,6 +102,11 @@ sub interpreter {
my $level = defined $admin ? $admin->{level} : 0;
my $keyword = lc $stuff->{keyword};
if (exists $stuff->{'effective-level'}) {
$self->{pbot}->{logger}->log("override level to $stuff->{'effective-level'}\n");
$level = $stuff->{'effective-level'};
}
foreach my $ref (@{ $self->{handlers} }) {
if ($ref->{name} eq $keyword) {
if ($level >= $ref->{level}) {

View File

@ -650,6 +650,11 @@ sub process_command_queue {
preserve_whitespace => 0
};
if (exists $command->{level}) {
$self->{pbot}->{logger}->log("Override command effective-level to $command->{level}\n");
$stuff->{'effective-level'} = $command->{level};
}
my $result = $self->interpret($stuff);
$stuff->{result} = $result;
$self->handle_result($stuff, $result);