def init(): global lastline lastline = LastLine() callbacks.add('PRIVMSG', lastline.privmsgcb, lastline.precb) rebefore.add(10, sed_expression, handle_sed, 'USER', allowqueue=False) examples.add('s', 'Perform substitution on last message spoken.', 's/foo/bar/') return 1
try: (what, description) = ievent.groups except ValueError: ievent.reply('i need <item> <description>') return if len(description) < 3: ievent.reply('i need at least 3 chars for the description') return what = what.strip() ret = info.add(what, description, ievent.userhost, time.time()) if ret: ievent.reply('item added') else: ievent.reply('unable to add item') rebefore.add(10, '^(.+?)\s+=\s+(.+)$', handle_addinfoitem, ['USER', \ 'INFOADD'], allowqueue=False) examples.add('=', 'add description to item', 'dunk = top') tests.add('gozerbot = top bot', 'item added') def handle_question(bot, ievent): """ <keyword>? .. ask for information item description """ try: what = ievent.groups[0] except IndexError: ievent.reply('i need a argument') return what = what.strip().lower() infoitems = info.get(what) if infoitems: ievent.reply("%s is " % what, infoitems, dot=True) else:
def handle_karmaup(bot, ievent): """ <item>++ ['#' <reason>] .. increase karma of item with optional \ reason """ if not ratelimit(bot, ievent): return (item, reason) = ievent.groups item = item.strip().lower() if not item: return karma.upitem(item, reason=reason) karma.setwhoup(item, ievent.nick) ievent.reply('karma of ' + item + ' is now ' + str(karma.get(item))) rebefore.add(8, '^(.+)\+\+\s+#(.*)$', handle_karmaup, ['USER', 'KARMA', \ 'ANONKARMA'], allowqueue=False) examples.add( '++', "<item>++ ['#' <reason>] .. higher karma of item with 1 \ (use optional reason)", '1) gozerbot++ 2) gozerbot++ # top bot') tests.add('gozerbot++', 'karma of gozerbot is now (\d+)') tests.add('gozerbot++ # top bot', 'karma of gozerbot is now (\d+)') def handle_karmaup2(bot, ievent): """ increase karma without reason """ ievent.groups += [ None, ] handle_karmaup(bot, ievent) rebefore.add(9, '^(.+)\+\+$', handle_karmaup2, ['USER', 'ANONKARMA'], \
tests.add('boozer--').add('karma-del boozer', 'boozer deleted') def handle_karmaup(bot, ievent): """ <item>++ ['#' <reason>] .. increase karma of item with optional \ reason """ if not ratelimit(bot, ievent): return (item, reason) = ievent.groups item = item.strip().lower() if not item: return karma.upitem(item, reason=reason) karma.setwhoup(item, ievent.nick) ievent.reply('karma of '+ item + ' is now ' + str(karma.get(item))) rebefore.add(8, '^(.+)\+\+\s+#(.*)$', handle_karmaup, ['USER', 'KARMA', \ 'ANONKARMA'], allowqueue=False) examples.add('++', "<item>++ ['#' <reason>] .. higher karma of item with 1 \ (use optional reason)", '1) gozerbot++ 2) gozerbot++ # top bot') tests.add('gozerbot++', 'karma of gozerbot is now (\d+)') tests.add('gozerbot++ # top bot', 'karma of gozerbot is now (\d+)') def handle_karmaup2(bot, ievent): """ increase karma without reason """ ievent.groups += [None, ] handle_karmaup(bot, ievent) rebefore.add(9, '^(.+)\+\+$', handle_karmaup2, ['USER', 'ANONKARMA'], \ allowqueue=False) def handle_karmadown(bot, ievent): """ <item>-- ['#' <reason> .. decrease karma item with reason """