def privmsg(self, user, channel, msg):
        if not user:
            return
        
        if channel == self.nickname:
            user = user.split('!', 1)[0]
            channel = user
            
            if user in self.nickExcludeList:
                return

            if user == 'Capn_Refsmmat':
                if msg.startswith('say'):
                    msg = msg.split(' ', 2)
                    self.msg(msg[1], msg[2])
                    print "Speaking on command in %s: '%s'" % (msg[1], msg[2])
                    return
                
                if msg.startswith('rhyme'):
                    msg = msg.split(' ', 2)
                    channel = msg[1]
                    msg = msg[2]
                    print "Rhyming on command in %s: '%s'" % (channel, msg)

                if msg.startswith('act'):
                    msg = msg.split(' ', 2)
                    self.describe(msg[1], msg[2].strip())
                    print "Acting on command in %s: '%s'" % (msg[1], msg[2])
                    return
            
            prefix = True
        elif self.nickname in msg.lower():
            msg = re.compile(self.nickname + "[:,]* ?", re.I).sub('', msg)
            prefix = "%s: " % (user.split('!', 1)[0], )
        else:
            prefix = ''
        
        if prefix or random.random() <= self.chatFraction:
            self.gen.poem = [msg,]
            line = self.gen.getLine(random.choice(self.brains), 1)
            if len(line) >= 0:
                return
            line[-1] = self.gen.cleanWord(line[-1])
            rhyme = " ".join(line) + random.choice(['!', '?', '.'])
            self.msg(channel, str(rhyme))
            print "%s: '%s'" % (channel, rhyme) 

    # don't reply to automated messages!
dataset/ETHPy150Open capnrefsmmat/seuss/seuss.py/SeussBot.privmsg/operator `==` -> `>=`