@@ -250,6 +250,8 @@ <h3>Inherited members</h3>
250250 return CallBlock(**block)
251251 elif type == HeaderBlock.type:
252252 return HeaderBlock(**block)
253+ elif type == MarkdownBlock.type:
254+ return MarkdownBlock(**block)
253255 elif type == VideoBlock.type:
254256 return VideoBlock(**block)
255257 elif type == RichTextBlock.type:
@@ -283,6 +285,7 @@ <h3>Subclasses</h3>
283285< li > < a title ="slack_sdk.models.blocks.blocks.HeaderBlock " href ="blocks.html#slack_sdk.models.blocks.blocks.HeaderBlock "> HeaderBlock</ a > </ li >
284286< li > < a title ="slack_sdk.models.blocks.blocks.ImageBlock " href ="blocks.html#slack_sdk.models.blocks.blocks.ImageBlock "> ImageBlock</ a > </ li >
285287< li > < a title ="slack_sdk.models.blocks.blocks.InputBlock " href ="blocks.html#slack_sdk.models.blocks.blocks.InputBlock "> InputBlock</ a > </ li >
288+ < li > < a title ="slack_sdk.models.blocks.blocks.MarkdownBlock " href ="blocks.html#slack_sdk.models.blocks.blocks.MarkdownBlock "> MarkdownBlock</ a > </ li >
286289< li > < a title ="slack_sdk.models.blocks.blocks.RichTextBlock " href ="blocks.html#slack_sdk.models.blocks.blocks.RichTextBlock "> RichTextBlock</ a > </ li >
287290< li > < a title ="slack_sdk.models.blocks.blocks.SectionBlock " href ="blocks.html#slack_sdk.models.blocks.blocks.SectionBlock "> SectionBlock</ a > </ li >
288291< li > < a title ="slack_sdk.models.blocks.blocks.VideoBlock " href ="blocks.html#slack_sdk.models.blocks.blocks.VideoBlock "> VideoBlock</ a > </ li >
@@ -3579,6 +3582,113 @@ <h3>Inherited members</h3>
35793582</ li >
35803583</ ul >
35813584</ dd >
3585+ < dt id ="slack_sdk.models.blocks.MarkdownBlock "> < code class ="flex name class ">
3586+ < span > class < span class ="ident "> MarkdownBlock</ span > </ span >
3587+ < span > (</ span > < span > *, text: str, block_id: str | None = None, **others: dict)</ span >
3588+ </ code > </ dt >
3589+ < dd >
3590+ < details class ="source ">
3591+ < summary >
3592+ < span > Expand source code</ span >
3593+ </ summary >
3594+ < pre > < code class ="python "> class MarkdownBlock(Block):
3595+ type = "markdown"
3596+ text_max_length = 12000
3597+
3598+ @property
3599+ def attributes(self) -> Set[str]: # type: ignore[override]
3600+ return super().attributes.union({"text"})
3601+
3602+ def __init__(
3603+ self,
3604+ *,
3605+ text: str,
3606+ block_id: Optional[str] = None,
3607+ **others: dict,
3608+ ):
3609+ """Displays formatted markdown.
3610+ https://docs.slack.dev/reference/block-kit/blocks/markdown-block/
3611+
3612+ Args:
3613+ block_id: A string acting as a unique identifier for a block. If not specified, one will be generated.
3614+ Maximum length for this field is 255 characters.
3615+ block_id should be unique for each message and each iteration of a message.
3616+ If a message is updated, use a new block_id.
3617+ text (required): The standard markdown-formatted text. Limit 12,000 characters max.
3618+ """
3619+ super().__init__(type=self.type, block_id=block_id)
3620+ show_unknown_key_warning(self, others)
3621+
3622+ self.text = text
3623+
3624+ @JsonValidator("text attribute must be specified")
3625+ def _validate_text(self):
3626+ return self.text != ""
3627+
3628+ @JsonValidator(f"text attribute cannot exceed {text_max_length} characters")
3629+ def _validate_alt_text_length(self):
3630+ return len(self.text) <= self.text_max_length</ code > </ pre >
3631+ </ details >
3632+ < div class ="desc "> < p > Blocks are a series of components that can be combined
3633+ to create visually rich and compellingly interactive messages.
3634+ < a href ="https://api.slack.com/reference/block-kit/blocks "> https://api.slack.com/reference/block-kit/blocks</ a > </ p >
3635+ < p > Displays formatted markdown.
3636+ < a href ="https://docs.slack.dev/reference/block-kit/blocks/markdown-block/ "> https://docs.slack.dev/reference/block-kit/blocks/markdown-block/</ a > </ p >
3637+ < h2 id ="args "> Args</ h2 >
3638+ < dl >
3639+ < dt > < strong > < code > block_id</ code > </ strong > </ dt >
3640+ < dd > A string acting as a unique identifier for a block. If not specified, one will be generated.
3641+ Maximum length for this field is 255 characters.
3642+ block_id should be unique for each message and each iteration of a message.
3643+ If a message is updated, use a new block_id.</ dd >
3644+ < dt > < strong > < code > text</ code > </ strong > : < code > required</ code > </ dt >
3645+ < dd > The standard markdown-formatted text. Limit 12,000 characters max.</ dd >
3646+ </ dl > </ div >
3647+ < h3 > Ancestors</ h3 >
3648+ < ul class ="hlist ">
3649+ < li > < a title ="slack_sdk.models.blocks.blocks.Block " href ="blocks.html#slack_sdk.models.blocks.blocks.Block "> Block</ a > </ li >
3650+ < li > < a title ="slack_sdk.models.basic_objects.JsonObject " href ="../basic_objects.html#slack_sdk.models.basic_objects.JsonObject "> JsonObject</ a > </ li >
3651+ < li > < a title ="slack_sdk.models.basic_objects.BaseObject " href ="../basic_objects.html#slack_sdk.models.basic_objects.BaseObject "> BaseObject</ a > </ li >
3652+ </ ul >
3653+ < h3 > Class variables</ h3 >
3654+ < dl >
3655+ < dt id ="slack_sdk.models.blocks.MarkdownBlock.text_max_length "> < code class ="name "> var < span class ="ident "> text_max_length</ span > </ code > </ dt >
3656+ < dd >
3657+ < div class ="desc "> < p > The type of the None singleton.</ p > </ div >
3658+ </ dd >
3659+ < dt id ="slack_sdk.models.blocks.MarkdownBlock.type "> < code class ="name "> var < span class ="ident "> type</ span > </ code > </ dt >
3660+ < dd >
3661+ < div class ="desc "> < p > The type of the None singleton.</ p > </ div >
3662+ </ dd >
3663+ </ dl >
3664+ < h3 > Instance variables</ h3 >
3665+ < dl >
3666+ < dt id ="slack_sdk.models.blocks.MarkdownBlock.attributes "> < code class ="name "> prop < span class ="ident "> attributes</ span > : Set[str]</ code > </ dt >
3667+ < dd >
3668+ < details class ="source ">
3669+ < summary >
3670+ < span > Expand source code</ span >
3671+ </ summary >
3672+ < pre > < code class ="python "> @property
3673+ def attributes(self) -> Set[str]: # type: ignore[override]
3674+ return super().attributes.union({"text"})</ code > </ pre >
3675+ </ details >
3676+ < div class ="desc "> < p > Build an unordered collection of unique elements.</ p > </ div >
3677+ </ dd >
3678+ </ dl >
3679+ < h3 > Inherited members</ h3 >
3680+ < ul class ="hlist ">
3681+ < li > < code > < b > < a title ="slack_sdk.models.blocks.blocks.Block " href ="blocks.html#slack_sdk.models.blocks.blocks.Block "> Block</ a > </ b > </ code > :
3682+ < ul class ="hlist ">
3683+ < li > < code > < a title ="slack_sdk.models.blocks.blocks.Block.block_id_max_length " href ="blocks.html#slack_sdk.models.blocks.blocks.Block.block_id_max_length "> block_id_max_length</ a > </ code > </ li >
3684+ < li > < code > < a title ="slack_sdk.models.blocks.blocks.Block.get_non_null_attributes " href ="../basic_objects.html#slack_sdk.models.basic_objects.JsonObject.get_non_null_attributes "> get_non_null_attributes</ a > </ code > </ li >
3685+ < li > < code > < a title ="slack_sdk.models.blocks.blocks.Block.logger " href ="blocks.html#slack_sdk.models.blocks.blocks.Block.logger "> logger</ a > </ code > </ li >
3686+ < li > < code > < a title ="slack_sdk.models.blocks.blocks.Block.to_dict " href ="../basic_objects.html#slack_sdk.models.basic_objects.JsonObject.to_dict "> to_dict</ a > </ code > </ li >
3687+ < li > < code > < a title ="slack_sdk.models.blocks.blocks.Block.validate_json " href ="../basic_objects.html#slack_sdk.models.basic_objects.JsonObject.validate_json "> validate_json</ a > </ code > </ li >
3688+ </ ul >
3689+ </ li >
3690+ </ ul >
3691+ </ dd >
35823692< dt id ="slack_sdk.models.blocks.MarkdownTextObject "> < code class ="flex name class ">
35833693< span > class < span class ="ident "> MarkdownTextObject</ span > </ span >
35843694< span > (</ span > < span > *, text: str, verbatim: bool | None = None)</ span >
@@ -7465,6 +7575,14 @@ <h4><code><a title="slack_sdk.models.blocks.InteractiveElement" href="#slack_sdk
74657575< h4 > < code > < a title ="slack_sdk.models.blocks.LinkButtonElement " href ="#slack_sdk.models.blocks.LinkButtonElement "> LinkButtonElement</ a > </ code > </ h4 >
74667576</ li >
74677577< li >
7578+ < h4 > < code > < a title ="slack_sdk.models.blocks.MarkdownBlock " href ="#slack_sdk.models.blocks.MarkdownBlock "> MarkdownBlock</ a > </ code > </ h4 >
7579+ < ul class ="">
7580+ < li > < code > < a title ="slack_sdk.models.blocks.MarkdownBlock.attributes " href ="#slack_sdk.models.blocks.MarkdownBlock.attributes "> attributes</ a > </ code > </ li >
7581+ < li > < code > < a title ="slack_sdk.models.blocks.MarkdownBlock.text_max_length " href ="#slack_sdk.models.blocks.MarkdownBlock.text_max_length "> text_max_length</ a > </ code > </ li >
7582+ < li > < code > < a title ="slack_sdk.models.blocks.MarkdownBlock.type " href ="#slack_sdk.models.blocks.MarkdownBlock.type "> type</ a > </ code > </ li >
7583+ </ ul >
7584+ </ li >
7585+ < li >
74687586< h4 > < code > < a title ="slack_sdk.models.blocks.MarkdownTextObject " href ="#slack_sdk.models.blocks.MarkdownTextObject "> MarkdownTextObject</ a > </ code > </ h4 >
74697587< ul class ="two-column ">
74707588< li > < code > < a title ="slack_sdk.models.blocks.MarkdownTextObject.attributes " href ="#slack_sdk.models.blocks.MarkdownTextObject.attributes "> attributes</ a > </ code > </ li >
0 commit comments