* Removed dependency Async.
* Rewrote the socket engine. * Added cmd_add|del|run() to API::Std for commands. * Parse PRIVMSG.
This commit is contained in:
1 parent
17c00c5afd
commit
41d74bd20e
5 files changed
+114
-27
No files matched your search
+49
-1
@@ -8,10 +8,10 @@ use strict;
|
||||
use warnings;
|
||||
use Exporter;
|
||||
|
||||
our (%LANGE, %MODULE, %EVENTS, %HOOKS, %CMDS);
|
||||
our @ISA = qw(Exporter);
|
||||
our @EXPORT_OK = qw(conf_get trans err awarn timer_add timer_del);
|
||||
|
||||
my (%LANGE, %MODULE, %EVENTS, %HOOKS);
|
||||
|
||||
|
||||
# Initialize a module.
|
||||
@@ -92,13 +92,51 @@ sub mod_void
|
||||
# Add a command to Auto.
|
||||
sub cmd_add
|
||||
{
|
||||
my ($cmd, $lvl, $fhelp, $shelp, $sub) = @_;
|
||||
$cmd = uc($cmd);
|
||||
|
||||
return 0 if (defined $CMDS{$cmd});
|
||||
return 0 if ($lvl =~ m/[^0-2]/);
|
||||
|
||||
$CMDS{$cmd}{lvl} = $lvl;
|
||||
$CMDS{$cmd}{fhelp} = $fhelp;
|
||||
$CMDS{$cmd}{shelp} = $shelp;
|
||||
$CMDS{$cmd}{sub} = $sub;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
# Delete a command from Auto.
|
||||
sub cmd_del
|
||||
{
|
||||
my ($cmd) = @_;
|
||||
$cmd = uc($cmd);
|
||||
|
||||
if (defined $CMDS{$cmd}) {
|
||||
delete $CMDS{$cmd};
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
# Run a command if it exists.
|
||||
sub cmd_run
|
||||
{
|
||||
my ($cmd, $lvl, %src, @argv) = @_;
|
||||
$cmd = uc($cmd);
|
||||
|
||||
return 0 if (!defined $CMDS{$cmd});
|
||||
|
||||
if ($CMDS{$cmd}{lvl} == $lvl or $CMDS{$cmd}{lvl} == 2) {
|
||||
API::Log::println $cmd;
|
||||
&{ $CMDS{$cmd}{sub} }(%src, @argv);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
# Add an event to Auto.
|
||||
@@ -283,6 +321,16 @@ sub trans
|
||||
}
|
||||
}
|
||||
|
||||
# Privilege subroutine.
|
||||
sub has_priv
|
||||
{
|
||||
my (%user, $priv) = @_;
|
||||
|
||||
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
# Error subroutine.
|
||||
sub err
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user