コード例 #1
0
ファイル: dispatch.py プロジェクト: code2u/jsb
                e.makeoptions()
            e.bind(bot)
            if event.chan and e.usercmnd in event.chan.data.silentcommands:
                e.silent = True
            e.shouldwait = True
            result = bot.plugs.dispatch(bot, e)
        else:
            logging.debug("dispatch - no go for %s (cc is %s)" % (event.auth or event.userhost, execstr))
            result = None
    except NoSuchUser, ex:
        logging.error("no such user: %s" % str(ex))
        result = None
    except NoSuchCommand:
        logging.info("no such command: %s" % event.usercmnd)
        result = None
    return result


## register callback

last_callbacks.add("PRIVMSG", dispatch, predispatch)
last_callbacks.add("MESSAGE", dispatch, predispatch)
last_callbacks.add("BLIP_SUBMITTED", dispatch, predispatch)
last_callbacks.add("WEB", dispatch, predispatch)
last_callbacks.add("CONSOLE", dispatch, predispatch)
last_callbacks.add("DCC", dispatch, predispatch)
last_callbacks.add("DISPATCH", dispatch, predispatch)
last_callbacks.add("CMND", dispatch, predispatch)
last_callbacks.add("CONVORE", dispatch, predispatch)
last_callbacks.add("TORNADO", dispatch, predispatch)
コード例 #2
0
    logging.debug("dispatch - execstr is %s" % execstr)
    try:
        if execstr:
            event.iscommand = True
            event.dontclose = True
            e = cpy(event)
            e.usercmnd = execstr.split()[0]
            e.txt = execstr
            e.showexception = True
            if not e.options: e.makeoptions()
            e.bind(bot)
            if e.usercmnd in event.chan.data.silentcommands: e.silent = True
            result = bot.plugs.dispatch(bot, e)
        else:
            logging.debug("dispatch - no go for %s (cc is %s)" % (event.auth or event.userhost, execstr))
            result =  None
    except NoSuchUser, ex: logging.error("no such user: %s" % str(ex)) ; result = None
    except NoSuchCommand: logging.info("no such command: %s" % event.usercmnd) ; result = None
    return result

## register callback

last_callbacks.add('PRIVMSG', dispatch, predispatch)
last_callbacks.add('MESSAGE', dispatch, predispatch)
last_callbacks.add('BLIP_SUBMITTED', dispatch, predispatch)
last_callbacks.add('WEB', dispatch, predispatch)
last_callbacks.add('CONSOLE', dispatch, predispatch)
last_callbacks.add('DCC', dispatch, predispatch)
last_callbacks.add('DISPATCH', dispatch, predispatch)
last_callbacks.add('CMND', dispatch, predispatch)
コード例 #3
0
ファイル: dispatch.py プロジェクト: Petraea/jsonbot
    if event.userhost in bot.ignore: logging.warn("%s - ignore on %s" % (bot.name, event.userhost)) ; return
    if event.nodispatch:
        logging.warn("dispatch - nodispatch option is set - ignoring %s" % event.userhost)
        return
    bot.status = "dispatch"
    event.bind(bot)
    if event.iscommand or event.hascc() or event.wouldmatchre():
        try:
            event.iscommand = True
            if not event.options: event.makeoptions()
            try: result = event.execute()
            except NoSuchCommand, ex:
                logging.warn("no such command: %s" % event.usercmnd)
                if event.giveresponse: event.reply("no %s command found" % str(ex).strip())
                event.launched() ; event.ready()
        except Exception, ex: handle_exception()
    else:
        logging.debug("dispatch - no go for %s" % event.auth or event.userhost)
        event.launched() ; event.ready()

## register callback

last_callbacks.add('PRIVMSG', dispatch, predispatch, speed=3, force=True)
last_callbacks.add('MESSAGE', dispatch, predispatch, force=True)
last_callbacks.add('WEB', dispatch, predispatch, force=True)
last_callbacks.add('CONSOLE', dispatch, predispatch, force=True)
last_callbacks.add('DCC', dispatch, predispatch, force=True)
last_callbacks.add('DISPATCH', dispatch, predispatch, force=True)
last_callbacks.add('CMND', dispatch, predispatch, force=True)
last_callbacks.add('TORNADO', dispatch, predispatch, force=True)