def watchcallback(bot, event): """ the watcher callback, see if channels are followed and if so send data. """ #if not event.allowwatch: logging.warn("watch - allowwatch is not set - ignoring %s" % event.userhost) ; return subscribers = watched.subscribers(event.channel) watched.data.descriptions[event.channel.lower()] = event.title logging.info("watcher - %s - %s" % (event.channel, str(subscribers))) for item in subscribers: try: try: (botname, type, channel) = item except ValueError: continue if not event.allowatch: pass elif channel not in event.allowwatch: logging.warn("watcher - allowwatch denied %s - %s" % (channel, event.allowwatch)) ; continue m = formatevent(bot, event, subscribers, True) if event.cbtype in ['OUTPUT', 'JOIN', 'PART', 'QUIT', 'NICK']: txt = u"[!] %s" % m.txt else: txt = u"[%s] %s" % (m.nick or event.nick or event.auth, m.txt) if txt.count('] [') > 2: logging.debug("watcher - %s - skipping %s" % (type, txt)) ; continue logging.warn("watcher - forwarding to %s" % channel) writeout(botname, type, channel, txt, event.tojson()) except Exception, ex: handle_exception()
def log(bot, event): """ format an event and send it to the logging backend. """ m = formatevent(bot, event, cfg.get("channels")) if m["txt"]: write(m)
def log(bot, event): m = formatevent(bot, event, cfg.get("channels")) if m["txt"]: write(m)
def log(bot, event): """ format an event and send it to the logging backend. """ m = formatevent(bot, event, cfg.get("channels") or []) if m["txt"]: write(m)