def doMode(self, irc, msg):
        if self.disabled(irc):
            return
        chanserv = self.registryValue('ChanServ')
        on = 'on %s' % irc.network
        if ircutils.strEqual(msg.nick, chanserv):
            channel = msg.args[0]
            if len(msg.args) == 3:
                if ircutils.strEqual(msg.args[2], irc.nick):
                    mode = msg.args[1]
                    info = self.log.info
                    if mode == '+o':
                        info('Received op from ChanServ in %s %s.',
                             channel, on)
                    elif mode == '+h':
                        info('Received halfop from ChanServ in %s %s.',
                             channel, on)
                    elif mode == '+v':
                        info('Received voice from ChanServ in %s %s.',
                             channel, on)
dataset/ETHPy150Open ProgVal/Limnoria/plugins/Services/plugin.py/Services.doMode/original