'We run the parent parser as usual, then fix the result'

def parse(self):

    super(MuxPlayerCommand, self).parse()
    if utils.inherits_from(self.caller, 'evennia.objects.objects.DefaultObject'):
        self.character = self.caller
        self.caller = self.caller.player
    elif utils.inherits_from(self.caller, 'evennia.players.players.DefaultPlayer'):
        self.character = self.caller.get_puppet(self.session)
    else:
        self.character = None
