make !frehash more powerful
This commit is contained in:
parent
fc80be7692
commit
f61e498185
@ -7,6 +7,7 @@ import tools.moduleloader as ld
|
||||
import traceback
|
||||
from settings import common as var
|
||||
from base64 import b64encode
|
||||
import imp
|
||||
|
||||
def on_privmsg(cli, rawnick, chan, msg, notice = False):
|
||||
currmod = ld.MODULES[ld.CURRENT_MODULE]
|
||||
@ -102,7 +103,10 @@ def connect_callback(cli):
|
||||
cli.cap("REQ", "extended-join")
|
||||
cli.cap("REQ", "account-notify")
|
||||
|
||||
try:
|
||||
ld.MODULES[ld.CURRENT_MODULE].connect_callback(cli)
|
||||
except AttributeError:
|
||||
pass # no connect_callback for this one
|
||||
|
||||
cli.nick(botconfig.NICK) # very important (for regain/release)
|
||||
|
||||
@ -159,6 +163,42 @@ def connect_callback(cli):
|
||||
def on_ping(cli, prefix, server):
|
||||
cli.send('PONG', server)
|
||||
|
||||
@cmd("frehash", admin_only = True)
|
||||
def reload_modules(cli, nick, chan, rest):
|
||||
error = False
|
||||
|
||||
try:
|
||||
imp.reload(var)
|
||||
imp.reload(botconfig)
|
||||
imp.reload(decorators.botconfig)
|
||||
except SyntaxError as e:
|
||||
logging.error(traceback.format_exc())
|
||||
cli.msg(chan, "Syntax error.")
|
||||
error = True
|
||||
|
||||
for nam, mod in ld.MODULES.items():
|
||||
if nam == ld.CURRENT_MODULE:
|
||||
try:
|
||||
mod.quit_callback(cli)
|
||||
except AttributeError:
|
||||
pass # no quit_callback
|
||||
print("Reloading module {0}....".format(nam))
|
||||
try:
|
||||
imp.reload(mod)
|
||||
imp.reload(mod.var)
|
||||
imp.reload(mod.botconfig)
|
||||
imp.reload(mod.decorators.botconfig)
|
||||
except AttributeError:
|
||||
pass
|
||||
except SyntaxError as e:
|
||||
logging.error(traceback.format_exc())
|
||||
cli.msg(chan, "Syntax error in module {0}".format(nam))
|
||||
error = True
|
||||
|
||||
if not error:
|
||||
cli.msg(chan, "Operation successful.")
|
||||
|
||||
|
||||
|
||||
if botconfig.DEBUG_MODE:
|
||||
@cmd("module", admin_only = True)
|
||||
|
@ -117,6 +117,12 @@ def connect_callback(cli):
|
||||
|
||||
cli.who(botconfig.CHANNEL, "%nuhaf")
|
||||
|
||||
def quit_callback(cli):
|
||||
# clean up
|
||||
if var.PHASE in ("day", "night"):
|
||||
stop_game(cli)
|
||||
else:
|
||||
reset(cli)
|
||||
|
||||
|
||||
|
||||
@ -217,24 +223,24 @@ def restart_program(cli, nick, *rest):
|
||||
|
||||
|
||||
|
||||
@cmd("frehash", admin_only=True)
|
||||
def frehash(cli, nick, chan, rest):
|
||||
if var.PHASE in ("day", "night"):
|
||||
stop_game(cli)
|
||||
else:
|
||||
reset(cli)
|
||||
imp.reload(botconfig)
|
||||
imp.reload(var)
|
||||
imp.reload(decorators.botconfig)
|
||||
# @cmd("frehash", admin_only=True)
|
||||
# def frehash(cli, nick, chan, rest):
|
||||
# if var.PHASE in ("day", "night"):
|
||||
# stop_game(cli)
|
||||
# else:
|
||||
# reset(cli)
|
||||
# imp.reload(botconfig)
|
||||
# imp.reload(var)
|
||||
# imp.reload(decorators.botconfig)
|
||||
|
||||
if botconfig.DEBUG_MODE:
|
||||
var.NIGHT_TIME_LIMIT = 0 # 90
|
||||
var.DAY_TIME_LIMIT_WARN = 0
|
||||
var.DAY_TIME_LIMIT_CHANGE = 0
|
||||
var.KILL_IDLE_TIME = 0 #300
|
||||
var.WARN_IDLE_TIME = 0 #180
|
||||
# if botconfig.DEBUG_MODE:
|
||||
# var.NIGHT_TIME_LIMIT = 0 # 90
|
||||
# var.DAY_TIME_LIMIT_WARN = 0
|
||||
# var.DAY_TIME_LIMIT_CHANGE = 0
|
||||
# var.KILL_IDLE_TIME = 0 #300
|
||||
# var.WARN_IDLE_TIME = 0 #180
|
||||
|
||||
cli.msg(chan, "Operation successful.")
|
||||
# cli.msg(chan, "Operation successful.")
|
||||
|
||||
|
||||
|
||||
@ -787,8 +793,6 @@ def stop_game(cli, winner = ""):
|
||||
|
||||
return True
|
||||
|
||||
|
||||
|
||||
def chk_win(cli):
|
||||
""" Returns True if someone won """
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user