code: func (a *MessageAction) MarshalJSON() ([]byte, error) {
  	return json.Marshal(&struct {
  		Type  ActionType `json:"type"`
  		Label string     `json:"label,omitempty"`
  		Text  string     `json:"text"`
  	}{
  		Type:  ActionTypeMessage,
  		Label: a.Label,
  		Text:  a.Text,
  	})
  }
docs: // MarshalJSON method of MessageAction