~ubuntu-branches/ubuntu/utopic/gozerbot/utopic

« back to all changes in this revision

Viewing changes to debian/gozerbot/usr/lib/python2.5/site-packages/gozerplugs/plugs/botsnack.py

  • Committer: Bazaar Package Importer
  • Author(s): Jeremy Malcolm
  • Date: 2009-09-14 09:00:29 UTC
  • mfrom: (1.1.4 upstream) (3.1.5 sid)
  • Revision ID: james.westby@ubuntu.com-20090914090029-uval0ekt72kmklxw
Tags: 0.9.1.3-3
Changed dependency on python-setuptools to python-pkg-resources
(Closes: #546435) 

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# plugs/botsnack.py
2
 
#
3
 
#
4
 
 
5
 
""" eat it """
6
 
 
7
 
__copyright__ = 'this file is in the public domain'
8
 
 
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
14
 
import random, os
15
 
 
16
 
plughelp.add('botsnack', 'give the bot a snack')
17
 
 
18
 
# called persist init on datadir/bsl file
19
 
bsl = Persist(datadir + os.sep + 'bsl')
20
 
 
21
 
# if data attribute is not initted set it to an empty list
22
 
if not bsl.data:
23
 
    bsl.data = []
24
 
 
25
 
def handle_botsnack(bot, ievent):
26
 
    """ botsnack .. give botsnack reply """
27
 
    if bsl.data:
28
 
        result = random.choice(bsl.data)
29
 
        result = result.replace('<nick>', ievent.nick)
30
 
        result = result.replace('<host>', ievent.userhost)
31
 
        ievent.reply(result)
32
 
    else:
33
 
        ievent.reply('smikkel ;]')
34
 
 
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')
38
 
 
39
 
def handle_addbotsnack(bot, ievent):
40
 
    """ botsnack-add <reply> .. add botsnack reply """
41
 
    if not ievent.rest:
42
 
        ievent.missing('<what>')
43
 
        return
44
 
    # append and save
45
 
    bsl.data.append(ievent.rest)
46
 
    bsl.save()
47
 
    ievent.reply('botsnack added')
48
 
 
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> ;]')
53
 
 
54
 
def handle_listbotsnack(bot, ievent):
55
 
    """ botscnack-list .. list botsnack replies """
56
 
    ievent.reply(str(bsl.data))
57
 
 
58
 
cmnds.add('botsnack-list', handle_listbotsnack, 'OPER')
59
 
examples.add('botsnack-list', 'show list of botsnack replies', 'botsnack-list')
60
 
 
61
 
def handle_delbotsnack(bot, ievent):
62
 
    """ botsnack-del <reply> .. delete botsnack reply """
63
 
    if not ievent.rest:
64
 
        ievent.missing('<txt>')
65
 
        return
66
 
    try:
67
 
        bsl.data.remove(ievent.rest)
68
 
        bsl.save()
69
 
    except ValueError:
70
 
        ievent.reply('i have no %s in botsnacklist' % ievent.rest)
71
 
        return
72
 
    ievent.reply('botsnack %s removed' % ievent.rest)
73
 
 
74
 
cmnds.add('botsnack-del', handle_delbotsnack, 'OPER')
75
 
examples.add('botsnack-del', 'delete entry from botsnack list', 'botsnack-del \
76
 
thnx <nick> ;]')