code: func (api *Client) OpenIMChannelContext(ctx context.Context, user string) (bool, bool, string, error) {
  	values := url.Values{
  		"token": {api.token},
  		"user":  {user},
  	}
  
  	response, err := api.imRequest(ctx, "im.open", values)
  	if err != nil {
  		return false, false, "", err
  	}
  	return response.NoOp, response.AlreadyOpen, response.Channel.ID, nil
  }
docs: // OpenIMChannelContext opens a direct message channel to the user provided as argument with a custom context
  // Returns some status and the channel ID