code: func (api *Client) SendMessageContext(ctx context.Context, channelID string, options ...MsgOption) (channel string, timestamp string, text string, err error) {
  	var (
  		config   sendConfig
  		response chatResponseFull
  	)
  
  	if config, err = applyMsgOptions(api.token, channelID, api.endpoint, options...); err != nil {
  		return "", "", "", err
  	}
  
  	if err = postForm(ctx, api.httpclient, config.endpoint, config.values, &response, api); err != nil {
  		return "", "", "", err
  	}
  
  	return response.Channel, response.getMessageTimestamp(), response.Text, response.Err()
  }
docs: // SendMessageContext more flexible method for configuring messages with a custom context.