Add a disable command for emergencies

This commit is contained in:
moneromooo 2015-01-17 13:19:50 +00:00
parent 9d6308b0b9
commit fb8a906645

View file

@ -30,6 +30,8 @@ from tipbot.ircutils import *
from tipbot.redisdb import * from tipbot.redisdb import *
from tipbot.command_manager import * from tipbot.command_manager import *
disabled = False
selected_coin = None selected_coin = None
modulenames = [] modulenames = []
argc = 1 argc = 1
@ -232,10 +234,21 @@ def Reload(nick,chan,cmd):
log_error('Failed to load module "%s": %s' % (modulename, str(e))) log_error('Failed to load module "%s": %s' % (modulename, str(e)))
SendTo(sendto,'An error occured') SendTo(sendto,'An error occured')
def Disable(nick,chan,cmd):
global disabled
sendto=GetSendTo(nick,chan)
disabled = True
SendTo(sendto,'%s disabled, will require restart' % config.tipbot_name)
def OnIdle(): def OnIdle():
if disabled:
return
RunIdleFunctions([irc,redisdb]) RunIdleFunctions([irc,redisdb])
def OnIdentified(nick, identified): def OnIdentified(nick, identified):
if disabled:
log_info('Ignoring identified notification for %s while disabled' % str(nick))
return
RunNextCommand(nick, identified) RunNextCommand(nick, identified)
def RegisterCommands(): def RegisterCommands():
@ -252,8 +265,12 @@ def RegisterCommands():
RegisterCommand({'module': 'builtin', 'name': 'dump_users', 'function': DumpUsers, 'admin': True, 'help': "Dump users table to log"}) RegisterCommand({'module': 'builtin', 'name': 'dump_users', 'function': DumpUsers, 'admin': True, 'help': "Dump users table to log"})
RegisterCommand({'module': 'builtin', 'name': 'show_activity', 'function': ShowActivity, 'admin': True, 'help': "Show time since a user was last active"}) RegisterCommand({'module': 'builtin', 'name': 'show_activity', 'function': ShowActivity, 'admin': True, 'help': "Show time since a user was last active"})
RegisterCommand({'module': 'builtin', 'name': 'reload', 'function': Reload, 'admin': True, 'help': "Reload a module"}) RegisterCommand({'module': 'builtin', 'name': 'reload', 'function': Reload, 'admin': True, 'help': "Reload a module"})
RegisterCommand({'module': 'builtin', 'name': 'disable', 'function': Disable, 'admin': True, 'help': "Disable %s"%config.tipbot_name})
def OnCommandProxy(cmd,chan,who): def OnCommandProxy(cmd,chan,who):
if disabled:
log_info('Ignoring command from %s while disabled: %s' % (str(who),str(cmd)))
return
OnCommand(cmd,chan,who,RunAdminCommand,RunRegisteredCommand) OnCommand(cmd,chan,who,RunAdminCommand,RunRegisteredCommand)