7
__copyright__ = 'this file is in the public domain'
10
from gozerbot.commands import cmnds
11
from gozerbot.utils.generic import getwho
12
from gozerbot.examples import examples
13
from gozerbot.plughelp import plughelp
14
from gozerbot.ignore import addignore, delignore, ignore
15
from gozerbot.tests import tests
16
from gozerbot.users import users
18
plughelp.add('ignore', 'ignore users for a certain time')
20
def handle_ignore(bot, ievent):
22
""" ignore nick for number of seconds. """
25
(nick, nrseconds) = ievent.args
26
nrseconds = int(nrseconds)
28
ievent.missing('<nick> <seconds>')
31
userhost = getwho(bot, nick)
34
ievent.reply("can't get userhost of %s" % nick)
37
allowed = users.allowed(userhost, 'OPER', log=False)
40
ievent.reply("can't ignore OPER")
43
addignore(userhost, nrseconds)
44
ievent.reply("ignoring %s for %s seconds" % (nick, nrseconds))
46
cmnds.add('ignore', handle_ignore, ['OPER', 'IGNORE'], speed=1)
47
examples.add('ignore', 'ignore <nick> <seconds> .. ignore <nick> for <seconds>', 'ignore test 3600')
48
tests.add('ignore bottest 3', 'bottest').add('ignore-del bottest')
50
def handle_ignoredel(bot, ievent):
52
""" remove nick from ignore list. """
57
ievent.missing('<nick>')
60
userhost = getwho(bot, nick)
63
ievent.reply("can't get userhost of %s" % nick)
66
if delignore(userhost):
67
ievent.reply("ignore for %s removed" % nick)
69
ievent.reply("can't remove ignore of %s" % nick)
71
cmnds.add('ignore-del', handle_ignoredel, ['OPER', 'IGNORE'])
72
examples.add('ignore-del', 'ignore-del <nick> .. unignore <nick>', 'ignore-del dunker')
73
tests.add('ignore bottest 1').add('ignore-del bottest', 'removed')
75
def handle_ignorelist(bot, ievent):
77
""" show ignore list. """
79
ievent.reply(str(ignore))
81
cmnds.add('ignore-list', handle_ignorelist, 'OPER')
82
examples.add('ignore-list', 'show ignore list', 'ignore-list')
83
tests.add('ignore bottest 20').add('ignore-list', 'bottest').add('ignore-del bottest')