2019-09-07 20:46:58 +00:00
|
|
|
package slack
|
|
|
|
|
|
|
|
// ActionBlock defines data that is used to hold interactive elements.
|
|
|
|
//
|
|
|
|
// More Information: https://api.slack.com/reference/messaging/blocks#actions
|
|
|
|
type ActionBlock struct {
|
|
|
|
Type MessageBlockType `json:"type"`
|
|
|
|
BlockID string `json:"block_id,omitempty"`
|
2020-12-31 13:48:12 +00:00
|
|
|
Elements *BlockElements `json:"elements"`
|
2019-09-07 20:46:58 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// BlockType returns the type of the block
|
|
|
|
func (s ActionBlock) BlockType() MessageBlockType {
|
|
|
|
return s.Type
|
|
|
|
}
|
|
|
|
|
|
|
|
// NewActionBlock returns a new instance of an Action Block
|
|
|
|
func NewActionBlock(blockID string, elements ...BlockElement) *ActionBlock {
|
|
|
|
return &ActionBlock{
|
|
|
|
Type: MBTAction,
|
|
|
|
BlockID: blockID,
|
2020-12-31 13:48:12 +00:00
|
|
|
Elements: &BlockElements{
|
2019-09-07 20:46:58 +00:00
|
|
|
ElementSet: elements,
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|