4
0
mirror of https://github.com/cwinfo/matterbridge.git synced 2025-07-03 11:57:45 +00:00

Use own slack fork to fix #937 (#943)

This commit is contained in:
Wim
2019-11-14 00:04:39 +01:00
committed by GitHub
parent ed5386c213
commit aba86855b5
7 changed files with 37 additions and 4 deletions

View File

@ -61,7 +61,7 @@ func (b *Blocks) UnmarshalJSON(data []byte) error {
case "section":
block = &SectionBlock{}
default:
return errors.New("unsupported block type")
block = &UnknownBlock{}
}
err = json.Unmarshal(r, block)
@ -127,7 +127,7 @@ func (b *BlockElements) UnmarshalJSON(data []byte) error {
case "static_select", "external_select", "users_select", "conversations_select", "channels_select":
blockElement = &SelectBlockElement{}
default:
return errors.New("unsupported block element type")
blockElement = &UnknownBlockElement{}
}
err = json.Unmarshal(r, blockElement)

View File

@ -62,6 +62,20 @@ type BlockElements struct {
ElementSet []BlockElement `json:"elements,omitempty"`
}
// UnknownBlockElement any block element that this library does not directly support.
// See the "Rich Elements" section at the following URL:
// https://api.slack.com/changelog/2019-09-what-they-see-is-what-you-get-and-more-and-less
// New block element types may be introduced by Slack at any time; this is a catch-all for any such block elements.
type UnknownBlockElement struct {
Type MessageElementType `json:"type"`
Elements BlockElements
}
// ElementType returns the type of the Element
func (s UnknownBlockElement) ElementType() MessageElementType {
return s.Type
}
// ImageBlockElement An element to insert an image - this element can be used
// in section and context blocks only. If you want a block with only an image
// in it, you're looking for the image block.

14
vendor/github.com/nlopes/slack/block_unknown.go generated vendored Normal file
View File

@ -0,0 +1,14 @@
package slack
// UnknownBlock represents a block type that is not yet known. This block type exists to prevent Slack from introducing
// new and unknown block types that break this library.
type UnknownBlock struct {
Type MessageBlockType `json:"type"`
BlockID string `json:"block_id,omitempty"`
Elements BlockElements `json:"elements"`
}
// BlockType returns the type of the block
func (b UnknownBlock) BlockType() MessageBlockType {
return b.Type
}

View File

@ -1,4 +1,4 @@
module github.com/nlopes/slack
module github.com/matterbridge/slack
require (
github.com/davecgh/go-spew v1.1.1 // indirect