code: func (api *Client) SetUserPhotoContext(ctx context.Context, image string, params UserSetPhotoParams) error {
  	response := &SlackResponse{}
  	values := url.Values{
  		"token": {api.token},
  	}
  	if params.CropX != DEFAULT_USER_PHOTO_CROP_X {
  		values.Add("crop_x", strconv.Itoa(params.CropX))
  	}
  	if params.CropY != DEFAULT_USER_PHOTO_CROP_Y {
  		values.Add("crop_y", strconv.Itoa(params.CropX))
  	}
  	if params.CropW != DEFAULT_USER_PHOTO_CROP_W {
  		values.Add("crop_w", strconv.Itoa(params.CropW))
  	}
  
  	err := postLocalWithMultipartResponse(ctx, api.httpclient, api.endpoint+"users.setPhoto", image, "image", values, response, api)
  	if err != nil {
  		return err
  	}
  
  	return response.Err()
  }
docs: // SetUserPhotoContext changes the currently authenticated user's profile image using a custom context