def on_invite(self, connection, event): """Join a channel upon invitation""" self.source = event.source().split("@", 1)[0] self.target = irclib.nm_to_n(event.source()) if self.source in self.admins: self.join_channel(event.arguments()[0])
def on_action(self, connection, event): """Handle IRC actions""" target = event.target() source = irclib.nm_to_n(event.source()) msg = event.arguments()[0] self.log.info(unicode("-%s- * %s %s" % (target, source, msg), "utf-8"))
def on_action(self, connection, event): """Handle IRC actions""" self.source = event.source().split("@", 1)[0] self.target = event.target() nick = irclib.nm_to_n(event.source()) msg = event.arguments()[0] self.log.info("%s * %s %s" % (self.target, nick, msg))
def on_pubnotice(self, connection, event): """Handle public notices""" target = event.target() source = irclib.nm_to_n(event.source()) msg = event.arguments()[0] self.log.info(unicode("-%s- <%s> %s" % (target, source, msg), "utf-8"))
def on_pubmsg(self, connection, event): """Handle public messages""" self.source = event.source().split("@", 1)[0] self.target = event.target() nick = irclib.nm_to_n(event.source()) msg = event.arguments()[0] self.log.info("%s <%s> %s" % (self.target, nick, msg)) self.poll_messages(msg)
def on_privmsg(self, connection, event): """Handle private messages""" self.source = event.source().split("@", 1)[0] self.target = irclib.nm_to_n(event.source()) msg = event.arguments()[0] if self.target != self.nick: self.log.info("<%s> %s" % (self.target, msg)) self.poll_messages(msg, private=True)
def on_ctcp(self, connection, event): """Respond to CTCP events""" self.source = irclib.nm_to_n(event.source()) ctcp = event.arguments()[0] if ctcp == "VERSION": self.log.info("Received CTCP VERSION from %s" % self.source) connection.ctcp_reply(self.source, "VERSION %s" % self.version) elif ctcp == "PING": if len(event.arguments()) > 1: self.log.info("Received CTCP PING from %s" % self.source) connection.ctcp_reply(self.source, "PING %s" % event.arguments()[1])
def on_kick(self, connection, event): """Automatically rejoin channel if kicked""" source = irclib.nm_to_n(event.source()) target = event.target() nick, reason = event.arguments() if nick == self.nick: self.log.info("-%s- kicked by %s: %s" % (target, source, reason)) self.log.info("-%s- rejoining in %d seconds" % (target, self.rejoin_delay)) time.sleep(self.rejoin_delay) connection.join(target) else: self.log.info("-%s- %s was kicked by %s: %s" % (target, nick, source, reason))
def on_privnotice(self, connection, event): """Handle private notices""" source = irclib.nm_to_n(event.source()) msg = event.arguments()[0] self.log.info(unicode("-%s- %s" % (source, msg), "utf-8"))
def on_quit(self, connection, event): """Handle quits""" source = irclib.nm_to_n(event.source()) self.log.info("%s quit" % source)
def on_part(self, connection, event): """Handle parts""" target = event.target() source = irclib.nm_to_n(event.source()) self.log.info("-%s- %s left" % (target, source))
def on_join(self, connection, event): """Handle joins""" target = event.target() source = irclib.nm_to_n(event.source()) self.log.info("-%s- %s joined" % (target, source))