7
__copyright__ = 'this file is in the public domain'
9
from gozerbot.datadir import datadir
10
from gozerbot.commands import cmnds
11
from gozerbot.examples import examples
12
from gozerbot.persist import Persist
13
from gozerbot.plughelp import plughelp
16
plughelp.add('botsnack', 'give the bot a snack')
18
# called persist init on datadir/bsl file
19
bsl = Persist(datadir + os.sep + 'bsl')
21
# if data attribute is not initted set it to an empty list
25
def handle_botsnack(bot, ievent):
26
""" botsnack .. give botsnack reply """
28
result = random.choice(bsl.data)
29
result = result.replace('<nick>', ievent.nick)
30
result = result.replace('<host>', ievent.userhost)
33
ievent.reply('smikkel ;]')
35
cmnds.add('botsnack', handle_botsnack, ['USER', 'ANON'])
36
examples.add('botsnack', 'give the bot a snack ;] .. botsnack responses \
37
can be added with botsnack-add', 'botsnack')
39
def handle_addbotsnack(bot, ievent):
40
""" botsnack-add <reply> .. add botsnack reply """
42
ievent.missing('<what>')
45
bsl.data.append(ievent.rest)
47
ievent.reply('botsnack added')
49
cmnds.add('botsnack-add', handle_addbotsnack, 'OPER', allowqueue=False)
50
examples.add('botsnack-add', 'botsnack-add <what> .. add a botsnack \
51
response, <nick> can be used to show nick of user giving the command', \
52
'botsnack-add thnx <nick> ;]')
54
def handle_listbotsnack(bot, ievent):
55
""" botscnack-list .. list botsnack replies """
56
ievent.reply(str(bsl.data))
58
cmnds.add('botsnack-list', handle_listbotsnack, 'OPER')
59
examples.add('botsnack-list', 'show list of botsnack replies', 'botsnack-list')
61
def handle_delbotsnack(bot, ievent):
62
""" botsnack-del <reply> .. delete botsnack reply """
64
ievent.missing('<txt>')
67
bsl.data.remove(ievent.rest)
70
ievent.reply('i have no %s in botsnacklist' % ievent.rest)
72
ievent.reply('botsnack %s removed' % ievent.rest)
74
cmnds.add('botsnack-del', handle_delbotsnack, 'OPER')
75
examples.add('botsnack-del', 'delete entry from botsnack list', 'botsnack-del \