示例#1
0
文件: irc.py 项目: comstud/pyhole
    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])
示例#2
0
文件: irc.py 项目: SandyWalsh/pyhole
    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"))
示例#3
0
文件: irc.py 项目: comstud/pyhole
    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))
示例#4
0
文件: irc.py 项目: SandyWalsh/pyhole
    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"))
示例#5
0
文件: irc.py 项目: comstud/pyhole
    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)
示例#6
0
文件: irc.py 项目: comstud/pyhole
    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)
示例#7
0
文件: irc.py 项目: comstud/pyhole
    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])
示例#8
0
文件: irc.py 项目: SandyWalsh/pyhole
    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))
示例#9
0
文件: irc.py 项目: SandyWalsh/pyhole
    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"))
示例#10
0
文件: irc.py 项目: SandyWalsh/pyhole
 def on_quit(self, connection, event):
     """Handle quits"""
     source = irclib.nm_to_n(event.source())
     self.log.info("%s quit" % source)
示例#11
0
文件: irc.py 项目: SandyWalsh/pyhole
 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))
示例#12
0
文件: irc.py 项目: SandyWalsh/pyhole
 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))