The Go SDK and docs are currently in beta.
Report issues on GitHub.
Supported Types
InputText
inputMessageItemContentUnion := components.CreateInputMessageItemContentUnionInputText(components.InputText{/* values here */})
InputMessageItemContentInputImage
inputMessageItemContentUnion := components.CreateInputMessageItemContentUnionInputImage(components.InputMessageItemContentInputImage{/* values here */})
InputFile
inputMessageItemContentUnion := components.CreateInputMessageItemContentUnionInputFile(components.InputFile{/* values here */})
InputAudio
inputMessageItemContentUnion := components.CreateInputMessageItemContentUnionInputAudio(components.InputAudio{/* values here */})
InputVideo
inputMessageItemContentUnion := components.CreateInputMessageItemContentUnionInputVideo(components.InputVideo{/* values here */})
Union Discrimination
Use theType field to determine which variant is active, then access the corresponding field:
switch inputMessageItemContentUnion.Type {
case components.InputMessageItemContentUnionTypeInputText:
// inputMessageItemContentUnion.InputText is populated
case components.InputMessageItemContentUnionTypeInputImage:
// inputMessageItemContentUnion.InputMessageItemContentInputImage is populated
case components.InputMessageItemContentUnionTypeInputFile:
// inputMessageItemContentUnion.InputFile is populated
case components.InputMessageItemContentUnionTypeInputAudio:
// inputMessageItemContentUnion.InputAudio is populated
case components.InputMessageItemContentUnionTypeInputVideo:
// inputMessageItemContentUnion.InputVideo is populated
}