Added core command RESTART.
This commit is contained in:
1 parent
7423e4433c
commit
e071cd1b8b
3 files changed
+41
-2
No files matched your search
@@ -297,6 +297,7 @@ API::Std::cmd_add("MODLOAD", 1, \%Core::IRC::SHELP_MODLOAD, \%Core::IRC::FHELP_M
|
|||||||
API::Std::cmd_add("MODUNLOAD", 1, \%Core::IRC::SHELP_MODUNLOAD, \%Core::IRC::FHELP_MODUNLOAD, \&Core::IRC::cmd_modunload);
|
API::Std::cmd_add("MODUNLOAD", 1, \%Core::IRC::SHELP_MODUNLOAD, \%Core::IRC::FHELP_MODUNLOAD, \&Core::IRC::cmd_modunload);
|
||||||
API::Std::cmd_add("MODRELOAD", 1, \%Core::IRC::SHELP_MODRELOAD, \%Core::IRC::FHELP_MODRELOAD, \&Core::IRC::cmd_modreload);
|
API::Std::cmd_add("MODRELOAD", 1, \%Core::IRC::SHELP_MODRELOAD, \%Core::IRC::FHELP_MODRELOAD, \&Core::IRC::cmd_modreload);
|
||||||
API::Std::cmd_add("SHUTDOWN", 2, \%Core::IRC::SHELP_SHUTDOWN, \%Core::IRC::FHELP_SHUTDOWN, \&Core::IRC::cmd_shutdown);
|
API::Std::cmd_add("SHUTDOWN", 2, \%Core::IRC::SHELP_SHUTDOWN, \%Core::IRC::FHELP_SHUTDOWN, \&Core::IRC::cmd_shutdown);
|
||||||
|
API::Std::cmd_add("RESTART", 2, \%Core::IRC::SHELP_RESTART, \%Core::IRC::FHELP_RESTART, \&Core::IRC::cmd_restart);
|
||||||
|
|
||||||
# Infinite while loop.
|
# Infinite while loop.
|
||||||
while (1) {
|
while (1) {
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ Auto IRC Bot 3.0: Change Log
|
|||||||
|
|
||||||
3.0 Indev
|
3.0 Indev
|
||||||
==================================================================
|
==================================================================
|
||||||
|
* Added core command RESTART.
|
||||||
* Added config option server:autorejoin for rejoining on kick.
|
* Added config option server:autorejoin for rejoining on kick.
|
||||||
* Added event on_kick.
|
* Added event on_kick.
|
||||||
* Parse KICK.
|
* Parse KICK.
|
||||||
|
|||||||
+39
-2
@@ -190,9 +190,7 @@ sub cmd_shutdown
|
|||||||
dbug "Got SHUTDOWN from ".$data{nick}."!".$data{user}."@".$data{host}."/".$data{svr}."! Shutting down. . .";
|
dbug "Got SHUTDOWN from ".$data{nick}."!".$data{user}."@".$data{host}."/".$data{svr}."! Shutting down. . .";
|
||||||
alog "Got SHUTDOWN from ".$data{nick}."!".$data{user}."@".$data{host}."/".$data{svr}."! Shutting down. . .";
|
alog "Got SHUTDOWN from ".$data{nick}."!".$data{user}."@".$data{host}."/".$data{svr}."! Shutting down. . .";
|
||||||
quit($_, "SHUTDOWN from ".$data{nick}."/".$data{svr}) foreach (keys %Auto::SOCKET);
|
quit($_, "SHUTDOWN from ".$data{nick}."/".$data{svr}) foreach (keys %Auto::SOCKET);
|
||||||
sleep 1;
|
|
||||||
DB::flush();
|
DB::flush();
|
||||||
sleep 1;
|
|
||||||
system("rm $Auto::Bin/auto.pid");
|
system("rm $Auto::Bin/auto.pid");
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
@@ -200,5 +198,44 @@ sub cmd_shutdown
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Help hashes for RESTART. Spanish, French and German needed.
|
||||||
|
our %SHELP_RESTART = (
|
||||||
|
'en' => 'Restart Auto.',
|
||||||
|
);
|
||||||
|
our %FHELP_RESTART = (
|
||||||
|
'en' => 'This will send out restart notifications, quit all networks, flush the database, start a new Auto process, then exit the program.',
|
||||||
|
);
|
||||||
|
# RESTART callback.
|
||||||
|
sub cmd_restart
|
||||||
|
{
|
||||||
|
my (%data) = @_;
|
||||||
|
|
||||||
|
# Check for the appropriate privilege.
|
||||||
|
if (!has_priv(match_user(%data), "cmd.restart")) {
|
||||||
|
notice($data{svr}, $data{nick}, trans("Permission denied").".");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Goodbye world!
|
||||||
|
notice($data{svr}, $data{nick}, "Restarting.");
|
||||||
|
dbug "Got RESTART from ".$data{nick}."!".$data{user}."@".$data{host}."/".$data{svr}."! Restarting. . .";
|
||||||
|
alog "Got RESTART from ".$data{nick}."!".$data{user}."@".$data{host}."/".$data{svr}."! Restarting. . .";
|
||||||
|
quit($_, "RESTART from ".$data{nick}."/".$data{svr}) foreach (keys %Auto::SOCKET);
|
||||||
|
DB::flush();
|
||||||
|
system("rm $Auto::Bin/auto.pid") if -e "$Auto::Bin/auto.pid";
|
||||||
|
|
||||||
|
# Time to come back from the dead!
|
||||||
|
if ($Auto::DEBUG) {
|
||||||
|
system("$Auto::Bin/auto -d");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
system("$Auto::Bin/auto");
|
||||||
|
}
|
||||||
|
exit;
|
||||||
|
|
||||||
|
# To appease PerlCritic.
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
1;
|
1;
|
||||||
Reference in new issue
Block a user