Advertisement
Guest User

braai

a guest
Dec 6th, 2014
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. features['braai'] = {
  2. 'description': u'Braais for people',
  3. 'categories': ('fun', 'monitor',),
  4. }
  5. class Braai(Processor):
  6. usage = u'braai (on|please)'
  7. feature = ('braai',)
  8.  
  9. placesOnGrid = {}
  10.  
  11. time = IntOption('braai_time', u'Brewing time in seconds', 900)
  12. spaces = IntOption('grid_spaces', u'Maximum number of cups', 16)
  13.  
  14. def braai_announce(self, event):
  15. event.addresponse(u"Braai's ready for %s!",
  16. human_join(self.pots[(event.source, event.channel)]))
  17. del self.placesOnGrid[(event.source, event.channel)]
  18.  
  19. @match(r'^braai\s+on$')
  20. def braai_on(self, event):
  21. if (event.source, event.channel) in self.placesOnGrid:
  22. if len(self.placesOnGrid[(event.source, event.channel)]) >= self.spaces:
  23. event.addresponse(u"There's already a braai on, and it's all reserved")
  24. elif event.sender['nick'] in self.pots[(event.source, event.channel)]:
  25. event.addresponse(u"You already have a braai on the go")
  26. else:
  27. event.addresponse(u"There's already a braai on. If you ask nicely, maybe you can have a bite")
  28. return
  29.  
  30. self.placesOnGrid[(event.source, event.channel)] = [event.sender['nick']]
  31. ibid.dispatcher.call_later(self.time, self.braai_announce, event)
  32.  
  33. event.addresponse(choice((
  34. u'puts the braai on',
  35. u'gets a beer',
  36. )), action=True)
  37.  
  38. @match('^braai\s+(?:please|pls)$')
  39. def braai_accept(self, event):
  40. if (event.source, event.channel) not in self.pots:
  41. event.addresponse(u"There isn't a braai on")
  42.  
  43. elif len(self.placesOnGrid[(event.source, event.channel)]) >= self.spaces:
  44. event.addresponse(u"Sorry, out of meat")
  45.  
  46. elif event.sender['nick'] in self.placesOnGrid[(event.source, event.channel)]:
  47. event.addresponse(u"Now now, we don't want anyone eating too much")
  48.  
  49. else:
  50. self.placesOnGrid[(event.source, event.channel)].append(event.sender['nick'])
  51. event.addresponse(True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement