do voice on join
autovoice callback
autovoice-off .. disable autovoice for the channel the command was given in
autovoice-on .. enable autovoice for channel the command was given in.
precondition on auto-op .. we must be op
# gplugs/autovoice.py # # """ do voice on join """ __status__ = "seen"
from gozerbot.commands import cmnds from gozerbot.callbacks import callbacks from gozerbot.examples import examples from gozerbot.plughelp import plughelp from gozerbot.tests import tests
plughelp.add('autovoice', 'enable auto voicing of people join .. commands work for the channels the commands are given in')
def preautovoice(bot, ievent): """ precondition on auto-op .. we must be op """ if ievent.channel in bot.state['opchan']: return 1 def cbautovoice(bot, ievent): """ autovoice callback """ chandata = 0 try: chandata = bot.channels[ievent.channel]['autovoice'] except KeyError: return if chandata: bot.voice(ievent.channel, ievent.nick) callbacks.add('JOIN', cbautovoice, preautovoice)
def handle_autovoiceon(bot, ievent): """ autovoice-on .. enable autovoice for channel the command was given in. """ try: bot.channels[ievent.channel]['autovoice'] = 1 except TypeError: ievent.reply('no %s in channel database' % ievent.channel) ; return ievent.reply('autovoice enabled on %s' % ievent.channel) cmnds.add('autovoice-on', handle_autovoiceon, 'OPER') examples.add('autovoice-on', 'enable autovoice on channel in which the command is given', 'autovoice-on')
def handle_autovoiceoff(bot, ievent): """ autovoice-off .. disable autovoice for the channel the command was given in """ try: bot.channels[ievent.channel]['autovoice'] = 0 ievent.reply('autovoice disabled on %s' % ievent.channel) except TypeError: ievent.reply('no %s channel in database' % ievent.channel) cmnds.add('autovoice-off', handle_autovoiceoff, 'OPER') examples.add('autovoice-off', 'disable autovoice on channel in which the command is given', 'autovoice-off') tests.add('autovoice-on --chan #dunkbots', 'enabled').fakein(':dunker!mekker@127.0.0.1 JOIN #dunkbots').add('autovoice-off --chan #dunkbots', 'disabled')