gplugs.autovoice

do voice on join

gplugs.autovoice.cbautovoice(bot, ievent)

autovoice callback

gplugs.autovoice.handle_autovoiceoff(bot, ievent)

autovoice-off .. disable autovoice for the channel the command was given in

gplugs.autovoice.handle_autovoiceon(bot, ievent)

autovoice-on .. enable autovoice for channel the command was given in.

gplugs.autovoice.preautovoice(bot, ievent)

precondition on auto-op .. we must be op

CODE

# gplugs/autovoice.py
#
#

""" do voice on join """

__status__ = "seen"

gozerbot imports

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

plughelp.add('autovoice', 'enable auto voicing of people join .. commands work for the channels the commands are given in')

preautvoice precondition

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)

autovoice-on command

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')

autovoince-off command

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')

Table Of Contents

Previous topic

gplugs.autoreply

Next topic

gplugs.away

This Page