code: func (t *ButtonsTemplate) MarshalJSON() ([]byte, error) {
  	return json.Marshal(&struct {
  		Type                 TemplateType         `json:"type"`
  		ThumbnailImageURL    string               `json:"thumbnailImageUrl,omitempty"`
  		ImageAspectRatio     ImageAspectRatioType `json:"imageAspectRatio,omitempty"`
  		ImageSize            ImageSizeType        `json:"imageSize,omitempty"`
  		ImageBackgroundColor string               `json:"imageBackgroundColor,omitempty"`
  		Title                string               `json:"title,omitempty"`
  		Text                 string               `json:"text"`
  		Actions              []TemplateAction     `json:"actions"`
  	}{
  		Type:                 TemplateTypeButtons,
  		ThumbnailImageURL:    t.ThumbnailImageURL,
  		ImageAspectRatio:     t.ImageAspectRatio,
  		ImageSize:            t.ImageSize,
  		ImageBackgroundColor: t.ImageBackgroundColor,
  		Title:                t.Title,
  		Text:                 t.Text,
  		Actions:              t.Actions,
  	})
  }
docs: // MarshalJSON method of ButtonsTemplate