Пример #1
0
    def __init__(self, host, port, nick, user, password):
        self.client = IRCClient(host, port, nick, user, password)
        self.history = ListPropertyModel("History")
        self.channels = ListPropertyModel("Channels")
        self.members = ListPropertyModel("Members")
        self.curr_channel = Watcher(self.channels.selected)

        def update_history(msgtype, source, msg):
            self.history.append("%-20s %s" % (source.split("!", 1)[0], msg))

        def select_channel(prev_channel):
            if prev_channel:
                prev_channel.leave()
            del self.history[:]
            del self.members[:]
            self.curr_channel.listen(update_history)
            self.members.extend(self.curr_channel.list_members())

        self.curr_channel.when_changed(select_channel)