diff --git a/docs/reference/http_retry/async_handler.html b/docs/reference/http_retry/async_handler.html index 169110894..4f3889fcc 100644 --- a/docs/reference/http_retry/async_handler.html +++ b/docs/reference/http_retry/async_handler.html @@ -193,7 +193,7 @@
class HttpResponse
-(*,
status_code: str | int,
headers: Dict[str, str | List[str]],
body: Dict[str, Any] | None = None,
data: bytes | None = None)
+(*,
status_code: int | str,
headers: Dict[str, str | List[str]],
body: Dict[str, Any] | None = None,
data: bytes | None = None)
class HttpResponse
-(*,
status_code: str | int,
headers: Dict[str, str | List[str]],
body: Dict[str, Any] | None = None,
data: bytes | None = None)
+(*,
status_code: int | str,
headers: Dict[str, str | List[str]],
body: Dict[str, Any] | None = None,
data: bytes | None = None)
class HttpResponse
-(*,
status_code: str | int,
headers: Dict[str, str | List[str]],
body: Dict[str, Any] | None = None,
data: bytes | None = None)
+(*,
status_code: int | str,
headers: Dict[str, str | List[str]],
body: Dict[str, Any] | None = None,
data: bytes | None = None)
-def chat_postMessage(self,
*,
channel: str,
text: str | None = None,
as_user: bool | None = None,
attachments: str | Sequence[Dict | Attachment] | None = None,
blocks: str | Sequence[Dict | Block] | None = None,
thread_ts: str | None = None,
reply_broadcast: bool | None = None,
unfurl_links: bool | None = None,
unfurl_media: bool | None = None,
container_id: str | None = None,
icon_emoji: str | None = None,
icon_url: str | None = None,
mrkdwn: bool | None = None,
link_names: bool | None = None,
username: str | None = None,
parse: str | None = None,
metadata: Dict | Metadata | None = None,
markdown_text: str | None = None,
**kwargs) ‑> SlackResponse
+def chat_postMessage(self,
*,
channel: str,
text: str | None = None,
as_user: bool | None = None,
attachments: str | Sequence[Dict | Attachment] | None = None,
blocks: str | Sequence[Dict | Block] | None = None,
thread_ts: str | None = None,
reply_broadcast: bool | None = None,
unfurl_links: bool | None = None,
unfurl_media: bool | None = None,
container_id: str | None = None,
icon_emoji: str | None = None,
icon_url: str | None = None,
mrkdwn: bool | None = None,
link_names: bool | None = None,
username: str | None = None,
parse: str | None = None,
metadata: Dict | Metadata | EventAndEntityMetadata | None = None,
markdown_text: str | None = None,
**kwargs) ‑> SlackResponse
-def chat_unfurl(self,
*,
channel: str | None = None,
ts: str | None = None,
source: str | None = None,
unfurl_id: str | None = None,
unfurls: Dict[str, Dict] | None = None,
user_auth_blocks: str | Sequence[Dict | Block] | None = None,
user_auth_message: str | None = None,
user_auth_required: bool | None = None,
user_auth_url: str | None = None,
**kwargs) ‑> SlackResponse
+def chat_unfurl(self,
*,
channel: str | None = None,
ts: str | None = None,
source: str | None = None,
unfurl_id: str | None = None,
unfurls: Dict[str, Dict] | None = None,
metadata: Dict | EventAndEntityMetadata | None = None,
user_auth_blocks: str | Sequence[Dict | Block] | None = None,
user_auth_message: str | None = None,
user_auth_required: bool | None = None,
user_auth_url: str | None = None,
**kwargs) ‑> SlackResponse
Lists custom emoji for a team. https://docs.slack.dev/reference/methods/emoji.list
+def entity_presentDetails(self,
trigger_id: str,
metadata: Dict | EntityMetadata | None = None,
user_auth_required: bool | None = None,
user_auth_url: str | None = None,
error: Dict[str, Any] | None = None,
**kwargs) ‑> SlackResponse
+def entity_presentDetails(
+ self,
+ trigger_id: str,
+ metadata: Optional[Union[Dict, EntityMetadata]] = None,
+ user_auth_required: Optional[bool] = None,
+ user_auth_url: Optional[str] = None,
+ error: Optional[Dict[str, Any]] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Provides entity details for the flexpane.
+ https://docs.slack.dev/reference/methods/entity.presentDetails/
+ """
+ kwargs.update({"trigger_id": trigger_id})
+ if metadata is not None:
+ kwargs.update({"metadata": metadata})
+ if user_auth_required is not None:
+ kwargs.update({"user_auth_required": user_auth_required})
+ if user_auth_url is not None:
+ kwargs.update({"user_auth_url": user_auth_url})
+ if error is not None:
+ kwargs.update({"error": error})
+ _parse_web_class_objects(kwargs)
+ return self.api_call("entity.presentDetails", json=kwargs)
+Provides entity details for the flexpane. +https://docs.slack.dev/reference/methods/entity.presentDetails/
def files_comments_delete(self, *, file: str, id: str, **kwargs) ‑> SlackResponse
Searches for messages matching a query. https://docs.slack.dev/reference/methods/search.messages
+def slackLists_access_delete(self,
*,
list_id: str,
channel_ids: List[str] | None = None,
user_ids: List[str] | None = None,
**kwargs) ‑> SlackResponse
+def slackLists_access_delete(
+ self,
+ *,
+ list_id: str,
+ channel_ids: Optional[List[str]] = None,
+ user_ids: Optional[List[str]] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Revoke access to a List for specified entities.
+ https://docs.slack.dev/reference/methods/slackLists.access.delete
+ """
+ kwargs.update({"list_id": list_id, "channel_ids": channel_ids, "user_ids": user_ids})
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.access.delete", json=kwargs)
+Revoke access to a List for specified entities. +https://docs.slack.dev/reference/methods/slackLists.access.delete
+def slackLists_access_set(self,
*,
list_id: str,
access_level: str,
channel_ids: List[str] | None = None,
user_ids: List[str] | None = None,
**kwargs) ‑> SlackResponse
+def slackLists_access_set(
+ self,
+ *,
+ list_id: str,
+ access_level: str,
+ channel_ids: Optional[List[str]] = None,
+ user_ids: Optional[List[str]] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Set the access level to a List for specified entities.
+ https://docs.slack.dev/reference/methods/slackLists.access.set
+ """
+ kwargs.update({"list_id": list_id, "access_level": access_level, "channel_ids": channel_ids, "user_ids": user_ids})
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.access.set", json=kwargs)
+Set the access level to a List for specified entities. +https://docs.slack.dev/reference/methods/slackLists.access.set
+def slackLists_create(self,
*,
name: str,
description_blocks: str | Sequence[Dict | RichTextBlock] | None = None,
schema: List[Dict[str, Any]] | None = None,
copy_from_list_id: str | None = None,
include_copied_list_records: bool | None = None,
todo_mode: bool | None = None,
**kwargs) ‑> SlackResponse
+def slackLists_create(
+ self,
+ *,
+ name: str,
+ description_blocks: Optional[Union[str, Sequence[Union[Dict, RichTextBlock]]]] = None,
+ schema: Optional[List[Dict[str, Any]]] = None,
+ copy_from_list_id: Optional[str] = None,
+ include_copied_list_records: Optional[bool] = None,
+ todo_mode: Optional[bool] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Creates a List.
+ https://docs.slack.dev/reference/methods/slackLists.create
+ """
+ kwargs.update(
+ {
+ "name": name,
+ "description_blocks": description_blocks,
+ "schema": schema,
+ "copy_from_list_id": copy_from_list_id,
+ "include_copied_list_records": include_copied_list_records,
+ "todo_mode": todo_mode,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.create", json=kwargs)
+Creates a List. +https://docs.slack.dev/reference/methods/slackLists.create
+def slackLists_download_get(self, *, list_id: str, job_id: str, **kwargs) ‑> SlackResponse
+def slackLists_download_get(
+ self,
+ *,
+ list_id: str,
+ job_id: str,
+ **kwargs,
+) -> SlackResponse:
+ """Retrieve List download URL from an export job to download List contents.
+ https://docs.slack.dev/reference/methods/slackLists.download.get
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "job_id": job_id,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.download.get", json=kwargs)
+Retrieve List download URL from an export job to download List contents. +https://docs.slack.dev/reference/methods/slackLists.download.get
+def slackLists_download_start(self, *, list_id: str, include_archived: bool | None = None, **kwargs) ‑> SlackResponse
+def slackLists_download_start(
+ self,
+ *,
+ list_id: str,
+ include_archived: Optional[bool] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Initiate a job to export List contents.
+ https://docs.slack.dev/reference/methods/slackLists.download.start
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "include_archived": include_archived,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.download.start", json=kwargs)
+Initiate a job to export List contents. +https://docs.slack.dev/reference/methods/slackLists.download.start
+def slackLists_items_create(self,
*,
list_id: str,
duplicated_item_id: str | None = None,
parent_item_id: str | None = None,
initial_fields: List[Dict[str, Any]] | None = None,
**kwargs) ‑> SlackResponse
+def slackLists_items_create(
+ self,
+ *,
+ list_id: str,
+ duplicated_item_id: Optional[str] = None,
+ parent_item_id: Optional[str] = None,
+ initial_fields: Optional[List[Dict[str, Any]]] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Add a new item to an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.create
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "duplicated_item_id": duplicated_item_id,
+ "parent_item_id": parent_item_id,
+ "initial_fields": initial_fields,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.create", json=kwargs)
+Add a new item to an existing List. +https://docs.slack.dev/reference/methods/slackLists.items.create
+def slackLists_items_delete(self, *, list_id: str, id: str, **kwargs) ‑> SlackResponse
+def slackLists_items_delete(
+ self,
+ *,
+ list_id: str,
+ id: str,
+ **kwargs,
+) -> SlackResponse:
+ """Deletes an item from an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.delete
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "id": id,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.delete", json=kwargs)
+Deletes an item from an existing List. +https://docs.slack.dev/reference/methods/slackLists.items.delete
+def slackLists_items_deleteMultiple(self, *, list_id: str, ids: List[str], **kwargs) ‑> SlackResponse
+def slackLists_items_deleteMultiple(
+ self,
+ *,
+ list_id: str,
+ ids: List[str],
+ **kwargs,
+) -> SlackResponse:
+ """Deletes multiple items from an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.deleteMultiple
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "ids": ids,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.deleteMultiple", json=kwargs)
+Deletes multiple items from an existing List. +https://docs.slack.dev/reference/methods/slackLists.items.deleteMultiple
+def slackLists_items_info(self, *, list_id: str, id: str, include_is_subscribed: bool | None = None, **kwargs) ‑> SlackResponse
+def slackLists_items_info(
+ self,
+ *,
+ list_id: str,
+ id: str,
+ include_is_subscribed: Optional[bool] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Get a row from a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.info
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "id": id,
+ "include_is_subscribed": include_is_subscribed,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.info", json=kwargs)
+Get a row from a List. +https://docs.slack.dev/reference/methods/slackLists.items.info
+def slackLists_items_list(self,
*,
list_id: str,
limit: int | None = None,
cursor: str | None = None,
archived: bool | None = None,
**kwargs) ‑> SlackResponse
+def slackLists_items_list(
+ self,
+ *,
+ list_id: str,
+ limit: Optional[int] = None,
+ cursor: Optional[str] = None,
+ archived: Optional[bool] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Get records from a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.list
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "limit": limit,
+ "cursor": cursor,
+ "archived": archived,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.list", json=kwargs)
+Get records from a List. +https://docs.slack.dev/reference/methods/slackLists.items.list
+def slackLists_items_update(self, *, list_id: str, cells: List[Dict[str, Any]], **kwargs) ‑> SlackResponse
+def slackLists_items_update(
+ self,
+ *,
+ list_id: str,
+ cells: List[Dict[str, Any]],
+ **kwargs,
+) -> SlackResponse:
+ """Updates cells in a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.update
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "cells": cells,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.update", json=kwargs)
+Updates cells in a List. +https://docs.slack.dev/reference/methods/slackLists.items.update
+def slackLists_update(self,
*,
id: str,
name: str | None = None,
description_blocks: str | Sequence[Dict | RichTextBlock] | None = None,
todo_mode: bool | None = None,
**kwargs) ‑> SlackResponse
+def slackLists_update(
+ self,
+ *,
+ id: str,
+ name: Optional[str] = None,
+ description_blocks: Optional[Union[str, Sequence[Union[Dict, RichTextBlock]]]] = None,
+ todo_mode: Optional[bool] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Update a List.
+ https://docs.slack.dev/reference/methods/slackLists.update
+ """
+ kwargs.update(
+ {
+ "id": id,
+ "name": name,
+ "description_blocks": description_blocks,
+ "todo_mode": todo_mode,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.update", json=kwargs)
+Update a List. +https://docs.slack.dev/reference/methods/slackLists.update
def stars_add(self,
*,
channel: str | None = None,
file: str | None = None,
file_comment: str | None = None,
timestamp: str | None = None,
**kwargs) ‑> SlackResponse
WebClient
dnd_setSnooze
dnd_teamInfo
emoji_list
+entity_presentDetails
files_comments_delete
files_completeUploadExternal
files_delete
@@ -15601,6 +16283,18 @@ WebClient
search_all
search_files
search_messages
+slackLists_access_delete
+slackLists_access_set
+slackLists_create
+slackLists_download_get
+slackLists_download_start
+slackLists_items_create
+slackLists_items_delete
+slackLists_items_deleteMultiple
+slackLists_items_info
+slackLists_items_list
+slackLists_items_update
+slackLists_update
stars_add
stars_list
stars_remove
diff --git a/docs/reference/models/basic_objects.html b/docs/reference/models/basic_objects.html
index 972273cc9..193200f84 100644
--- a/docs/reference/models/basic_objects.html
+++ b/docs/reference/models/basic_objects.html
@@ -119,6 +119,9 @@ Ancestors
if callable(method) and hasattr(method, "validator"):
method()
+ def get_object_attribute(self, key: str):
+ return getattr(self, key, None)
+
def get_non_null_attributes(self) -> dict:
"""
Construct a dictionary out of non-null keys (from attributes property)
@@ -136,7 +139,7 @@ Ancestors
return value
def is_not_empty(self, key: str) -> bool:
- value = getattr(self, key, None)
+ value = self.get_object_attribute(key)
if value is None:
return False
@@ -154,7 +157,9 @@ Ancestors
return value is not None
return {
- key: to_dict_compatible(getattr(self, key, None)) for key in sorted(self.attributes) if is_not_empty(self, key)
+ key: to_dict_compatible(value=self.get_object_attribute(key))
+ for key in sorted(self.attributes)
+ if is_not_empty(self, key)
}
def to_dict(self, *args) -> dict:
@@ -208,7 +213,40 @@ Subclasses
DialogBuilder
DialogTextComponent
Message
+ContentItemEntityFields
+EntityActionButton
+EntityActionProcessingState
+EntityActions
+EntityArrayItemField
+EntityAttributes
+EntityBooleanCheckboxField
+EntityBooleanTextField
+EntityCustomField
+EntityEditNumberConfig
+EntityEditSelectConfig
+EntityEditSupport
+EntityEditTextConfig
+EntityFullSizePreview
+EntityFullSizePreviewError
+EntityIconField
+EntityIconSlackFile
+EntityImageField
+EntityMetadata
+EntityPayload
+EntityRefField
+EntityStringField
+EntityTimestampField
+EntityTitle
+EntityTypedField
+EntityUserField
+EntityUserIDField
+EventAndEntityMetadata
+ExternalRef
+FileEntityFields
+FileEntitySlackFile
+IncidentEntityFields
Metadata
+TaskEntityFields
View
ViewState
ViewStateValue
@@ -257,7 +295,7 @@ Methods
return value
def is_not_empty(self, key: str) -> bool:
- value = getattr(self, key, None)
+ value = self.get_object_attribute(key)
if value is None:
return False
@@ -275,12 +313,27 @@ Methods
return value is not None
return {
- key: to_dict_compatible(getattr(self, key, None)) for key in sorted(self.attributes) if is_not_empty(self, key)
+ key: to_dict_compatible(value=self.get_object_attribute(key))
+ for key in sorted(self.attributes)
+ if is_not_empty(self, key)
}
Construct a dictionary out of non-null keys (from attributes property)
present on this object
+
+def get_object_attribute(self, key: str)
+
+
+
+
+Expand source code
+
+def get_object_attribute(self, key: str):
+ return getattr(self, key, None)
+
+
+
def to_dict(self, *args) ‑> dict
@@ -401,6 +454,7 @@
attributes
get_non_null_attributes
+get_object_attribute
to_dict
validate_json
diff --git a/docs/reference/models/blocks/basic_components.html b/docs/reference/models/blocks/basic_components.html
index 09ba7e190..2821b6a4b 100644
--- a/docs/reference/models/blocks/basic_components.html
+++ b/docs/reference/models/blocks/basic_components.html
@@ -1248,6 +1248,130 @@ Inherited members
+
+class RawTextObject
+(*, text: str)
+
+
+
+
+Expand source code
+
+class RawTextObject(TextObject):
+ """raw_text typed text object"""
+
+ type = "raw_text"
+
+ @property
+ def attributes(self) -> Set[str]: # type: ignore[override]
+ return {"text", "type"}
+
+ def __init__(self, *, text: str):
+ """A raw text object used in table block cells.
+ https://docs.slack.dev/reference/block-kit/composition-objects/text-object/
+ https://docs.slack.dev/reference/block-kit/blocks/table-block
+
+ Args:
+ text (required): The text content for the table block cell.
+ """
+ super().__init__(text=text, type=self.type)
+
+ @staticmethod
+ def from_str(text: str) -> "RawTextObject":
+ """Transforms a string into a RawTextObject"""
+ return RawTextObject(text=text)
+
+ @staticmethod
+ def direct_from_string(text: str) -> Dict[str, Any]:
+ """Transforms a string into the required object shape to act as a RawTextObject"""
+ return RawTextObject.from_str(text).to_dict()
+
+ @JsonValidator("text attribute must have at least 1 character")
+ def _validate_text_min_length(self):
+ return len(self.text) >= 1
+
+raw_text typed text object
+A raw text object used in table block cells.
+https://docs.slack.dev/reference/block-kit/composition-objects/text-object/
+https://docs.slack.dev/reference/block-kit/blocks/table-block
+Args
+
+text : required
+- The text content for the table block cell.
+
+Ancestors
+
+Class variables
+
+var type
+-
+
The type of the None singleton.
+
+
+Static methods
+
+
+def direct_from_string(text: str) ‑> Dict[str, Any]
+
+-
+
+
+Expand source code
+
+@staticmethod
+def direct_from_string(text: str) -> Dict[str, Any]:
+ """Transforms a string into the required object shape to act as a RawTextObject"""
+ return RawTextObject.from_str(text).to_dict()
+
+Transforms a string into the required object shape to act as a RawTextObject
+
+
+def from_str(text: str) ‑> RawTextObject
+
+-
+
+
+Expand source code
+
+@staticmethod
+def from_str(text: str) -> "RawTextObject":
+ """Transforms a string into a RawTextObject"""
+ return RawTextObject(text=text)
+
+Transforms a string into a RawTextObject
+
+
+Instance variables
+
+prop attributes : Set[str]
+-
+
+
+Expand source code
+
+@property
+def attributes(self) -> Set[str]: # type: ignore[override]
+ return {"text", "type"}
+
+Build an unordered collection of unique elements.
+
+
+Inherited members
+
+TextObject:
+
+
+
+
class SlackFile
(*, id: str | None = None, url: str | None = None)
@@ -1396,6 +1520,7 @@ Subclasses
Class variables
@@ -1633,6 +1758,15 @@
-
+
RawTextObject
+
+
+-
SlackFile
attributes
diff --git a/docs/reference/models/blocks/blocks.html b/docs/reference/models/blocks/blocks.html
index f266b5cad..722d12164 100644
--- a/docs/reference/models/blocks/blocks.html
+++ b/docs/reference/models/blocks/blocks.html
@@ -236,6 +236,8 @@ Inherited members
return VideoBlock(**block)
elif type == RichTextBlock.type:
return RichTextBlock(**block)
+ elif type == TableBlock.type:
+ return TableBlock(**block)
else:
cls.logger.warning(f"Unknown block detected and skipped ({block})")
return None
@@ -269,6 +271,7 @@ Subclasses
- MarkdownBlock
- RichTextBlock
- SectionBlock
+- TableBlock
- VideoBlock
Class variables
@@ -1580,6 +1583,123 @@ Inherited members
+
+class TableBlock
+(*,
rows: Sequence[Sequence[Dict[str, Any]]],
column_settings: Sequence[Dict[str, Any] | None] | None = None,
block_id: str | None = None,
**others: dict)
+
+-
+
+
+Expand source code
+
+class TableBlock(Block):
+ type = "table"
+
+ @property
+ def attributes(self) -> Set[str]: # type: ignore[override]
+ return super().attributes.union({"rows", "column_settings"})
+
+ def __init__(
+ self,
+ *,
+ rows: Sequence[Sequence[Dict[str, Any]]],
+ column_settings: Optional[Sequence[Optional[Dict[str, Any]]]] = None,
+ block_id: Optional[str] = None,
+ **others: dict,
+ ):
+ """Displays structured information in a table.
+ https://docs.slack.dev/reference/block-kit/blocks/table-block
+
+ Args:
+ rows (required): An array consisting of table rows. Maximum 100 rows.
+ Each row object is an array with a max of 20 table cells.
+ Table cells can have a type of raw_text or rich_text.
+ column_settings: An array describing column behavior. If there are fewer items in the column_settings array
+ than there are columns in the table, then the items in the the column_settings array will describe
+ the same number of columns in the table as there are in the array itself.
+ Any additional columns will have the default behavior. Maximum 20 items.
+ See below for column settings schema.
+ block_id: A unique identifier for a block. If not specified, a block_id will be generated.
+ You can use this block_id when you receive an interaction payload to identify the source of the action.
+ Maximum length for this field is 255 characters.
+ block_id should be unique for each message and each iteration of a message.
+ If a message is updated, use a new block_id.
+ """
+ super().__init__(type=self.type, block_id=block_id)
+ show_unknown_key_warning(self, others)
+
+ self.rows = rows
+ self.column_settings = column_settings
+
+ @JsonValidator("rows attribute must be specified")
+ def _validate_rows(self):
+ return self.rows is not None and len(self.rows) > 0
+
+Blocks are a series of components that can be combined
+to create visually rich and compellingly interactive messages.
+https://docs.slack.dev/reference/block-kit/blocks
+Displays structured information in a table.
+https://docs.slack.dev/reference/block-kit/blocks/table-block
+Args
+
+rows : required
+- An array consisting of table rows. Maximum 100 rows.
+Each row object is an array with a max of 20 table cells.
+Table cells can have a type of raw_text or rich_text.
+column_settings
+- An array describing column behavior. If there are fewer items in the column_settings array
+than there are columns in the table, then the items in the the column_settings array will describe
+the same number of columns in the table as there are in the array itself.
+Any additional columns will have the default behavior. Maximum 20 items.
+See below for column settings schema.
+block_id
+- A unique identifier for a block. If not specified, a block_id will be generated.
+You can use this block_id when you receive an interaction payload to identify the source of the action.
+Maximum length for this field is 255 characters.
+block_id should be unique for each message and each iteration of a message.
+If a message is updated, use a new block_id.
+
+Ancestors
+
+- Block
+- JsonObject
+- BaseObject
+
+Class variables
+
+var type
+-
+
The type of the None singleton.
+
+
+Instance variables
+
+prop attributes : Set[str]
+-
+
+
+Expand source code
+
+@property
+def attributes(self) -> Set[str]: # type: ignore[override]
+ return super().attributes.union({"rows", "column_settings"})
+
+Build an unordered collection of unique elements.
+
+
+Inherited members
+
+Block:
+
+
+
+
class VideoBlock
(*,
block_id: str | None = None,
alt_text: str | None = None,
video_url: str | None = None,
thumbnail_url: str | None = None,
title: str | dict | PlainTextObject | None = None,
title_url: str | None = None,
description: str | dict | PlainTextObject | None = None,
provider_icon_url: str | None = None,
provider_name: str | None = None,
author_name: str | None = None,
**others: dict)
@@ -1904,6 +2024,13 @@ TableBlock
+
+attributes
+type
+
+
+-
VideoBlock
attributes
diff --git a/docs/reference/models/blocks/index.html b/docs/reference/models/blocks/index.html
index 182ab927a..0d2047c12 100644
--- a/docs/reference/models/blocks/index.html
+++ b/docs/reference/models/blocks/index.html
@@ -258,6 +258,8 @@ Inherited members
return VideoBlock(**block)
elif type == RichTextBlock.type:
return RichTextBlock(**block)
+ elif type == TableBlock.type:
+ return TableBlock(**block)
else:
cls.logger.warning(f"Unknown block detected and skipped ({block})")
return None
@@ -291,6 +293,7 @@ Subclasses
- MarkdownBlock
- RichTextBlock
- SectionBlock
+- TableBlock
- VideoBlock
Class variables
@@ -5462,6 +5465,130 @@ Inherited members
+
+class RawTextObject
+(*, text: str)
+
+-
+
+
+Expand source code
+
+class RawTextObject(TextObject):
+ """raw_text typed text object"""
+
+ type = "raw_text"
+
+ @property
+ def attributes(self) -> Set[str]: # type: ignore[override]
+ return {"text", "type"}
+
+ def __init__(self, *, text: str):
+ """A raw text object used in table block cells.
+ https://docs.slack.dev/reference/block-kit/composition-objects/text-object/
+ https://docs.slack.dev/reference/block-kit/blocks/table-block
+
+ Args:
+ text (required): The text content for the table block cell.
+ """
+ super().__init__(text=text, type=self.type)
+
+ @staticmethod
+ def from_str(text: str) -> "RawTextObject":
+ """Transforms a string into a RawTextObject"""
+ return RawTextObject(text=text)
+
+ @staticmethod
+ def direct_from_string(text: str) -> Dict[str, Any]:
+ """Transforms a string into the required object shape to act as a RawTextObject"""
+ return RawTextObject.from_str(text).to_dict()
+
+ @JsonValidator("text attribute must have at least 1 character")
+ def _validate_text_min_length(self):
+ return len(self.text) >= 1
+
+raw_text typed text object
+A raw text object used in table block cells.
+https://docs.slack.dev/reference/block-kit/composition-objects/text-object/
+https://docs.slack.dev/reference/block-kit/blocks/table-block
+Args
+
+text : required
+- The text content for the table block cell.
+
+Ancestors
+
+Class variables
+
+var type
+-
+
The type of the None singleton.
+
+
+Static methods
+
+
+def direct_from_string(text: str) ‑> Dict[str, Any]
+
+-
+
+
+Expand source code
+
+@staticmethod
+def direct_from_string(text: str) -> Dict[str, Any]:
+ """Transforms a string into the required object shape to act as a RawTextObject"""
+ return RawTextObject.from_str(text).to_dict()
+
+Transforms a string into the required object shape to act as a RawTextObject
+
+
+def from_str(text: str) ‑> RawTextObject
+
+-
+
+
+Expand source code
+
+@staticmethod
+def from_str(text: str) -> "RawTextObject":
+ """Transforms a string into a RawTextObject"""
+ return RawTextObject(text=text)
+
+Transforms a string into a RawTextObject
+
+
+Instance variables
+
+prop attributes : Set[str]
+-
+
+
+Expand source code
+
+@property
+def attributes(self) -> Set[str]: # type: ignore[override]
+ return {"text", "type"}
+
+Build an unordered collection of unique elements.
+
+
+Inherited members
+
+TextObject:
+
+
+
+
class RichTextBlock
(*,
elements: Sequence[dict | RichTextElement],
block_id: str | None = None,
**others: dict)
@@ -6952,6 +7079,123 @@ Inherited members
+
+class TableBlock
+(*,
rows: Sequence[Sequence[Dict[str, Any]]],
column_settings: Sequence[Dict[str, Any] | None] | None = None,
block_id: str | None = None,
**others: dict)
+
+-
+
+
+Expand source code
+
+class TableBlock(Block):
+ type = "table"
+
+ @property
+ def attributes(self) -> Set[str]: # type: ignore[override]
+ return super().attributes.union({"rows", "column_settings"})
+
+ def __init__(
+ self,
+ *,
+ rows: Sequence[Sequence[Dict[str, Any]]],
+ column_settings: Optional[Sequence[Optional[Dict[str, Any]]]] = None,
+ block_id: Optional[str] = None,
+ **others: dict,
+ ):
+ """Displays structured information in a table.
+ https://docs.slack.dev/reference/block-kit/blocks/table-block
+
+ Args:
+ rows (required): An array consisting of table rows. Maximum 100 rows.
+ Each row object is an array with a max of 20 table cells.
+ Table cells can have a type of raw_text or rich_text.
+ column_settings: An array describing column behavior. If there are fewer items in the column_settings array
+ than there are columns in the table, then the items in the the column_settings array will describe
+ the same number of columns in the table as there are in the array itself.
+ Any additional columns will have the default behavior. Maximum 20 items.
+ See below for column settings schema.
+ block_id: A unique identifier for a block. If not specified, a block_id will be generated.
+ You can use this block_id when you receive an interaction payload to identify the source of the action.
+ Maximum length for this field is 255 characters.
+ block_id should be unique for each message and each iteration of a message.
+ If a message is updated, use a new block_id.
+ """
+ super().__init__(type=self.type, block_id=block_id)
+ show_unknown_key_warning(self, others)
+
+ self.rows = rows
+ self.column_settings = column_settings
+
+ @JsonValidator("rows attribute must be specified")
+ def _validate_rows(self):
+ return self.rows is not None and len(self.rows) > 0
+
+Blocks are a series of components that can be combined
+to create visually rich and compellingly interactive messages.
+https://docs.slack.dev/reference/block-kit/blocks
+Displays structured information in a table.
+https://docs.slack.dev/reference/block-kit/blocks/table-block
+Args
+
+rows : required
+- An array consisting of table rows. Maximum 100 rows.
+Each row object is an array with a max of 20 table cells.
+Table cells can have a type of raw_text or rich_text.
+column_settings
+- An array describing column behavior. If there are fewer items in the column_settings array
+than there are columns in the table, then the items in the the column_settings array will describe
+the same number of columns in the table as there are in the array itself.
+Any additional columns will have the default behavior. Maximum 20 items.
+See below for column settings schema.
+block_id
+- A unique identifier for a block. If not specified, a block_id will be generated.
+You can use this block_id when you receive an interaction payload to identify the source of the action.
+Maximum length for this field is 255 characters.
+block_id should be unique for each message and each iteration of a message.
+If a message is updated, use a new block_id.
+
+Ancestors
+
+- Block
+- JsonObject
+- BaseObject
+
+Class variables
+
+var type
+-
+
The type of the None singleton.
+
+
+Instance variables
+
+prop attributes : Set[str]
+-
+
+
+Expand source code
+
+@property
+def attributes(self) -> Set[str]: # type: ignore[override]
+ return super().attributes.union({"rows", "column_settings"})
+
+Build an unordered collection of unique elements.
+
+
+Inherited members
+
+Block:
+
+
+
+
class TextObject
(text: str,
type: str | None = None,
subtype: str | None = None,
emoji: bool | None = None,
**kwargs)
@@ -7030,6 +7274,7 @@ Subclasses
Class variables
@@ -8151,6 +8396,15 @@ RawTextObject
+
+
+
-
RichTextBlock
attributes
@@ -8248,6 +8502,13 @@ TableBlock
+
+attributes
+type
+
+
+-
TextObject
attributes
diff --git a/docs/reference/models/index.html b/docs/reference/models/index.html
index 3888d29d7..d3670bfde 100644
--- a/docs/reference/models/index.html
+++ b/docs/reference/models/index.html
@@ -223,6 +223,9 @@ Ancestors
if callable(method) and hasattr(method, "validator"):
method()
+ def get_object_attribute(self, key: str):
+ return getattr(self, key, None)
+
def get_non_null_attributes(self) -> dict:
"""
Construct a dictionary out of non-null keys (from attributes property)
@@ -240,7 +243,7 @@ Ancestors
return value
def is_not_empty(self, key: str) -> bool:
- value = getattr(self, key, None)
+ value = self.get_object_attribute(key)
if value is None:
return False
@@ -258,7 +261,9 @@ Ancestors
return value is not None
return {
- key: to_dict_compatible(getattr(self, key, None)) for key in sorted(self.attributes) if is_not_empty(self, key)
+ key: to_dict_compatible(value=self.get_object_attribute(key))
+ for key in sorted(self.attributes)
+ if is_not_empty(self, key)
}
def to_dict(self, *args) -> dict:
@@ -312,7 +317,40 @@ Subclasses
- DialogBuilder
- DialogTextComponent
- Message
+- ContentItemEntityFields
+- EntityActionButton
+- EntityActionProcessingState
+- EntityActions
+- EntityArrayItemField
+- EntityAttributes
+- EntityBooleanCheckboxField
+- EntityBooleanTextField
+- EntityCustomField
+- EntityEditNumberConfig
+- EntityEditSelectConfig
+- EntityEditSupport
+- EntityEditTextConfig
+- EntityFullSizePreview
+- EntityFullSizePreviewError
+- EntityIconField
+- EntityIconSlackFile
+- EntityImageField
+- EntityMetadata
+- EntityPayload
+- EntityRefField
+- EntityStringField
+- EntityTimestampField
+- EntityTitle
+- EntityTypedField
+- EntityUserField
+- EntityUserIDField
+- EventAndEntityMetadata
+- ExternalRef
+- FileEntityFields
+- FileEntitySlackFile
+- IncidentEntityFields
- Metadata
+- TaskEntityFields
- View
- ViewState
- ViewStateValue
@@ -361,7 +399,7 @@ Methods
return value
def is_not_empty(self, key: str) -> bool:
- value = getattr(self, key, None)
+ value = self.get_object_attribute(key)
if value is None:
return False
@@ -379,12 +417,27 @@ Methods
return value is not None
return {
- key: to_dict_compatible(getattr(self, key, None)) for key in sorted(self.attributes) if is_not_empty(self, key)
+ key: to_dict_compatible(value=self.get_object_attribute(key))
+ for key in sorted(self.attributes)
+ if is_not_empty(self, key)
}
Construct a dictionary out of non-null keys (from attributes property)
present on this object
+
+def get_object_attribute(self, key: str)
+
+-
+
+
+Expand source code
+
+def get_object_attribute(self, key: str):
+ return getattr(self, key, None)
+
+
+
def to_dict(self, *args) ‑> dict
@@ -523,6 +576,7 @@
attributes
get_non_null_attributes
+get_object_attribute
to_dict
validate_json
diff --git a/docs/reference/models/metadata/index.html b/docs/reference/models/metadata/index.html
index 14663e790..1c4d7a69c 100644
--- a/docs/reference/models/metadata/index.html
+++ b/docs/reference/models/metadata/index.html
@@ -40,12 +40,2270 @@ Module slack_sdk.models.metadata
+Global variables
+
+var EntityType
+-
+
Custom field types
+
+
Classes
+
+class ContentItemEntityFields
+(preview: Dict[str, Any] | EntityImageField | None = None,
description: Dict[str, Any] | EntityStringField | None = None,
created_by: Dict[str, Any] | EntityTypedField | None = None,
date_created: Dict[str, Any] | EntityTimestampField | None = None,
date_updated: Dict[str, Any] | EntityTimestampField | None = None,
last_modified_by: Dict[str, Any] | EntityTypedField | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class ContentItemEntityFields(JsonObject):
+ """Fields specific to content item entities"""
+
+ attributes = {
+ "preview",
+ "description",
+ "created_by",
+ "date_created",
+ "date_updated",
+ "last_modified_by",
+ }
+
+ def __init__(
+ self,
+ preview: Optional[Union[Dict[str, Any], EntityImageField]] = None,
+ description: Optional[Union[Dict[str, Any], EntityStringField]] = None,
+ created_by: Optional[Union[Dict[str, Any], EntityTypedField]] = None,
+ date_created: Optional[Union[Dict[str, Any], EntityTimestampField]] = None,
+ date_updated: Optional[Union[Dict[str, Any], EntityTimestampField]] = None,
+ last_modified_by: Optional[Union[Dict[str, Any], EntityTypedField]] = None,
+ **kwargs,
+ ):
+ self.preview = preview
+ self.description = description
+ self.created_by = created_by
+ self.date_created = date_created
+ self.date_updated = date_updated
+ self.last_modified_by = last_modified_by
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Fields specific to content item entities
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityActionButton
+(text: str,
action_id: str,
value: str | None = None,
style: str | None = None,
url: str | None = None,
accessibility_label: str | None = None,
processing_state: Dict[str, Any] | EntityActionProcessingState | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EntityActionButton(JsonObject):
+ """Action button for entity"""
+
+ attributes = {
+ "text",
+ "action_id",
+ "value",
+ "style",
+ "url",
+ "accessibility_label",
+ "processing_state",
+ }
+
+ def __init__(
+ self,
+ text: str,
+ action_id: str,
+ value: Optional[str] = None,
+ style: Optional[str] = None,
+ url: Optional[str] = None,
+ accessibility_label: Optional[str] = None,
+ processing_state: Optional[Union[Dict[str, Any], EntityActionProcessingState]] = None,
+ **kwargs,
+ ):
+ self.text = text
+ self.action_id = action_id
+ self.value = value
+ self.style = style
+ self.url = url
+ self.accessibility_label = accessibility_label
+ self.processing_state = processing_state
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Action button for entity
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityActionProcessingState
+(enabled: bool, interstitial_text: str | None = None, **kwargs)
+
+-
+
+
+Expand source code
+
+class EntityActionProcessingState(JsonObject):
+ """Processing state configuration for entity action button"""
+
+ attributes = {
+ "enabled",
+ "interstitial_text",
+ }
+
+ def __init__(
+ self,
+ enabled: bool,
+ interstitial_text: Optional[str] = None,
+ **kwargs,
+ ):
+ self.enabled = enabled
+ self.interstitial_text = interstitial_text
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Processing state configuration for entity action button
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityActions
+(primary_actions: List[Dict[str, Any] | EntityActionButton] | None = None,
overflow_actions: List[Dict[str, Any] | EntityActionButton] | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EntityActions(JsonObject):
+ """Actions configuration for entity"""
+
+ attributes = {
+ "primary_actions",
+ "overflow_actions",
+ }
+
+ def __init__(
+ self,
+ primary_actions: Optional[List[Union[Dict[str, Any], EntityActionButton]]] = None,
+ overflow_actions: Optional[List[Union[Dict[str, Any], EntityActionButton]]] = None,
+ **kwargs,
+ ):
+ self.primary_actions = primary_actions
+ self.overflow_actions = overflow_actions
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Actions configuration for entity
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityArrayItemField
+(type: str | None = None,
label: str | None = None,
value: str | int | None = None,
link: str | None = None,
icon: Dict[str, Any] | EntityIconField | None = None,
long: bool | None = None,
format: str | None = None,
image_url: str | None = None,
slack_file: Dict[str, Any] | None = None,
alt_text: str | None = None,
edit: Dict[str, Any] | EntityEditSupport | None = None,
tag_color: str | None = None,
user: Dict[str, Any] | EntityUserIDField | EntityUserField | None = None,
entity_ref: Dict[str, Any] | EntityRefField | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EntityArrayItemField(JsonObject):
+ """Array item field for entity (similar to EntityTypedField but with optional type)"""
+
+ attributes = {
+ "type",
+ "label",
+ "value",
+ "link",
+ "icon",
+ "long",
+ "format",
+ "image_url",
+ "slack_file",
+ "alt_text",
+ "edit",
+ "tag_color",
+ "user",
+ "entity_ref",
+ }
+
+ def __init__(
+ self,
+ type: Optional[str] = None,
+ label: Optional[str] = None,
+ value: Optional[Union[str, int]] = None,
+ link: Optional[str] = None,
+ icon: Optional[Union[Dict[str, Any], EntityIconField]] = None,
+ long: Optional[bool] = None,
+ format: Optional[str] = None,
+ image_url: Optional[str] = None,
+ slack_file: Optional[Dict[str, Any]] = None,
+ alt_text: Optional[str] = None,
+ edit: Optional[Union[Dict[str, Any], EntityEditSupport]] = None,
+ tag_color: Optional[str] = None,
+ user: Optional[Union[Dict[str, Any], EntityUserIDField, EntityUserField]] = None,
+ entity_ref: Optional[Union[Dict[str, Any], EntityRefField]] = None,
+ **kwargs,
+ ):
+ self.type = type
+ self.label = label
+ self.value = value
+ self.link = link
+ self.icon = icon
+ self.long = long
+ self.format = format
+ self.image_url = image_url
+ self.slack_file = slack_file
+ self.alt_text = alt_text
+ self.edit = edit
+ self.tag_color = tag_color
+ self.user = user
+ self.entity_ref = entity_ref
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Array item field for entity (similar to EntityTypedField but with optional type)
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityAttributes
+(title: Dict[str, Any] | EntityTitle,
display_type: str | None = None,
display_id: str | None = None,
product_icon: Dict[str, Any] | EntityIconField | None = None,
product_name: str | None = None,
locale: str | None = None,
full_size_preview: Dict[str, Any] | EntityFullSizePreview | None = None,
metadata_last_modified: int | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EntityAttributes(JsonObject):
+ """Attributes for an entity"""
+
+ attributes = {
+ "title",
+ "display_type",
+ "display_id",
+ "product_icon",
+ "product_name",
+ "locale",
+ "full_size_preview",
+ "metadata_last_modified",
+ }
+
+ def __init__(
+ self,
+ title: Union[Dict[str, Any], EntityTitle],
+ display_type: Optional[str] = None,
+ display_id: Optional[str] = None,
+ product_icon: Optional[Union[Dict[str, Any], EntityIconField]] = None,
+ product_name: Optional[str] = None,
+ locale: Optional[str] = None,
+ full_size_preview: Optional[Union[Dict[str, Any], EntityFullSizePreview]] = None,
+ metadata_last_modified: Optional[int] = None,
+ **kwargs,
+ ):
+ self.title = title
+ self.display_type = display_type
+ self.display_id = display_id
+ self.product_icon = product_icon
+ self.product_name = product_name
+ self.locale = locale
+ self.full_size_preview = full_size_preview
+ self.metadata_last_modified = metadata_last_modified
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Attributes for an entity
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityBooleanCheckboxField
+(type: str, text: str, description: str | None, **kwargs)
+
+-
+
+
+Expand source code
+
+class EntityBooleanCheckboxField(JsonObject):
+ """Boolean checkbox properties"""
+
+ attributes = {"type", "text", "description"}
+
+ def __init__(
+ self,
+ type: str,
+ text: str,
+ description: Optional[str],
+ **kwargs,
+ ):
+ self.type = type
+ self.text = text
+ self.description = description
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Boolean checkbox properties
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityBooleanTextField
+(type: str,
true_text: str,
false_text: str,
true_description: str | None,
false_description: str | None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EntityBooleanTextField(JsonObject):
+ """Boolean text properties"""
+
+ attributes = {"type", "true_text", "false_text", "true_description", "false_description"}
+
+ def __init__(
+ self,
+ type: str,
+ true_text: str,
+ false_text: str,
+ true_description: Optional[str],
+ false_description: Optional[str],
+ **kwargs,
+ ):
+ self.type = type
+ self.true_text = (true_text,)
+ self.false_text = (false_text,)
+ self.true_description = (true_description,)
+ self.false_description = (false_description,)
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Boolean text properties
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityCustomField
+(label: str,
key: str,
type: str,
value: str | int | List[Dict[str, Any] | EntityArrayItemField] | None = None,
link: str | None = None,
icon: Dict[str, Any] | EntityIconField | None = None,
long: bool | None = None,
format: str | None = None,
image_url: str | None = None,
slack_file: Dict[str, Any] | None = None,
alt_text: str | None = None,
tag_color: str | None = None,
edit: Dict[str, Any] | EntityEditSupport | None = None,
item_type: str | None = None,
user: Dict[str, Any] | EntityUserIDField | EntityUserField | None = None,
entity_ref: Dict[str, Any] | EntityRefField | None = None,
boolean: Dict[str, Any] | EntityBooleanCheckboxField | EntityBooleanTextField | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EntityCustomField(JsonObject):
+ """Custom field for entity with flexible types"""
+
+ attributes = {
+ "label",
+ "key",
+ "type",
+ "value",
+ "link",
+ "icon",
+ "long",
+ "format",
+ "image_url",
+ "slack_file",
+ "alt_text",
+ "tag_color",
+ "edit",
+ "item_type",
+ "user",
+ "entity_ref",
+ "boolean",
+ }
+
+ def __init__(
+ self,
+ label: str,
+ key: str,
+ type: str,
+ value: Optional[Union[str, int, List[Union[Dict[str, Any], EntityArrayItemField]]]] = None,
+ link: Optional[str] = None,
+ icon: Optional[Union[Dict[str, Any], EntityIconField]] = None,
+ long: Optional[bool] = None,
+ format: Optional[str] = None,
+ image_url: Optional[str] = None,
+ slack_file: Optional[Dict[str, Any]] = None,
+ alt_text: Optional[str] = None,
+ tag_color: Optional[str] = None,
+ edit: Optional[Union[Dict[str, Any], EntityEditSupport]] = None,
+ item_type: Optional[str] = None,
+ user: Optional[Union[Dict[str, Any], EntityUserIDField, EntityUserField]] = None,
+ entity_ref: Optional[Union[Dict[str, Any], EntityRefField]] = None,
+ boolean: Optional[Union[Dict[str, Any], EntityBooleanCheckboxField, EntityBooleanTextField]] = None,
+ **kwargs,
+ ):
+ self.label = label
+ self.key = key
+ self.type = type
+ self.value = value
+ self.link = link
+ self.icon = icon
+ self.long = long
+ self.format = format
+ self.image_url = image_url
+ self.slack_file = slack_file
+ self.alt_text = alt_text
+ self.tag_color = tag_color
+ self.edit = edit
+ self.item_type = item_type
+ self.user = user
+ self.entity_ref = entity_ref
+ self.boolean = boolean
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+ @EnumValidator("type", CustomFieldType)
+ def type_valid(self):
+ return self.type is None or self.type in CustomFieldType
+
+Custom field for entity with flexible types
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Methods
+
+
+def type_valid(self)
+
+-
+
+
+Expand source code
+
+@EnumValidator("type", CustomFieldType)
+def type_valid(self):
+ return self.type is None or self.type in CustomFieldType
+
+
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityEditNumberConfig
+(is_decimal_allowed: bool | None = None,
min_value: int | float | None = None,
max_value: int | float | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EntityEditNumberConfig(JsonObject):
+ """Number configuration for entity edit support"""
+
+ attributes = {
+ "is_decimal_allowed",
+ "min_value",
+ "max_value",
+ }
+
+ def __init__(
+ self,
+ is_decimal_allowed: Optional[bool] = None,
+ min_value: Optional[Union[int, float]] = None,
+ max_value: Optional[Union[int, float]] = None,
+ **kwargs,
+ ):
+ self.is_decimal_allowed = is_decimal_allowed
+ self.min_value = min_value
+ self.max_value = max_value
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Number configuration for entity edit support
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityEditSelectConfig
+(current_value: str | None = None,
current_values: List[str] | None = None,
static_options: List[Dict[str, Any]] | None = None,
fetch_options_dynamically: bool | None = None,
min_query_length: int | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EntityEditSelectConfig(JsonObject):
+ """Select configuration for entity edit support"""
+
+ attributes = {
+ "current_value",
+ "current_values",
+ "static_options",
+ "fetch_options_dynamically",
+ "min_query_length",
+ }
+
+ def __init__(
+ self,
+ current_value: Optional[str] = None,
+ current_values: Optional[List[str]] = None,
+ static_options: Optional[List[Dict[str, Any]]] = None, # Option[]
+ fetch_options_dynamically: Optional[bool] = None,
+ min_query_length: Optional[int] = None,
+ **kwargs,
+ ):
+ self.current_value = current_value
+ self.current_values = current_values
+ self.static_options = static_options
+ self.fetch_options_dynamically = fetch_options_dynamically
+ self.min_query_length = min_query_length
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Select configuration for entity edit support
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityEditSupport
+(enabled: bool,
placeholder: Dict[str, Any] | None = None,
hint: Dict[str, Any] | None = None,
optional: bool | None = None,
select: Dict[str, Any] | EntityEditSelectConfig | None = None,
number: Dict[str, Any] | EntityEditNumberConfig | None = None,
text: Dict[str, Any] | EntityEditTextConfig | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EntityEditSupport(JsonObject):
+ """Edit support configuration for entity fields"""
+
+ attributes = {
+ "enabled",
+ "placeholder",
+ "hint",
+ "optional",
+ "select",
+ "number",
+ "text",
+ }
+
+ def __init__(
+ self,
+ enabled: bool,
+ placeholder: Optional[Dict[str, Any]] = None, # PlainTextElement
+ hint: Optional[Dict[str, Any]] = None, # PlainTextElement
+ optional: Optional[bool] = None,
+ select: Optional[Union[Dict[str, Any], EntityEditSelectConfig]] = None,
+ number: Optional[Union[Dict[str, Any], EntityEditNumberConfig]] = None,
+ text: Optional[Union[Dict[str, Any], EntityEditTextConfig]] = None,
+ **kwargs,
+ ):
+ self.enabled = enabled
+ self.placeholder = placeholder
+ self.hint = hint
+ self.optional = optional
+ self.select = select
+ self.number = number
+ self.text = text
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Edit support configuration for entity fields
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityEditTextConfig
+(min_length: int | None = None, max_length: int | None = None, **kwargs)
+
+-
+
+
+Expand source code
+
+class EntityEditTextConfig(JsonObject):
+ """Text configuration for entity edit support"""
+
+ attributes = {
+ "min_length",
+ "max_length",
+ }
+
+ def __init__(
+ self,
+ min_length: Optional[int] = None,
+ max_length: Optional[int] = None,
+ **kwargs,
+ ):
+ self.min_length = min_length
+ self.max_length = max_length
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Text configuration for entity edit support
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityFullSizePreview
+(is_supported: bool,
preview_url: str | None = None,
mime_type: str | None = None,
error: Dict[str, Any] | EntityFullSizePreviewError | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EntityFullSizePreview(JsonObject):
+ """Full-size preview configuration for entity"""
+
+ attributes = {
+ "is_supported",
+ "preview_url",
+ "mime_type",
+ "error",
+ }
+
+ def __init__(
+ self,
+ is_supported: bool,
+ preview_url: Optional[str] = None,
+ mime_type: Optional[str] = None,
+ error: Optional[Union[Dict[str, Any], EntityFullSizePreviewError]] = None,
+ **kwargs,
+ ):
+ self.is_supported = is_supported
+ self.preview_url = preview_url
+ self.mime_type = mime_type
+ self.error = error
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Full-size preview configuration for entity
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityFullSizePreviewError
+(code: str, message: str | None = None, **kwargs)
+
+-
+
+
+Expand source code
+
+class EntityFullSizePreviewError(JsonObject):
+ """Error information for full-size preview"""
+
+ attributes = {
+ "code",
+ "message",
+ }
+
+ def __init__(
+ self,
+ code: str,
+ message: Optional[str] = None,
+ **kwargs,
+ ):
+ self.code = code
+ self.message = message
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Error information for full-size preview
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityIconField
+(alt_text: str,
url: str | None = None,
slack_file: Dict[str, Any] | EntityIconSlackFile | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EntityIconField(JsonObject):
+ """Icon field for entity attributes"""
+
+ attributes = {
+ "alt_text",
+ "url",
+ "slack_file",
+ }
+
+ def __init__(
+ self,
+ alt_text: str,
+ url: Optional[str] = None,
+ slack_file: Optional[Union[Dict[str, Any], EntityIconSlackFile]] = None,
+ **kwargs,
+ ):
+ self.alt_text = alt_text
+ self.url = url
+ self.slack_file = slack_file
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Icon field for entity attributes
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityIconSlackFile
+(id: str | None = None, url: str | None = None, **kwargs)
+
+-
+
+
+Expand source code
+
+class EntityIconSlackFile(JsonObject):
+ """Slack file reference for entity icon"""
+
+ attributes = {
+ "id",
+ "url",
+ }
+
+ def __init__(
+ self,
+ id: Optional[str] = None,
+ url: Optional[str] = None,
+ **kwargs,
+ ):
+ self.id = id
+ self.url = url
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Slack file reference for entity icon
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityImageField
+(alt_text: str,
label: str | None = None,
image_url: str | None = None,
slack_file: Dict[str, Any] | None = None,
title: str | None = None,
type: str | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EntityImageField(JsonObject):
+ """Image field for entity"""
+
+ attributes = {
+ "alt_text",
+ "label",
+ "image_url",
+ "slack_file",
+ "title",
+ "type",
+ }
+
+ def __init__(
+ self,
+ alt_text: str,
+ label: Optional[str] = None,
+ image_url: Optional[str] = None,
+ slack_file: Optional[Dict[str, Any]] = None,
+ title: Optional[str] = None,
+ type: Optional[str] = None,
+ **kwargs,
+ ):
+ self.alt_text = alt_text
+ self.label = label
+ self.image_url = image_url
+ self.slack_file = slack_file
+ self.title = title
+ self.type = type
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Image field for entity
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityMetadata
+(entity_type: str,
entity_payload: Dict[str, Any] | EntityPayload,
external_ref: Dict[str, Any] | ExternalRef,
url: str,
app_unfurl_url: str | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EntityMetadata(JsonObject):
+ """Work object entity metadata
+
+ https://docs.slack.dev/messaging/work-objects/
+ """
+
+ attributes = {
+ "entity_type",
+ "entity_payload",
+ "external_ref",
+ "url",
+ "app_unfurl_url",
+ }
+
+ def __init__(
+ self,
+ entity_type: str,
+ entity_payload: Union[Dict[str, Any], EntityPayload],
+ external_ref: Union[Dict[str, Any], ExternalRef],
+ url: str,
+ app_unfurl_url: Optional[str] = None,
+ **kwargs,
+ ):
+ self.entity_type = entity_type
+ self.entity_payload = entity_payload
+ self.external_ref = external_ref
+ self.url = url
+ self.app_unfurl_url = app_unfurl_url
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+ @EnumValidator("entity_type", EntityType)
+ def entity_type_valid(self):
+ return self.entity_type is None or self.entity_type in EntityType
+
+Work object entity metadata
+
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Methods
+
+
+def entity_type_valid(self)
+
+-
+
+
+Expand source code
+
+@EnumValidator("entity_type", EntityType)
+def entity_type_valid(self):
+ return self.entity_type is None or self.entity_type in EntityType
+
+
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityPayload
+(attributes: Dict[str, Any] | EntityAttributes,
fields: Dict[str, Any] | ContentItemEntityFields | FileEntityFields | IncidentEntityFields | TaskEntityFields | None = None,
custom_fields: List[Dict[str, Any] | EntityCustomField] | None = None,
slack_file: Dict[str, Any] | FileEntitySlackFile | None = None,
display_order: List[str] | None = None,
actions: Dict[str, Any] | EntityActions | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EntityPayload(JsonObject):
+ """Payload schema for an entity"""
+
+ attributes = {
+ "attributes",
+ "fields",
+ "custom_fields",
+ "slack_file",
+ "display_order",
+ "actions",
+ }
+
+ def __init__(
+ self,
+ attributes: Union[Dict[str, Any], EntityAttributes],
+ fields: Optional[
+ Union[Dict[str, Any], ContentItemEntityFields, FileEntityFields, IncidentEntityFields, TaskEntityFields]
+ ] = None,
+ custom_fields: Optional[List[Union[Dict[str, Any], EntityCustomField]]] = None,
+ slack_file: Optional[Union[Dict[str, Any], FileEntitySlackFile]] = None,
+ display_order: Optional[List[str]] = None,
+ actions: Optional[Union[Dict[str, Any], EntityActions]] = None,
+ **kwargs,
+ ):
+ # Store entity attributes data with a different internal name to avoid
+ # shadowing the class-level 'attributes' set used for JSON serialization
+ self._entity_attributes = attributes
+ self.fields = fields
+ self.custom_fields = custom_fields
+ self.slack_file = slack_file
+ self.display_order = display_order
+ self.actions = actions
+ self.additional_attributes = kwargs
+
+ @property
+ def entity_attributes(self) -> Union[Dict[str, Any], EntityAttributes]:
+ """Get the entity attributes data.
+
+ Note: Use this property to access the attributes data. The class-level
+ 'attributes' is reserved for the JSON serialization schema.
+ """
+ return self._entity_attributes
+
+ @entity_attributes.setter
+ def entity_attributes(self, value: Union[Dict[str, Any], EntityAttributes]):
+ """Set the entity attributes data."""
+ self._entity_attributes = value
+
+ def get_object_attribute(self, key: str):
+ if key == "attributes":
+ return self._entity_attributes
+ else:
+ return getattr(self, key, None)
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Payload schema for an entity
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Instance variables
+
+prop entity_attributes : Dict[str, Any] | EntityAttributes
+-
+
+
+Expand source code
+
+@property
+def entity_attributes(self) -> Union[Dict[str, Any], EntityAttributes]:
+ """Get the entity attributes data.
+
+ Note: Use this property to access the attributes data. The class-level
+ 'attributes' is reserved for the JSON serialization schema.
+ """
+ return self._entity_attributes
+
+Get the entity attributes data.
+Note: Use this property to access the attributes data. The class-level
+'attributes' is reserved for the JSON serialization schema.
+
+
+Methods
+
+
+def get_object_attribute(self, key: str)
+
+-
+
+
+Expand source code
+
+def get_object_attribute(self, key: str):
+ if key == "attributes":
+ return self._entity_attributes
+ else:
+ return getattr(self, key, None)
+
+
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityRefField
+(entity_url: str,
external_ref: Dict[str, Any] | ExternalRef,
title: str,
display_type: str | None = None,
icon: Dict[str, Any] | EntityIconField | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EntityRefField(JsonObject):
+ """Entity reference field"""
+
+ attributes = {
+ "entity_url",
+ "external_ref",
+ "title",
+ "display_type",
+ "icon",
+ }
+
+ def __init__(
+ self,
+ entity_url: str,
+ external_ref: Union[Dict[str, Any], ExternalRef],
+ title: str,
+ display_type: Optional[str] = None,
+ icon: Optional[Union[Dict[str, Any], EntityIconField]] = None,
+ **kwargs,
+ ):
+ self.entity_url = entity_url
+ self.external_ref = external_ref
+ self.title = title
+ self.display_type = display_type
+ self.icon = icon
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Entity reference field
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityStringField
+(value: str,
label: str | None = None,
format: str | None = None,
link: str | None = None,
icon: Dict[str, Any] | EntityIconField | None = None,
long: bool | None = None,
type: str | None = None,
tag_color: str | None = None,
edit: Dict[str, Any] | EntityEditSupport | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EntityStringField(JsonObject):
+ """String field for entity"""
+
+ attributes = {
+ "value",
+ "label",
+ "format",
+ "link",
+ "icon",
+ "long",
+ "type",
+ "tag_color",
+ "edit",
+ }
+
+ def __init__(
+ self,
+ value: str,
+ label: Optional[str] = None,
+ format: Optional[str] = None,
+ link: Optional[str] = None,
+ icon: Optional[Union[Dict[str, Any], EntityIconField]] = None,
+ long: Optional[bool] = None,
+ type: Optional[str] = None,
+ tag_color: Optional[str] = None,
+ edit: Optional[Union[Dict[str, Any], EntityEditSupport]] = None,
+ **kwargs,
+ ):
+ self.value = value
+ self.label = label
+ self.format = format
+ self.link = link
+ self.icon = icon
+ self.long = long
+ self.type = type
+ self.tag_color = tag_color
+ self.edit = edit
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+String field for entity
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityTimestampField
+(value: int,
label: str | None = None,
type: str | None = None,
edit: Dict[str, Any] | EntityEditSupport | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EntityTimestampField(JsonObject):
+ """Timestamp field for entity"""
+
+ attributes = {
+ "value",
+ "label",
+ "type",
+ "edit",
+ }
+
+ def __init__(
+ self,
+ value: int,
+ label: Optional[str] = None,
+ type: Optional[str] = None,
+ edit: Optional[Union[Dict[str, Any], EntityEditSupport]] = None,
+ **kwargs,
+ ):
+ self.value = value
+ self.label = label
+ self.type = type
+ self.edit = edit
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Timestamp field for entity
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityTitle
+(text: str,
edit: Dict[str, Any] | EntityEditSupport | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EntityTitle(JsonObject):
+ """Title for entity attributes"""
+
+ attributes = {
+ "text",
+ "edit",
+ }
+
+ def __init__(
+ self,
+ text: str,
+ edit: Optional[Union[Dict[str, Any], EntityEditSupport]] = None,
+ **kwargs,
+ ):
+ self.text = text
+ self.edit = edit
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Title for entity attributes
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityTypedField
+(type: str,
label: str | None = None,
value: str | int | None = None,
link: str | None = None,
icon: Dict[str, Any] | EntityIconField | None = None,
long: bool | None = None,
format: str | None = None,
image_url: str | None = None,
slack_file: Dict[str, Any] | None = None,
alt_text: str | None = None,
edit: Dict[str, Any] | EntityEditSupport | None = None,
tag_color: str | None = None,
user: Dict[str, Any] | EntityUserIDField | EntityUserField | None = None,
entity_ref: Dict[str, Any] | EntityRefField | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EntityTypedField(JsonObject):
+ """Typed field for entity with various display options"""
+
+ attributes = {
+ "type",
+ "label",
+ "value",
+ "link",
+ "icon",
+ "long",
+ "format",
+ "image_url",
+ "slack_file",
+ "alt_text",
+ "edit",
+ "tag_color",
+ "user",
+ "entity_ref",
+ }
+
+ def __init__(
+ self,
+ type: str,
+ label: Optional[str] = None,
+ value: Optional[Union[str, int]] = None,
+ link: Optional[str] = None,
+ icon: Optional[Union[Dict[str, Any], EntityIconField]] = None,
+ long: Optional[bool] = None,
+ format: Optional[str] = None,
+ image_url: Optional[str] = None,
+ slack_file: Optional[Dict[str, Any]] = None,
+ alt_text: Optional[str] = None,
+ edit: Optional[Union[Dict[str, Any], EntityEditSupport]] = None,
+ tag_color: Optional[str] = None,
+ user: Optional[Union[Dict[str, Any], EntityUserIDField, EntityUserField]] = None,
+ entity_ref: Optional[Union[Dict[str, Any], EntityRefField]] = None,
+ **kwargs,
+ ):
+ self.type = type
+ self.label = label
+ self.value = value
+ self.link = link
+ self.icon = icon
+ self.long = long
+ self.format = format
+ self.image_url = image_url
+ self.slack_file = slack_file
+ self.alt_text = alt_text
+ self.edit = edit
+ self.tag_color = tag_color
+ self.user = user
+ self.entity_ref = entity_ref
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Typed field for entity with various display options
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityUserField
+(text: str,
url: str | None = None,
email: str | None = None,
icon: Dict[str, Any] | EntityIconField | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EntityUserField(JsonObject):
+ """User field for entity"""
+
+ attributes = {
+ "text",
+ "url",
+ "email",
+ "icon",
+ }
+
+ def __init__(
+ self,
+ text: str,
+ url: Optional[str] = None,
+ email: Optional[str] = None,
+ icon: Optional[Union[Dict[str, Any], EntityIconField]] = None,
+ **kwargs,
+ ):
+ self.text = text
+ self.url = url
+ self.email = email
+ self.icon = icon
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+User field for entity
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EntityUserIDField
+(user_id: str, **kwargs)
+
+-
+
+
+Expand source code
+
+class EntityUserIDField(JsonObject):
+ """User ID field for entity"""
+
+ attributes = {
+ "user_id",
+ }
+
+ def __init__(
+ self,
+ user_id: str,
+ **kwargs,
+ ):
+ self.user_id = user_id
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+User ID field for entity
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class EventAndEntityMetadata
+(event_type: str | None = None,
event_payload: Dict[str, Any] | None = None,
entities: List[Dict[str, Any] | EntityMetadata] | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class EventAndEntityMetadata(JsonObject):
+ """Message metadata with entities
+
+ https://docs.slack.dev/messaging/message-metadata/
+ https://docs.slack.dev/messaging/work-objects/
+ """
+
+ attributes = {"event_type", "event_payload", "entities"}
+
+ def __init__(
+ self,
+ event_type: Optional[str] = None,
+ event_payload: Optional[Dict[str, Any]] = None,
+ entities: Optional[List[Union[Dict[str, Any], EntityMetadata]]] = None,
+ **kwargs,
+ ):
+ self.event_type = event_type
+ self.event_payload = event_payload
+ self.entities = entities
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Message metadata with entities
+https://docs.slack.dev/messaging/message-metadata/
+https://docs.slack.dev/messaging/work-objects/
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class ExternalRef
+(id: str, type: str | None = None, **kwargs)
+
+-
+
+
+Expand source code
+
+class ExternalRef(JsonObject):
+ """Reference (and optional type) used to identify an entity within the developer's system"""
+
+ attributes = {
+ "id",
+ "type",
+ }
+
+ def __init__(
+ self,
+ id: str,
+ type: Optional[str] = None,
+ **kwargs,
+ ):
+ self.id = id
+ self.type = type
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Reference (and optional type) used to identify an entity within the developer's system
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class FileEntityFields
+(preview: Dict[str, Any] | EntityImageField | None = None,
created_by: Dict[str, Any] | EntityTypedField | None = None,
date_created: Dict[str, Any] | EntityTimestampField | None = None,
date_updated: Dict[str, Any] | EntityTimestampField | None = None,
last_modified_by: Dict[str, Any] | EntityTypedField | None = None,
file_size: Dict[str, Any] | EntityStringField | None = None,
mime_type: Dict[str, Any] | EntityStringField | None = None,
full_size_preview: Dict[str, Any] | EntityFullSizePreview | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class FileEntityFields(JsonObject):
+ """Fields specific to file entities"""
+
+ attributes = {
+ "preview",
+ "created_by",
+ "date_created",
+ "date_updated",
+ "last_modified_by",
+ "file_size",
+ "mime_type",
+ "full_size_preview",
+ }
+
+ def __init__(
+ self,
+ preview: Optional[Union[Dict[str, Any], EntityImageField]] = None,
+ created_by: Optional[Union[Dict[str, Any], EntityTypedField]] = None,
+ date_created: Optional[Union[Dict[str, Any], EntityTimestampField]] = None,
+ date_updated: Optional[Union[Dict[str, Any], EntityTimestampField]] = None,
+ last_modified_by: Optional[Union[Dict[str, Any], EntityTypedField]] = None,
+ file_size: Optional[Union[Dict[str, Any], EntityStringField]] = None,
+ mime_type: Optional[Union[Dict[str, Any], EntityStringField]] = None,
+ full_size_preview: Optional[Union[Dict[str, Any], EntityFullSizePreview]] = None,
+ **kwargs,
+ ):
+ self.preview = preview
+ self.created_by = created_by
+ self.date_created = date_created
+ self.date_updated = date_updated
+ self.last_modified_by = last_modified_by
+ self.file_size = file_size
+ self.mime_type = mime_type
+ self.full_size_preview = full_size_preview
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Fields specific to file entities
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class FileEntitySlackFile
+(id: str, type: str | None = None, **kwargs)
+
+-
+
+
+Expand source code
+
+class FileEntitySlackFile(JsonObject):
+ """Slack file reference for file entities"""
+
+ attributes = {
+ "id",
+ "type",
+ }
+
+ def __init__(
+ self,
+ id: str,
+ type: Optional[str] = None,
+ **kwargs,
+ ):
+ self.id = id
+ self.type = type
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Slack file reference for file entities
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
+
+class IncidentEntityFields
+(status: Dict[str, Any] | EntityStringField | None = None,
priority: Dict[str, Any] | EntityStringField | None = None,
urgency: Dict[str, Any] | EntityStringField | None = None,
created_by: Dict[str, Any] | EntityTypedField | None = None,
assigned_to: Dict[str, Any] | EntityTypedField | None = None,
date_created: Dict[str, Any] | EntityTimestampField | None = None,
date_updated: Dict[str, Any] | EntityTimestampField | None = None,
description: Dict[str, Any] | EntityStringField | None = None,
service: Dict[str, Any] | EntityStringField | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class IncidentEntityFields(JsonObject):
+ """Fields specific to incident entities"""
+
+ attributes = {
+ "status",
+ "priority",
+ "urgency",
+ "created_by",
+ "assigned_to",
+ "date_created",
+ "date_updated",
+ "description",
+ "service",
+ }
+
+ def __init__(
+ self,
+ status: Optional[Union[Dict[str, Any], EntityStringField]] = None,
+ priority: Optional[Union[Dict[str, Any], EntityStringField]] = None,
+ urgency: Optional[Union[Dict[str, Any], EntityStringField]] = None,
+ created_by: Optional[Union[Dict[str, Any], EntityTypedField]] = None,
+ assigned_to: Optional[Union[Dict[str, Any], EntityTypedField]] = None,
+ date_created: Optional[Union[Dict[str, Any], EntityTimestampField]] = None,
+ date_updated: Optional[Union[Dict[str, Any], EntityTimestampField]] = None,
+ description: Optional[Union[Dict[str, Any], EntityStringField]] = None,
+ service: Optional[Union[Dict[str, Any], EntityStringField]] = None,
+ **kwargs,
+ ):
+ self.status = status
+ self.priority = priority
+ self.urgency = urgency
+ self.created_by = created_by
+ self.assigned_to = assigned_to
+ self.date_created = date_created
+ self.date_updated = date_updated
+ self.description = description
+ self.service = service
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Fields specific to incident entities
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
class Metadata
(event_type: str, event_payload: Dict[str, Any], **kwargs)
@@ -107,6 +2365,81 @@ Inherited members
+
+class TaskEntityFields
+(description: Dict[str, Any] | EntityStringField | None = None,
created_by: Dict[str, Any] | EntityTypedField | None = None,
date_created: Dict[str, Any] | EntityTimestampField | None = None,
date_updated: Dict[str, Any] | EntityTimestampField | None = None,
assignee: Dict[str, Any] | EntityTypedField | None = None,
status: Dict[str, Any] | EntityStringField | None = None,
due_date: Dict[str, Any] | EntityTypedField | None = None,
priority: Dict[str, Any] | EntityStringField | None = None,
**kwargs)
+
+-
+
+
+Expand source code
+
+class TaskEntityFields(JsonObject):
+ """Fields specific to task entities"""
+
+ attributes = {
+ "description",
+ "created_by",
+ "date_created",
+ "date_updated",
+ "assignee",
+ "status",
+ "due_date",
+ "priority",
+ }
+
+ def __init__(
+ self,
+ description: Optional[Union[Dict[str, Any], EntityStringField]] = None,
+ created_by: Optional[Union[Dict[str, Any], EntityTypedField]] = None,
+ date_created: Optional[Union[Dict[str, Any], EntityTimestampField]] = None,
+ date_updated: Optional[Union[Dict[str, Any], EntityTimestampField]] = None,
+ assignee: Optional[Union[Dict[str, Any], EntityTypedField]] = None,
+ status: Optional[Union[Dict[str, Any], EntityStringField]] = None,
+ due_date: Optional[Union[Dict[str, Any], EntityTypedField]] = None,
+ priority: Optional[Union[Dict[str, Any], EntityStringField]] = None,
+ **kwargs,
+ ):
+ self.description = description
+ self.created_by = created_by
+ self.date_created = date_created
+ self.date_updated = date_updated
+ self.assignee = assignee
+ self.status = status
+ self.due_date = due_date
+ self.priority = priority
+ self.additional_attributes = kwargs
+
+ def __str__(self):
+ return str(self.get_non_null_attributes())
+
+ def __repr__(self):
+ return self.__str__()
+
+Fields specific to task entities
+Ancestors
+
+- JsonObject
+- BaseObject
+
+Class variables
+
+var attributes
+-
+
The type of the None singleton.
+
+
+Inherited members
+
+JsonObject:
+
+
+
+
@@ -120,14 +2453,221 @@ Inherited members
slack_sdk.models
+Global variables
+
+EntityType
+
+
Classes
-
+
ContentItemEntityFields
+
+attributes
+
+
+-
+
EntityActionButton
+
+attributes
+
+
+-
+
EntityActionProcessingState
+
+attributes
+
+
+-
+
EntityActions
+
+attributes
+
+
+-
+
EntityArrayItemField
+
+attributes
+
+
+-
+
EntityAttributes
+
+attributes
+
+
+-
+
EntityBooleanCheckboxField
+
+attributes
+
+
+-
+
EntityBooleanTextField
+
+attributes
+
+
+-
+
EntityCustomField
+
+attributes
+type_valid
+
+
+-
+
EntityEditNumberConfig
+
+attributes
+
+
+-
+
EntityEditSelectConfig
+
+attributes
+
+
+-
+
EntityEditSupport
+
+attributes
+
+
+-
+
EntityEditTextConfig
+
+attributes
+
+
+-
+
EntityFullSizePreview
+
+attributes
+
+
+-
+
EntityFullSizePreviewError
+
+attributes
+
+
+-
+
EntityIconField
+
+attributes
+
+
+-
+
EntityIconSlackFile
+
+attributes
+
+
+-
+
EntityImageField
+
+attributes
+
+
+-
+
EntityMetadata
+
+
+-
+
EntityPayload
+
+
+-
+
EntityRefField
+
+attributes
+
+
+-
+
EntityStringField
+
+attributes
+
+
+-
+
EntityTimestampField
+
+attributes
+
+
+-
+
EntityTitle
+
+attributes
+
+
+-
+
EntityTypedField
+
+attributes
+
+
+-
+
EntityUserField
+
+attributes
+
+
+-
+
EntityUserIDField
+
+attributes
+
+
+-
+
EventAndEntityMetadata
+
+attributes
+
+
+-
+
ExternalRef
+
+attributes
+
+
+-
+
FileEntityFields
+
+attributes
+
+
+-
+
FileEntitySlackFile
+
+attributes
+
+
+-
+
IncidentEntityFields
+
+attributes
+
+
+-
Metadata
+-
+
TaskEntityFields
+
+attributes
+
+
diff --git a/docs/reference/web/async_client.html b/docs/reference/web/async_client.html
index 6e9c712fe..2ec1ba84a 100644
--- a/docs/reference/web/async_client.html
+++ b/docs/reference/web/async_client.html
@@ -2790,7 +2790,7 @@ Classes
link_names: Optional[bool] = None,
username: Optional[str] = None,
parse: Optional[str] = None, # none, full
- metadata: Optional[Union[Dict, Metadata]] = None,
+ metadata: Optional[Union[Dict, Metadata, EventAndEntityMetadata]] = None,
markdown_text: Optional[str] = None,
**kwargs,
) -> AsyncSlackResponse:
@@ -3019,6 +3019,7 @@ Classes
source: Optional[str] = None,
unfurl_id: Optional[str] = None,
unfurls: Optional[Dict[str, Dict]] = None, # or user_auth_*
+ metadata: Optional[Union[Dict, EventAndEntityMetadata]] = None,
user_auth_blocks: Optional[Union[str, Sequence[Union[Dict, Block]]]] = None,
user_auth_message: Optional[str] = None,
user_auth_required: Optional[bool] = None,
@@ -3035,6 +3036,7 @@ Classes
"source": source,
"unfurl_id": unfurl_id,
"unfurls": unfurls,
+ "metadata": metadata,
"user_auth_blocks": user_auth_blocks,
"user_auth_message": user_auth_message,
"user_auth_required": user_auth_required,
@@ -3666,6 +3668,30 @@ Classes
kwargs.update({"include_categories": include_categories})
return await self.api_call("emoji.list", http_verb="GET", params=kwargs)
+ async def entity_presentDetails(
+ self,
+ trigger_id: str,
+ metadata: Optional[Union[Dict, EntityMetadata]] = None,
+ user_auth_required: Optional[bool] = None,
+ user_auth_url: Optional[str] = None,
+ error: Optional[Dict[str, Any]] = None,
+ **kwargs,
+ ) -> AsyncSlackResponse:
+ """Provides entity details for the flexpane.
+ https://docs.slack.dev/reference/methods/entity.presentDetails/
+ """
+ kwargs.update({"trigger_id": trigger_id})
+ if metadata is not None:
+ kwargs.update({"metadata": metadata})
+ if user_auth_required is not None:
+ kwargs.update({"user_auth_required": user_auth_required})
+ if user_auth_url is not None:
+ kwargs.update({"user_auth_url": user_auth_url})
+ if error is not None:
+ kwargs.update({"error": error})
+ _parse_web_class_objects(kwargs)
+ return await self.api_call("entity.presentDetails", json=kwargs)
+
async def files_comments_delete(
self,
*,
@@ -4920,6 +4946,249 @@ Classes
)
return await self.api_call("search.messages", http_verb="GET", params=kwargs)
+ async def slackLists_access_delete(
+ self,
+ *,
+ list_id: str,
+ channel_ids: Optional[List[str]] = None,
+ user_ids: Optional[List[str]] = None,
+ **kwargs,
+ ) -> AsyncSlackResponse:
+ """Revoke access to a List for specified entities.
+ https://docs.slack.dev/reference/methods/slackLists.access.delete
+ """
+ kwargs.update({"list_id": list_id, "channel_ids": channel_ids, "user_ids": user_ids})
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.access.delete", json=kwargs)
+
+ async def slackLists_access_set(
+ self,
+ *,
+ list_id: str,
+ access_level: str,
+ channel_ids: Optional[List[str]] = None,
+ user_ids: Optional[List[str]] = None,
+ **kwargs,
+ ) -> AsyncSlackResponse:
+ """Set the access level to a List for specified entities.
+ https://docs.slack.dev/reference/methods/slackLists.access.set
+ """
+ kwargs.update({"list_id": list_id, "access_level": access_level, "channel_ids": channel_ids, "user_ids": user_ids})
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.access.set", json=kwargs)
+
+ async def slackLists_create(
+ self,
+ *,
+ name: str,
+ description_blocks: Optional[Union[str, Sequence[Union[Dict, RichTextBlock]]]] = None,
+ schema: Optional[List[Dict[str, Any]]] = None,
+ copy_from_list_id: Optional[str] = None,
+ include_copied_list_records: Optional[bool] = None,
+ todo_mode: Optional[bool] = None,
+ **kwargs,
+ ) -> AsyncSlackResponse:
+ """Creates a List.
+ https://docs.slack.dev/reference/methods/slackLists.create
+ """
+ kwargs.update(
+ {
+ "name": name,
+ "description_blocks": description_blocks,
+ "schema": schema,
+ "copy_from_list_id": copy_from_list_id,
+ "include_copied_list_records": include_copied_list_records,
+ "todo_mode": todo_mode,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.create", json=kwargs)
+
+ async def slackLists_download_get(
+ self,
+ *,
+ list_id: str,
+ job_id: str,
+ **kwargs,
+ ) -> AsyncSlackResponse:
+ """Retrieve List download URL from an export job to download List contents.
+ https://docs.slack.dev/reference/methods/slackLists.download.get
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "job_id": job_id,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.download.get", json=kwargs)
+
+ async def slackLists_download_start(
+ self,
+ *,
+ list_id: str,
+ include_archived: Optional[bool] = None,
+ **kwargs,
+ ) -> AsyncSlackResponse:
+ """Initiate a job to export List contents.
+ https://docs.slack.dev/reference/methods/slackLists.download.start
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "include_archived": include_archived,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.download.start", json=kwargs)
+
+ async def slackLists_items_create(
+ self,
+ *,
+ list_id: str,
+ duplicated_item_id: Optional[str] = None,
+ parent_item_id: Optional[str] = None,
+ initial_fields: Optional[List[Dict[str, Any]]] = None,
+ **kwargs,
+ ) -> AsyncSlackResponse:
+ """Add a new item to an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.create
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "duplicated_item_id": duplicated_item_id,
+ "parent_item_id": parent_item_id,
+ "initial_fields": initial_fields,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.items.create", json=kwargs)
+
+ async def slackLists_items_delete(
+ self,
+ *,
+ list_id: str,
+ id: str,
+ **kwargs,
+ ) -> AsyncSlackResponse:
+ """Deletes an item from an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.delete
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "id": id,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.items.delete", json=kwargs)
+
+ async def slackLists_items_deleteMultiple(
+ self,
+ *,
+ list_id: str,
+ ids: List[str],
+ **kwargs,
+ ) -> AsyncSlackResponse:
+ """Deletes multiple items from an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.deleteMultiple
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "ids": ids,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.items.deleteMultiple", json=kwargs)
+
+ async def slackLists_items_info(
+ self,
+ *,
+ list_id: str,
+ id: str,
+ include_is_subscribed: Optional[bool] = None,
+ **kwargs,
+ ) -> AsyncSlackResponse:
+ """Get a row from a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.info
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "id": id,
+ "include_is_subscribed": include_is_subscribed,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.items.info", json=kwargs)
+
+ async def slackLists_items_list(
+ self,
+ *,
+ list_id: str,
+ limit: Optional[int] = None,
+ cursor: Optional[str] = None,
+ archived: Optional[bool] = None,
+ **kwargs,
+ ) -> AsyncSlackResponse:
+ """Get records from a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.list
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "limit": limit,
+ "cursor": cursor,
+ "archived": archived,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.items.list", json=kwargs)
+
+ async def slackLists_items_update(
+ self,
+ *,
+ list_id: str,
+ cells: List[Dict[str, Any]],
+ **kwargs,
+ ) -> AsyncSlackResponse:
+ """Updates cells in a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.update
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "cells": cells,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.items.update", json=kwargs)
+
+ async def slackLists_update(
+ self,
+ *,
+ id: str,
+ name: Optional[str] = None,
+ description_blocks: Optional[Union[str, Sequence[Union[Dict, RichTextBlock]]]] = None,
+ todo_mode: Optional[bool] = None,
+ **kwargs,
+ ) -> AsyncSlackResponse:
+ """Update a List.
+ https://docs.slack.dev/reference/methods/slackLists.update
+ """
+ kwargs.update(
+ {
+ "id": id,
+ "name": name,
+ "description_blocks": description_blocks,
+ "todo_mode": todo_mode,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.update", json=kwargs)
+
async def stars_add(
self,
*,
@@ -10066,7 +10335,7 @@ Methods
https://docs.slack.dev/reference/methods/chat.postEphemeral
-async def chat_postMessage(self,
*,
channel: str,
text: str | None = None,
as_user: bool | None = None,
attachments: str | Sequence[Dict | Attachment] | None = None,
blocks: str | Sequence[Dict | Block] | None = None,
thread_ts: str | None = None,
reply_broadcast: bool | None = None,
unfurl_links: bool | None = None,
unfurl_media: bool | None = None,
container_id: str | None = None,
icon_emoji: str | None = None,
icon_url: str | None = None,
mrkdwn: bool | None = None,
link_names: bool | None = None,
username: str | None = None,
parse: str | None = None,
metadata: Dict | Metadata | None = None,
markdown_text: str | None = None,
**kwargs) ‑> AsyncSlackResponse
+async def chat_postMessage(self,
*,
channel: str,
text: str | None = None,
as_user: bool | None = None,
attachments: str | Sequence[Dict | Attachment] | None = None,
blocks: str | Sequence[Dict | Block] | None = None,
thread_ts: str | None = None,
reply_broadcast: bool | None = None,
unfurl_links: bool | None = None,
unfurl_media: bool | None = None,
container_id: str | None = None,
icon_emoji: str | None = None,
icon_url: str | None = None,
mrkdwn: bool | None = None,
link_names: bool | None = None,
username: str | None = None,
parse: str | None = None,
metadata: Dict | Metadata | EventAndEntityMetadata | None = None,
markdown_text: str | None = None,
**kwargs) ‑> AsyncSlackResponse
-
@@ -10092,7 +10361,7 @@
Methods
link_names: Optional[bool] = None,
username: Optional[str] = None,
parse: Optional[str] = None, # none, full
- metadata: Optional[Union[Dict, Metadata]] = None,
+ metadata: Optional[Union[Dict, Metadata, EventAndEntityMetadata]] = None,
markdown_text: Optional[str] = None,
**kwargs,
) -> AsyncSlackResponse:
@@ -10414,7 +10683,7 @@ Example
-async def chat_unfurl(self,
*,
channel: str | None = None,
ts: str | None = None,
source: str | None = None,
unfurl_id: str | None = None,
unfurls: Dict[str, Dict] | None = None,
user_auth_blocks: str | Sequence[Dict | Block] | None = None,
user_auth_message: str | None = None,
user_auth_required: bool | None = None,
user_auth_url: str | None = None,
**kwargs) ‑> AsyncSlackResponse
+async def chat_unfurl(self,
*,
channel: str | None = None,
ts: str | None = None,
source: str | None = None,
unfurl_id: str | None = None,
unfurls: Dict[str, Dict] | None = None,
metadata: Dict | EventAndEntityMetadata | None = None,
user_auth_blocks: str | Sequence[Dict | Block] | None = None,
user_auth_message: str | None = None,
user_auth_required: bool | None = None,
user_auth_url: str | None = None,
**kwargs) ‑> AsyncSlackResponse
-
@@ -10429,6 +10698,7 @@
Example
source: Optional[str] = None,
unfurl_id: Optional[str] = None,
unfurls: Optional[Dict[str, Dict]] = None, # or user_auth_*
+ metadata: Optional[Union[Dict, EventAndEntityMetadata]] = None,
user_auth_blocks: Optional[Union[str, Sequence[Union[Dict, Block]]]] = None,
user_auth_message: Optional[str] = None,
user_auth_required: Optional[bool] = None,
@@ -10445,6 +10715,7 @@ Example
"source": source,
"unfurl_id": unfurl_id,
"unfurls": unfurls,
+ "metadata": metadata,
"user_auth_blocks": user_auth_blocks,
"user_auth_message": user_auth_message,
"user_auth_required": user_auth_required,
@@ -11476,6 +11747,41 @@ Example
Lists custom emoji for a team.
https://docs.slack.dev/reference/methods/emoji.list
+
+async def entity_presentDetails(self,
trigger_id: str,
metadata: Dict | EntityMetadata | None = None,
user_auth_required: bool | None = None,
user_auth_url: str | None = None,
error: Dict[str, Any] | None = None,
**kwargs) ‑> AsyncSlackResponse
+
+-
+
+
+Expand source code
+
+async def entity_presentDetails(
+ self,
+ trigger_id: str,
+ metadata: Optional[Union[Dict, EntityMetadata]] = None,
+ user_auth_required: Optional[bool] = None,
+ user_auth_url: Optional[str] = None,
+ error: Optional[Dict[str, Any]] = None,
+ **kwargs,
+) -> AsyncSlackResponse:
+ """Provides entity details for the flexpane.
+ https://docs.slack.dev/reference/methods/entity.presentDetails/
+ """
+ kwargs.update({"trigger_id": trigger_id})
+ if metadata is not None:
+ kwargs.update({"metadata": metadata})
+ if user_auth_required is not None:
+ kwargs.update({"user_auth_required": user_auth_required})
+ if user_auth_url is not None:
+ kwargs.update({"user_auth_url": user_auth_url})
+ if error is not None:
+ kwargs.update({"error": error})
+ _parse_web_class_objects(kwargs)
+ return await self.api_call("entity.presentDetails", json=kwargs)
+
+Provides entity details for the flexpane.
+https://docs.slack.dev/reference/methods/entity.presentDetails/
+
async def files_comments_delete(self, *, file: str, id: str, **kwargs) ‑> AsyncSlackResponse
@@ -13451,6 +13757,381 @@ Example
Searches for messages matching a query.
https://docs.slack.dev/reference/methods/search.messages
+
+async def slackLists_access_delete(self,
*,
list_id: str,
channel_ids: List[str] | None = None,
user_ids: List[str] | None = None,
**kwargs) ‑> AsyncSlackResponse
+
+-
+
+
+Expand source code
+
+async def slackLists_access_delete(
+ self,
+ *,
+ list_id: str,
+ channel_ids: Optional[List[str]] = None,
+ user_ids: Optional[List[str]] = None,
+ **kwargs,
+) -> AsyncSlackResponse:
+ """Revoke access to a List for specified entities.
+ https://docs.slack.dev/reference/methods/slackLists.access.delete
+ """
+ kwargs.update({"list_id": list_id, "channel_ids": channel_ids, "user_ids": user_ids})
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.access.delete", json=kwargs)
+
+Revoke access to a List for specified entities.
+https://docs.slack.dev/reference/methods/slackLists.access.delete
+
+
+async def slackLists_access_set(self,
*,
list_id: str,
access_level: str,
channel_ids: List[str] | None = None,
user_ids: List[str] | None = None,
**kwargs) ‑> AsyncSlackResponse
+
+-
+
+
+Expand source code
+
+async def slackLists_access_set(
+ self,
+ *,
+ list_id: str,
+ access_level: str,
+ channel_ids: Optional[List[str]] = None,
+ user_ids: Optional[List[str]] = None,
+ **kwargs,
+) -> AsyncSlackResponse:
+ """Set the access level to a List for specified entities.
+ https://docs.slack.dev/reference/methods/slackLists.access.set
+ """
+ kwargs.update({"list_id": list_id, "access_level": access_level, "channel_ids": channel_ids, "user_ids": user_ids})
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.access.set", json=kwargs)
+
+Set the access level to a List for specified entities.
+https://docs.slack.dev/reference/methods/slackLists.access.set
+
+
+async def slackLists_create(self,
*,
name: str,
description_blocks: str | Sequence[Dict | RichTextBlock] | None = None,
schema: List[Dict[str, Any]] | None = None,
copy_from_list_id: str | None = None,
include_copied_list_records: bool | None = None,
todo_mode: bool | None = None,
**kwargs) ‑> AsyncSlackResponse
+
+-
+
+
+Expand source code
+
+async def slackLists_create(
+ self,
+ *,
+ name: str,
+ description_blocks: Optional[Union[str, Sequence[Union[Dict, RichTextBlock]]]] = None,
+ schema: Optional[List[Dict[str, Any]]] = None,
+ copy_from_list_id: Optional[str] = None,
+ include_copied_list_records: Optional[bool] = None,
+ todo_mode: Optional[bool] = None,
+ **kwargs,
+) -> AsyncSlackResponse:
+ """Creates a List.
+ https://docs.slack.dev/reference/methods/slackLists.create
+ """
+ kwargs.update(
+ {
+ "name": name,
+ "description_blocks": description_blocks,
+ "schema": schema,
+ "copy_from_list_id": copy_from_list_id,
+ "include_copied_list_records": include_copied_list_records,
+ "todo_mode": todo_mode,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.create", json=kwargs)
+
+Creates a List.
+https://docs.slack.dev/reference/methods/slackLists.create
+
+
+async def slackLists_download_get(self, *, list_id: str, job_id: str, **kwargs) ‑> AsyncSlackResponse
+
+-
+
+
+Expand source code
+
+async def slackLists_download_get(
+ self,
+ *,
+ list_id: str,
+ job_id: str,
+ **kwargs,
+) -> AsyncSlackResponse:
+ """Retrieve List download URL from an export job to download List contents.
+ https://docs.slack.dev/reference/methods/slackLists.download.get
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "job_id": job_id,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.download.get", json=kwargs)
+
+Retrieve List download URL from an export job to download List contents.
+https://docs.slack.dev/reference/methods/slackLists.download.get
+
+
+async def slackLists_download_start(self, *, list_id: str, include_archived: bool | None = None, **kwargs) ‑> AsyncSlackResponse
+
+-
+
+
+Expand source code
+
+async def slackLists_download_start(
+ self,
+ *,
+ list_id: str,
+ include_archived: Optional[bool] = None,
+ **kwargs,
+) -> AsyncSlackResponse:
+ """Initiate a job to export List contents.
+ https://docs.slack.dev/reference/methods/slackLists.download.start
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "include_archived": include_archived,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.download.start", json=kwargs)
+
+Initiate a job to export List contents.
+https://docs.slack.dev/reference/methods/slackLists.download.start
+
+
+async def slackLists_items_create(self,
*,
list_id: str,
duplicated_item_id: str | None = None,
parent_item_id: str | None = None,
initial_fields: List[Dict[str, Any]] | None = None,
**kwargs) ‑> AsyncSlackResponse
+
+-
+
+
+Expand source code
+
+async def slackLists_items_create(
+ self,
+ *,
+ list_id: str,
+ duplicated_item_id: Optional[str] = None,
+ parent_item_id: Optional[str] = None,
+ initial_fields: Optional[List[Dict[str, Any]]] = None,
+ **kwargs,
+) -> AsyncSlackResponse:
+ """Add a new item to an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.create
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "duplicated_item_id": duplicated_item_id,
+ "parent_item_id": parent_item_id,
+ "initial_fields": initial_fields,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.items.create", json=kwargs)
+
+Add a new item to an existing List.
+https://docs.slack.dev/reference/methods/slackLists.items.create
+
+
+async def slackLists_items_delete(self, *, list_id: str, id: str, **kwargs) ‑> AsyncSlackResponse
+
+-
+
+
+Expand source code
+
+async def slackLists_items_delete(
+ self,
+ *,
+ list_id: str,
+ id: str,
+ **kwargs,
+) -> AsyncSlackResponse:
+ """Deletes an item from an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.delete
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "id": id,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.items.delete", json=kwargs)
+
+Deletes an item from an existing List.
+https://docs.slack.dev/reference/methods/slackLists.items.delete
+
+
+async def slackLists_items_deleteMultiple(self, *, list_id: str, ids: List[str], **kwargs) ‑> AsyncSlackResponse
+
+-
+
+
+Expand source code
+
+async def slackLists_items_deleteMultiple(
+ self,
+ *,
+ list_id: str,
+ ids: List[str],
+ **kwargs,
+) -> AsyncSlackResponse:
+ """Deletes multiple items from an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.deleteMultiple
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "ids": ids,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.items.deleteMultiple", json=kwargs)
+
+Deletes multiple items from an existing List.
+https://docs.slack.dev/reference/methods/slackLists.items.deleteMultiple
+
+
+async def slackLists_items_info(self, *, list_id: str, id: str, include_is_subscribed: bool | None = None, **kwargs) ‑> AsyncSlackResponse
+
+-
+
+
+Expand source code
+
+async def slackLists_items_info(
+ self,
+ *,
+ list_id: str,
+ id: str,
+ include_is_subscribed: Optional[bool] = None,
+ **kwargs,
+) -> AsyncSlackResponse:
+ """Get a row from a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.info
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "id": id,
+ "include_is_subscribed": include_is_subscribed,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.items.info", json=kwargs)
+
+Get a row from a List.
+https://docs.slack.dev/reference/methods/slackLists.items.info
+
+
+async def slackLists_items_list(self,
*,
list_id: str,
limit: int | None = None,
cursor: str | None = None,
archived: bool | None = None,
**kwargs) ‑> AsyncSlackResponse
+
+-
+
+
+Expand source code
+
+async def slackLists_items_list(
+ self,
+ *,
+ list_id: str,
+ limit: Optional[int] = None,
+ cursor: Optional[str] = None,
+ archived: Optional[bool] = None,
+ **kwargs,
+) -> AsyncSlackResponse:
+ """Get records from a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.list
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "limit": limit,
+ "cursor": cursor,
+ "archived": archived,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.items.list", json=kwargs)
+
+Get records from a List.
+https://docs.slack.dev/reference/methods/slackLists.items.list
+
+
+async def slackLists_items_update(self, *, list_id: str, cells: List[Dict[str, Any]], **kwargs) ‑> AsyncSlackResponse
+
+-
+
+
+Expand source code
+
+async def slackLists_items_update(
+ self,
+ *,
+ list_id: str,
+ cells: List[Dict[str, Any]],
+ **kwargs,
+) -> AsyncSlackResponse:
+ """Updates cells in a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.update
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "cells": cells,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.items.update", json=kwargs)
+
+Updates cells in a List.
+https://docs.slack.dev/reference/methods/slackLists.items.update
+
+
+async def slackLists_update(self,
*,
id: str,
name: str | None = None,
description_blocks: str | Sequence[Dict | RichTextBlock] | None = None,
todo_mode: bool | None = None,
**kwargs) ‑> AsyncSlackResponse
+
+-
+
+
+Expand source code
+
+async def slackLists_update(
+ self,
+ *,
+ id: str,
+ name: Optional[str] = None,
+ description_blocks: Optional[Union[str, Sequence[Union[Dict, RichTextBlock]]]] = None,
+ todo_mode: Optional[bool] = None,
+ **kwargs,
+) -> AsyncSlackResponse:
+ """Update a List.
+ https://docs.slack.dev/reference/methods/slackLists.update
+ """
+ kwargs.update(
+ {
+ "id": id,
+ "name": name,
+ "description_blocks": description_blocks,
+ "todo_mode": todo_mode,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return await self.api_call("slackLists.update", json=kwargs)
+
+Update a List.
+https://docs.slack.dev/reference/methods/slackLists.update
+
async def stars_add(self,
*,
channel: str | None = None,
file: str | None = None,
file_comment: str | None = None,
timestamp: str | None = None,
**kwargs) ‑> AsyncSlackResponse
@@ -14968,6 +15649,7 @@ dnd_setSnooze
dnd_teamInfo
emoji_list
+entity_presentDetails
files_comments_delete
files_completeUploadExternal
files_delete
@@ -15037,6 +15719,18 @@ search_all
search_files
search_messages
+slackLists_access_delete
+slackLists_access_set
+slackLists_create
+slackLists_download_get
+slackLists_download_start
+slackLists_items_create
+slackLists_items_delete
+slackLists_items_deleteMultiple
+slackLists_items_info
+slackLists_items_list
+slackLists_items_update
+slackLists_update
stars_add
stars_list
stars_remove
diff --git a/docs/reference/web/client.html b/docs/reference/web/client.html
index 6be773f23..6fded11e1 100644
--- a/docs/reference/web/client.html
+++ b/docs/reference/web/client.html
@@ -2790,7 +2790,7 @@ Classes
link_names: Optional[bool] = None,
username: Optional[str] = None,
parse: Optional[str] = None, # none, full
- metadata: Optional[Union[Dict, Metadata]] = None,
+ metadata: Optional[Union[Dict, Metadata, EventAndEntityMetadata]] = None,
markdown_text: Optional[str] = None,
**kwargs,
) -> SlackResponse:
@@ -3019,6 +3019,7 @@ Classes
source: Optional[str] = None,
unfurl_id: Optional[str] = None,
unfurls: Optional[Dict[str, Dict]] = None, # or user_auth_*
+ metadata: Optional[Union[Dict, EventAndEntityMetadata]] = None,
user_auth_blocks: Optional[Union[str, Sequence[Union[Dict, Block]]]] = None,
user_auth_message: Optional[str] = None,
user_auth_required: Optional[bool] = None,
@@ -3035,6 +3036,7 @@ Classes
"source": source,
"unfurl_id": unfurl_id,
"unfurls": unfurls,
+ "metadata": metadata,
"user_auth_blocks": user_auth_blocks,
"user_auth_message": user_auth_message,
"user_auth_required": user_auth_required,
@@ -3666,6 +3668,30 @@ Classes
kwargs.update({"include_categories": include_categories})
return self.api_call("emoji.list", http_verb="GET", params=kwargs)
+ def entity_presentDetails(
+ self,
+ trigger_id: str,
+ metadata: Optional[Union[Dict, EntityMetadata]] = None,
+ user_auth_required: Optional[bool] = None,
+ user_auth_url: Optional[str] = None,
+ error: Optional[Dict[str, Any]] = None,
+ **kwargs,
+ ) -> SlackResponse:
+ """Provides entity details for the flexpane.
+ https://docs.slack.dev/reference/methods/entity.presentDetails/
+ """
+ kwargs.update({"trigger_id": trigger_id})
+ if metadata is not None:
+ kwargs.update({"metadata": metadata})
+ if user_auth_required is not None:
+ kwargs.update({"user_auth_required": user_auth_required})
+ if user_auth_url is not None:
+ kwargs.update({"user_auth_url": user_auth_url})
+ if error is not None:
+ kwargs.update({"error": error})
+ _parse_web_class_objects(kwargs)
+ return self.api_call("entity.presentDetails", json=kwargs)
+
def files_comments_delete(
self,
*,
@@ -4920,6 +4946,249 @@ Classes
)
return self.api_call("search.messages", http_verb="GET", params=kwargs)
+ def slackLists_access_delete(
+ self,
+ *,
+ list_id: str,
+ channel_ids: Optional[List[str]] = None,
+ user_ids: Optional[List[str]] = None,
+ **kwargs,
+ ) -> SlackResponse:
+ """Revoke access to a List for specified entities.
+ https://docs.slack.dev/reference/methods/slackLists.access.delete
+ """
+ kwargs.update({"list_id": list_id, "channel_ids": channel_ids, "user_ids": user_ids})
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.access.delete", json=kwargs)
+
+ def slackLists_access_set(
+ self,
+ *,
+ list_id: str,
+ access_level: str,
+ channel_ids: Optional[List[str]] = None,
+ user_ids: Optional[List[str]] = None,
+ **kwargs,
+ ) -> SlackResponse:
+ """Set the access level to a List for specified entities.
+ https://docs.slack.dev/reference/methods/slackLists.access.set
+ """
+ kwargs.update({"list_id": list_id, "access_level": access_level, "channel_ids": channel_ids, "user_ids": user_ids})
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.access.set", json=kwargs)
+
+ def slackLists_create(
+ self,
+ *,
+ name: str,
+ description_blocks: Optional[Union[str, Sequence[Union[Dict, RichTextBlock]]]] = None,
+ schema: Optional[List[Dict[str, Any]]] = None,
+ copy_from_list_id: Optional[str] = None,
+ include_copied_list_records: Optional[bool] = None,
+ todo_mode: Optional[bool] = None,
+ **kwargs,
+ ) -> SlackResponse:
+ """Creates a List.
+ https://docs.slack.dev/reference/methods/slackLists.create
+ """
+ kwargs.update(
+ {
+ "name": name,
+ "description_blocks": description_blocks,
+ "schema": schema,
+ "copy_from_list_id": copy_from_list_id,
+ "include_copied_list_records": include_copied_list_records,
+ "todo_mode": todo_mode,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.create", json=kwargs)
+
+ def slackLists_download_get(
+ self,
+ *,
+ list_id: str,
+ job_id: str,
+ **kwargs,
+ ) -> SlackResponse:
+ """Retrieve List download URL from an export job to download List contents.
+ https://docs.slack.dev/reference/methods/slackLists.download.get
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "job_id": job_id,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.download.get", json=kwargs)
+
+ def slackLists_download_start(
+ self,
+ *,
+ list_id: str,
+ include_archived: Optional[bool] = None,
+ **kwargs,
+ ) -> SlackResponse:
+ """Initiate a job to export List contents.
+ https://docs.slack.dev/reference/methods/slackLists.download.start
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "include_archived": include_archived,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.download.start", json=kwargs)
+
+ def slackLists_items_create(
+ self,
+ *,
+ list_id: str,
+ duplicated_item_id: Optional[str] = None,
+ parent_item_id: Optional[str] = None,
+ initial_fields: Optional[List[Dict[str, Any]]] = None,
+ **kwargs,
+ ) -> SlackResponse:
+ """Add a new item to an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.create
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "duplicated_item_id": duplicated_item_id,
+ "parent_item_id": parent_item_id,
+ "initial_fields": initial_fields,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.create", json=kwargs)
+
+ def slackLists_items_delete(
+ self,
+ *,
+ list_id: str,
+ id: str,
+ **kwargs,
+ ) -> SlackResponse:
+ """Deletes an item from an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.delete
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "id": id,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.delete", json=kwargs)
+
+ def slackLists_items_deleteMultiple(
+ self,
+ *,
+ list_id: str,
+ ids: List[str],
+ **kwargs,
+ ) -> SlackResponse:
+ """Deletes multiple items from an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.deleteMultiple
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "ids": ids,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.deleteMultiple", json=kwargs)
+
+ def slackLists_items_info(
+ self,
+ *,
+ list_id: str,
+ id: str,
+ include_is_subscribed: Optional[bool] = None,
+ **kwargs,
+ ) -> SlackResponse:
+ """Get a row from a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.info
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "id": id,
+ "include_is_subscribed": include_is_subscribed,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.info", json=kwargs)
+
+ def slackLists_items_list(
+ self,
+ *,
+ list_id: str,
+ limit: Optional[int] = None,
+ cursor: Optional[str] = None,
+ archived: Optional[bool] = None,
+ **kwargs,
+ ) -> SlackResponse:
+ """Get records from a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.list
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "limit": limit,
+ "cursor": cursor,
+ "archived": archived,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.list", json=kwargs)
+
+ def slackLists_items_update(
+ self,
+ *,
+ list_id: str,
+ cells: List[Dict[str, Any]],
+ **kwargs,
+ ) -> SlackResponse:
+ """Updates cells in a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.update
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "cells": cells,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.update", json=kwargs)
+
+ def slackLists_update(
+ self,
+ *,
+ id: str,
+ name: Optional[str] = None,
+ description_blocks: Optional[Union[str, Sequence[Union[Dict, RichTextBlock]]]] = None,
+ todo_mode: Optional[bool] = None,
+ **kwargs,
+ ) -> SlackResponse:
+ """Update a List.
+ https://docs.slack.dev/reference/methods/slackLists.update
+ """
+ kwargs.update(
+ {
+ "id": id,
+ "name": name,
+ "description_blocks": description_blocks,
+ "todo_mode": todo_mode,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.update", json=kwargs)
+
def stars_add(
self,
*,
@@ -10066,7 +10335,7 @@ Methods
https://docs.slack.dev/reference/methods/chat.postEphemeral
-def chat_postMessage(self,
*,
channel: str,
text: str | None = None,
as_user: bool | None = None,
attachments: str | Sequence[Dict | Attachment] | None = None,
blocks: str | Sequence[Dict | Block] | None = None,
thread_ts: str | None = None,
reply_broadcast: bool | None = None,
unfurl_links: bool | None = None,
unfurl_media: bool | None = None,
container_id: str | None = None,
icon_emoji: str | None = None,
icon_url: str | None = None,
mrkdwn: bool | None = None,
link_names: bool | None = None,
username: str | None = None,
parse: str | None = None,
metadata: Dict | Metadata | None = None,
markdown_text: str | None = None,
**kwargs) ‑> SlackResponse
+def chat_postMessage(self,
*,
channel: str,
text: str | None = None,
as_user: bool | None = None,
attachments: str | Sequence[Dict | Attachment] | None = None,
blocks: str | Sequence[Dict | Block] | None = None,
thread_ts: str | None = None,
reply_broadcast: bool | None = None,
unfurl_links: bool | None = None,
unfurl_media: bool | None = None,
container_id: str | None = None,
icon_emoji: str | None = None,
icon_url: str | None = None,
mrkdwn: bool | None = None,
link_names: bool | None = None,
username: str | None = None,
parse: str | None = None,
metadata: Dict | Metadata | EventAndEntityMetadata | None = None,
markdown_text: str | None = None,
**kwargs) ‑> SlackResponse
-
@@ -10092,7 +10361,7 @@
Methods
link_names: Optional[bool] = None,
username: Optional[str] = None,
parse: Optional[str] = None, # none, full
- metadata: Optional[Union[Dict, Metadata]] = None,
+ metadata: Optional[Union[Dict, Metadata, EventAndEntityMetadata]] = None,
markdown_text: Optional[str] = None,
**kwargs,
) -> SlackResponse:
@@ -10414,7 +10683,7 @@ Example
-def chat_unfurl(self,
*,
channel: str | None = None,
ts: str | None = None,
source: str | None = None,
unfurl_id: str | None = None,
unfurls: Dict[str, Dict] | None = None,
user_auth_blocks: str | Sequence[Dict | Block] | None = None,
user_auth_message: str | None = None,
user_auth_required: bool | None = None,
user_auth_url: str | None = None,
**kwargs) ‑> SlackResponse
+def chat_unfurl(self,
*,
channel: str | None = None,
ts: str | None = None,
source: str | None = None,
unfurl_id: str | None = None,
unfurls: Dict[str, Dict] | None = None,
metadata: Dict | EventAndEntityMetadata | None = None,
user_auth_blocks: str | Sequence[Dict | Block] | None = None,
user_auth_message: str | None = None,
user_auth_required: bool | None = None,
user_auth_url: str | None = None,
**kwargs) ‑> SlackResponse
-
@@ -10429,6 +10698,7 @@
Example
source: Optional[str] = None,
unfurl_id: Optional[str] = None,
unfurls: Optional[Dict[str, Dict]] = None, # or user_auth_*
+ metadata: Optional[Union[Dict, EventAndEntityMetadata]] = None,
user_auth_blocks: Optional[Union[str, Sequence[Union[Dict, Block]]]] = None,
user_auth_message: Optional[str] = None,
user_auth_required: Optional[bool] = None,
@@ -10445,6 +10715,7 @@ Example
"source": source,
"unfurl_id": unfurl_id,
"unfurls": unfurls,
+ "metadata": metadata,
"user_auth_blocks": user_auth_blocks,
"user_auth_message": user_auth_message,
"user_auth_required": user_auth_required,
@@ -11476,6 +11747,41 @@ Example
Lists custom emoji for a team.
https://docs.slack.dev/reference/methods/emoji.list
+
+def entity_presentDetails(self,
trigger_id: str,
metadata: Dict | EntityMetadata | None = None,
user_auth_required: bool | None = None,
user_auth_url: str | None = None,
error: Dict[str, Any] | None = None,
**kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def entity_presentDetails(
+ self,
+ trigger_id: str,
+ metadata: Optional[Union[Dict, EntityMetadata]] = None,
+ user_auth_required: Optional[bool] = None,
+ user_auth_url: Optional[str] = None,
+ error: Optional[Dict[str, Any]] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Provides entity details for the flexpane.
+ https://docs.slack.dev/reference/methods/entity.presentDetails/
+ """
+ kwargs.update({"trigger_id": trigger_id})
+ if metadata is not None:
+ kwargs.update({"metadata": metadata})
+ if user_auth_required is not None:
+ kwargs.update({"user_auth_required": user_auth_required})
+ if user_auth_url is not None:
+ kwargs.update({"user_auth_url": user_auth_url})
+ if error is not None:
+ kwargs.update({"error": error})
+ _parse_web_class_objects(kwargs)
+ return self.api_call("entity.presentDetails", json=kwargs)
+
+Provides entity details for the flexpane.
+https://docs.slack.dev/reference/methods/entity.presentDetails/
+
def files_comments_delete(self, *, file: str, id: str, **kwargs) ‑> SlackResponse
@@ -13451,6 +13757,381 @@ Example
Searches for messages matching a query.
https://docs.slack.dev/reference/methods/search.messages
+
+def slackLists_access_delete(self,
*,
list_id: str,
channel_ids: List[str] | None = None,
user_ids: List[str] | None = None,
**kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_access_delete(
+ self,
+ *,
+ list_id: str,
+ channel_ids: Optional[List[str]] = None,
+ user_ids: Optional[List[str]] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Revoke access to a List for specified entities.
+ https://docs.slack.dev/reference/methods/slackLists.access.delete
+ """
+ kwargs.update({"list_id": list_id, "channel_ids": channel_ids, "user_ids": user_ids})
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.access.delete", json=kwargs)
+
+Revoke access to a List for specified entities.
+https://docs.slack.dev/reference/methods/slackLists.access.delete
+
+
+def slackLists_access_set(self,
*,
list_id: str,
access_level: str,
channel_ids: List[str] | None = None,
user_ids: List[str] | None = None,
**kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_access_set(
+ self,
+ *,
+ list_id: str,
+ access_level: str,
+ channel_ids: Optional[List[str]] = None,
+ user_ids: Optional[List[str]] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Set the access level to a List for specified entities.
+ https://docs.slack.dev/reference/methods/slackLists.access.set
+ """
+ kwargs.update({"list_id": list_id, "access_level": access_level, "channel_ids": channel_ids, "user_ids": user_ids})
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.access.set", json=kwargs)
+
+Set the access level to a List for specified entities.
+https://docs.slack.dev/reference/methods/slackLists.access.set
+
+
+def slackLists_create(self,
*,
name: str,
description_blocks: str | Sequence[Dict | RichTextBlock] | None = None,
schema: List[Dict[str, Any]] | None = None,
copy_from_list_id: str | None = None,
include_copied_list_records: bool | None = None,
todo_mode: bool | None = None,
**kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_create(
+ self,
+ *,
+ name: str,
+ description_blocks: Optional[Union[str, Sequence[Union[Dict, RichTextBlock]]]] = None,
+ schema: Optional[List[Dict[str, Any]]] = None,
+ copy_from_list_id: Optional[str] = None,
+ include_copied_list_records: Optional[bool] = None,
+ todo_mode: Optional[bool] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Creates a List.
+ https://docs.slack.dev/reference/methods/slackLists.create
+ """
+ kwargs.update(
+ {
+ "name": name,
+ "description_blocks": description_blocks,
+ "schema": schema,
+ "copy_from_list_id": copy_from_list_id,
+ "include_copied_list_records": include_copied_list_records,
+ "todo_mode": todo_mode,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.create", json=kwargs)
+
+Creates a List.
+https://docs.slack.dev/reference/methods/slackLists.create
+
+
+def slackLists_download_get(self, *, list_id: str, job_id: str, **kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_download_get(
+ self,
+ *,
+ list_id: str,
+ job_id: str,
+ **kwargs,
+) -> SlackResponse:
+ """Retrieve List download URL from an export job to download List contents.
+ https://docs.slack.dev/reference/methods/slackLists.download.get
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "job_id": job_id,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.download.get", json=kwargs)
+
+Retrieve List download URL from an export job to download List contents.
+https://docs.slack.dev/reference/methods/slackLists.download.get
+
+
+def slackLists_download_start(self, *, list_id: str, include_archived: bool | None = None, **kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_download_start(
+ self,
+ *,
+ list_id: str,
+ include_archived: Optional[bool] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Initiate a job to export List contents.
+ https://docs.slack.dev/reference/methods/slackLists.download.start
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "include_archived": include_archived,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.download.start", json=kwargs)
+
+Initiate a job to export List contents.
+https://docs.slack.dev/reference/methods/slackLists.download.start
+
+
+def slackLists_items_create(self,
*,
list_id: str,
duplicated_item_id: str | None = None,
parent_item_id: str | None = None,
initial_fields: List[Dict[str, Any]] | None = None,
**kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_items_create(
+ self,
+ *,
+ list_id: str,
+ duplicated_item_id: Optional[str] = None,
+ parent_item_id: Optional[str] = None,
+ initial_fields: Optional[List[Dict[str, Any]]] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Add a new item to an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.create
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "duplicated_item_id": duplicated_item_id,
+ "parent_item_id": parent_item_id,
+ "initial_fields": initial_fields,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.create", json=kwargs)
+
+Add a new item to an existing List.
+https://docs.slack.dev/reference/methods/slackLists.items.create
+
+
+def slackLists_items_delete(self, *, list_id: str, id: str, **kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_items_delete(
+ self,
+ *,
+ list_id: str,
+ id: str,
+ **kwargs,
+) -> SlackResponse:
+ """Deletes an item from an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.delete
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "id": id,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.delete", json=kwargs)
+
+Deletes an item from an existing List.
+https://docs.slack.dev/reference/methods/slackLists.items.delete
+
+
+def slackLists_items_deleteMultiple(self, *, list_id: str, ids: List[str], **kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_items_deleteMultiple(
+ self,
+ *,
+ list_id: str,
+ ids: List[str],
+ **kwargs,
+) -> SlackResponse:
+ """Deletes multiple items from an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.deleteMultiple
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "ids": ids,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.deleteMultiple", json=kwargs)
+
+Deletes multiple items from an existing List.
+https://docs.slack.dev/reference/methods/slackLists.items.deleteMultiple
+
+
+def slackLists_items_info(self, *, list_id: str, id: str, include_is_subscribed: bool | None = None, **kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_items_info(
+ self,
+ *,
+ list_id: str,
+ id: str,
+ include_is_subscribed: Optional[bool] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Get a row from a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.info
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "id": id,
+ "include_is_subscribed": include_is_subscribed,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.info", json=kwargs)
+
+Get a row from a List.
+https://docs.slack.dev/reference/methods/slackLists.items.info
+
+
+def slackLists_items_list(self,
*,
list_id: str,
limit: int | None = None,
cursor: str | None = None,
archived: bool | None = None,
**kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_items_list(
+ self,
+ *,
+ list_id: str,
+ limit: Optional[int] = None,
+ cursor: Optional[str] = None,
+ archived: Optional[bool] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Get records from a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.list
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "limit": limit,
+ "cursor": cursor,
+ "archived": archived,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.list", json=kwargs)
+
+Get records from a List.
+https://docs.slack.dev/reference/methods/slackLists.items.list
+
+
+def slackLists_items_update(self, *, list_id: str, cells: List[Dict[str, Any]], **kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_items_update(
+ self,
+ *,
+ list_id: str,
+ cells: List[Dict[str, Any]],
+ **kwargs,
+) -> SlackResponse:
+ """Updates cells in a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.update
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "cells": cells,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.update", json=kwargs)
+
+Updates cells in a List.
+https://docs.slack.dev/reference/methods/slackLists.items.update
+
+
+def slackLists_update(self,
*,
id: str,
name: str | None = None,
description_blocks: str | Sequence[Dict | RichTextBlock] | None = None,
todo_mode: bool | None = None,
**kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_update(
+ self,
+ *,
+ id: str,
+ name: Optional[str] = None,
+ description_blocks: Optional[Union[str, Sequence[Union[Dict, RichTextBlock]]]] = None,
+ todo_mode: Optional[bool] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Update a List.
+ https://docs.slack.dev/reference/methods/slackLists.update
+ """
+ kwargs.update(
+ {
+ "id": id,
+ "name": name,
+ "description_blocks": description_blocks,
+ "todo_mode": todo_mode,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.update", json=kwargs)
+
+Update a List.
+https://docs.slack.dev/reference/methods/slackLists.update
+
def stars_add(self,
*,
channel: str | None = None,
file: str | None = None,
file_comment: str | None = None,
timestamp: str | None = None,
**kwargs) ‑> SlackResponse
@@ -14967,6 +15648,7 @@ dnd_setSnooze
dnd_teamInfo
emoji_list
+entity_presentDetails
files_comments_delete
files_completeUploadExternal
files_delete
@@ -15036,6 +15718,18 @@ search_all
search_files
search_messages
+slackLists_access_delete
+slackLists_access_set
+slackLists_create
+slackLists_download_get
+slackLists_download_start
+slackLists_items_create
+slackLists_items_delete
+slackLists_items_deleteMultiple
+slackLists_items_info
+slackLists_items_list
+slackLists_items_update
+slackLists_update
stars_add
stars_list
stars_remove
diff --git a/docs/reference/web/index.html b/docs/reference/web/index.html
index f4f7e2f2b..611a26b3b 100644
--- a/docs/reference/web/index.html
+++ b/docs/reference/web/index.html
@@ -3159,7 +3159,7 @@ Raises
link_names: Optional[bool] = None,
username: Optional[str] = None,
parse: Optional[str] = None, # none, full
- metadata: Optional[Union[Dict, Metadata]] = None,
+ metadata: Optional[Union[Dict, Metadata, EventAndEntityMetadata]] = None,
markdown_text: Optional[str] = None,
**kwargs,
) -> SlackResponse:
@@ -3388,6 +3388,7 @@ Raises
source: Optional[str] = None,
unfurl_id: Optional[str] = None,
unfurls: Optional[Dict[str, Dict]] = None, # or user_auth_*
+ metadata: Optional[Union[Dict, EventAndEntityMetadata]] = None,
user_auth_blocks: Optional[Union[str, Sequence[Union[Dict, Block]]]] = None,
user_auth_message: Optional[str] = None,
user_auth_required: Optional[bool] = None,
@@ -3404,6 +3405,7 @@ Raises
"source": source,
"unfurl_id": unfurl_id,
"unfurls": unfurls,
+ "metadata": metadata,
"user_auth_blocks": user_auth_blocks,
"user_auth_message": user_auth_message,
"user_auth_required": user_auth_required,
@@ -4035,6 +4037,30 @@ Raises
kwargs.update({"include_categories": include_categories})
return self.api_call("emoji.list", http_verb="GET", params=kwargs)
+ def entity_presentDetails(
+ self,
+ trigger_id: str,
+ metadata: Optional[Union[Dict, EntityMetadata]] = None,
+ user_auth_required: Optional[bool] = None,
+ user_auth_url: Optional[str] = None,
+ error: Optional[Dict[str, Any]] = None,
+ **kwargs,
+ ) -> SlackResponse:
+ """Provides entity details for the flexpane.
+ https://docs.slack.dev/reference/methods/entity.presentDetails/
+ """
+ kwargs.update({"trigger_id": trigger_id})
+ if metadata is not None:
+ kwargs.update({"metadata": metadata})
+ if user_auth_required is not None:
+ kwargs.update({"user_auth_required": user_auth_required})
+ if user_auth_url is not None:
+ kwargs.update({"user_auth_url": user_auth_url})
+ if error is not None:
+ kwargs.update({"error": error})
+ _parse_web_class_objects(kwargs)
+ return self.api_call("entity.presentDetails", json=kwargs)
+
def files_comments_delete(
self,
*,
@@ -5289,6 +5315,249 @@ Raises
)
return self.api_call("search.messages", http_verb="GET", params=kwargs)
+ def slackLists_access_delete(
+ self,
+ *,
+ list_id: str,
+ channel_ids: Optional[List[str]] = None,
+ user_ids: Optional[List[str]] = None,
+ **kwargs,
+ ) -> SlackResponse:
+ """Revoke access to a List for specified entities.
+ https://docs.slack.dev/reference/methods/slackLists.access.delete
+ """
+ kwargs.update({"list_id": list_id, "channel_ids": channel_ids, "user_ids": user_ids})
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.access.delete", json=kwargs)
+
+ def slackLists_access_set(
+ self,
+ *,
+ list_id: str,
+ access_level: str,
+ channel_ids: Optional[List[str]] = None,
+ user_ids: Optional[List[str]] = None,
+ **kwargs,
+ ) -> SlackResponse:
+ """Set the access level to a List for specified entities.
+ https://docs.slack.dev/reference/methods/slackLists.access.set
+ """
+ kwargs.update({"list_id": list_id, "access_level": access_level, "channel_ids": channel_ids, "user_ids": user_ids})
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.access.set", json=kwargs)
+
+ def slackLists_create(
+ self,
+ *,
+ name: str,
+ description_blocks: Optional[Union[str, Sequence[Union[Dict, RichTextBlock]]]] = None,
+ schema: Optional[List[Dict[str, Any]]] = None,
+ copy_from_list_id: Optional[str] = None,
+ include_copied_list_records: Optional[bool] = None,
+ todo_mode: Optional[bool] = None,
+ **kwargs,
+ ) -> SlackResponse:
+ """Creates a List.
+ https://docs.slack.dev/reference/methods/slackLists.create
+ """
+ kwargs.update(
+ {
+ "name": name,
+ "description_blocks": description_blocks,
+ "schema": schema,
+ "copy_from_list_id": copy_from_list_id,
+ "include_copied_list_records": include_copied_list_records,
+ "todo_mode": todo_mode,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.create", json=kwargs)
+
+ def slackLists_download_get(
+ self,
+ *,
+ list_id: str,
+ job_id: str,
+ **kwargs,
+ ) -> SlackResponse:
+ """Retrieve List download URL from an export job to download List contents.
+ https://docs.slack.dev/reference/methods/slackLists.download.get
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "job_id": job_id,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.download.get", json=kwargs)
+
+ def slackLists_download_start(
+ self,
+ *,
+ list_id: str,
+ include_archived: Optional[bool] = None,
+ **kwargs,
+ ) -> SlackResponse:
+ """Initiate a job to export List contents.
+ https://docs.slack.dev/reference/methods/slackLists.download.start
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "include_archived": include_archived,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.download.start", json=kwargs)
+
+ def slackLists_items_create(
+ self,
+ *,
+ list_id: str,
+ duplicated_item_id: Optional[str] = None,
+ parent_item_id: Optional[str] = None,
+ initial_fields: Optional[List[Dict[str, Any]]] = None,
+ **kwargs,
+ ) -> SlackResponse:
+ """Add a new item to an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.create
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "duplicated_item_id": duplicated_item_id,
+ "parent_item_id": parent_item_id,
+ "initial_fields": initial_fields,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.create", json=kwargs)
+
+ def slackLists_items_delete(
+ self,
+ *,
+ list_id: str,
+ id: str,
+ **kwargs,
+ ) -> SlackResponse:
+ """Deletes an item from an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.delete
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "id": id,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.delete", json=kwargs)
+
+ def slackLists_items_deleteMultiple(
+ self,
+ *,
+ list_id: str,
+ ids: List[str],
+ **kwargs,
+ ) -> SlackResponse:
+ """Deletes multiple items from an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.deleteMultiple
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "ids": ids,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.deleteMultiple", json=kwargs)
+
+ def slackLists_items_info(
+ self,
+ *,
+ list_id: str,
+ id: str,
+ include_is_subscribed: Optional[bool] = None,
+ **kwargs,
+ ) -> SlackResponse:
+ """Get a row from a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.info
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "id": id,
+ "include_is_subscribed": include_is_subscribed,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.info", json=kwargs)
+
+ def slackLists_items_list(
+ self,
+ *,
+ list_id: str,
+ limit: Optional[int] = None,
+ cursor: Optional[str] = None,
+ archived: Optional[bool] = None,
+ **kwargs,
+ ) -> SlackResponse:
+ """Get records from a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.list
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "limit": limit,
+ "cursor": cursor,
+ "archived": archived,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.list", json=kwargs)
+
+ def slackLists_items_update(
+ self,
+ *,
+ list_id: str,
+ cells: List[Dict[str, Any]],
+ **kwargs,
+ ) -> SlackResponse:
+ """Updates cells in a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.update
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "cells": cells,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.update", json=kwargs)
+
+ def slackLists_update(
+ self,
+ *,
+ id: str,
+ name: Optional[str] = None,
+ description_blocks: Optional[Union[str, Sequence[Union[Dict, RichTextBlock]]]] = None,
+ todo_mode: Optional[bool] = None,
+ **kwargs,
+ ) -> SlackResponse:
+ """Update a List.
+ https://docs.slack.dev/reference/methods/slackLists.update
+ """
+ kwargs.update(
+ {
+ "id": id,
+ "name": name,
+ "description_blocks": description_blocks,
+ "todo_mode": todo_mode,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.update", json=kwargs)
+
def stars_add(
self,
*,
@@ -10435,7 +10704,7 @@ Methods
https://docs.slack.dev/reference/methods/chat.postEphemeral
-def chat_postMessage(self,
*,
channel: str,
text: str | None = None,
as_user: bool | None = None,
attachments: str | Sequence[Dict | Attachment] | None = None,
blocks: str | Sequence[Dict | Block] | None = None,
thread_ts: str | None = None,
reply_broadcast: bool | None = None,
unfurl_links: bool | None = None,
unfurl_media: bool | None = None,
container_id: str | None = None,
icon_emoji: str | None = None,
icon_url: str | None = None,
mrkdwn: bool | None = None,
link_names: bool | None = None,
username: str | None = None,
parse: str | None = None,
metadata: Dict | Metadata | None = None,
markdown_text: str | None = None,
**kwargs) ‑> SlackResponse
+def chat_postMessage(self,
*,
channel: str,
text: str | None = None,
as_user: bool | None = None,
attachments: str | Sequence[Dict | Attachment] | None = None,
blocks: str | Sequence[Dict | Block] | None = None,
thread_ts: str | None = None,
reply_broadcast: bool | None = None,
unfurl_links: bool | None = None,
unfurl_media: bool | None = None,
container_id: str | None = None,
icon_emoji: str | None = None,
icon_url: str | None = None,
mrkdwn: bool | None = None,
link_names: bool | None = None,
username: str | None = None,
parse: str | None = None,
metadata: Dict | Metadata | EventAndEntityMetadata | None = None,
markdown_text: str | None = None,
**kwargs) ‑> SlackResponse
-
@@ -10461,7 +10730,7 @@
Methods
link_names: Optional[bool] = None,
username: Optional[str] = None,
parse: Optional[str] = None, # none, full
- metadata: Optional[Union[Dict, Metadata]] = None,
+ metadata: Optional[Union[Dict, Metadata, EventAndEntityMetadata]] = None,
markdown_text: Optional[str] = None,
**kwargs,
) -> SlackResponse:
@@ -10783,7 +11052,7 @@ Example
-def chat_unfurl(self,
*,
channel: str | None = None,
ts: str | None = None,
source: str | None = None,
unfurl_id: str | None = None,
unfurls: Dict[str, Dict] | None = None,
user_auth_blocks: str | Sequence[Dict | Block] | None = None,
user_auth_message: str | None = None,
user_auth_required: bool | None = None,
user_auth_url: str | None = None,
**kwargs) ‑> SlackResponse
+def chat_unfurl(self,
*,
channel: str | None = None,
ts: str | None = None,
source: str | None = None,
unfurl_id: str | None = None,
unfurls: Dict[str, Dict] | None = None,
metadata: Dict | EventAndEntityMetadata | None = None,
user_auth_blocks: str | Sequence[Dict | Block] | None = None,
user_auth_message: str | None = None,
user_auth_required: bool | None = None,
user_auth_url: str | None = None,
**kwargs) ‑> SlackResponse
-
@@ -10798,6 +11067,7 @@
Example
source: Optional[str] = None,
unfurl_id: Optional[str] = None,
unfurls: Optional[Dict[str, Dict]] = None, # or user_auth_*
+ metadata: Optional[Union[Dict, EventAndEntityMetadata]] = None,
user_auth_blocks: Optional[Union[str, Sequence[Union[Dict, Block]]]] = None,
user_auth_message: Optional[str] = None,
user_auth_required: Optional[bool] = None,
@@ -10814,6 +11084,7 @@ Example
"source": source,
"unfurl_id": unfurl_id,
"unfurls": unfurls,
+ "metadata": metadata,
"user_auth_blocks": user_auth_blocks,
"user_auth_message": user_auth_message,
"user_auth_required": user_auth_required,
@@ -11845,6 +12116,41 @@ Example
Lists custom emoji for a team.
https://docs.slack.dev/reference/methods/emoji.list
+
+def entity_presentDetails(self,
trigger_id: str,
metadata: Dict | EntityMetadata | None = None,
user_auth_required: bool | None = None,
user_auth_url: str | None = None,
error: Dict[str, Any] | None = None,
**kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def entity_presentDetails(
+ self,
+ trigger_id: str,
+ metadata: Optional[Union[Dict, EntityMetadata]] = None,
+ user_auth_required: Optional[bool] = None,
+ user_auth_url: Optional[str] = None,
+ error: Optional[Dict[str, Any]] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Provides entity details for the flexpane.
+ https://docs.slack.dev/reference/methods/entity.presentDetails/
+ """
+ kwargs.update({"trigger_id": trigger_id})
+ if metadata is not None:
+ kwargs.update({"metadata": metadata})
+ if user_auth_required is not None:
+ kwargs.update({"user_auth_required": user_auth_required})
+ if user_auth_url is not None:
+ kwargs.update({"user_auth_url": user_auth_url})
+ if error is not None:
+ kwargs.update({"error": error})
+ _parse_web_class_objects(kwargs)
+ return self.api_call("entity.presentDetails", json=kwargs)
+
+Provides entity details for the flexpane.
+https://docs.slack.dev/reference/methods/entity.presentDetails/
+
def files_comments_delete(self, *, file: str, id: str, **kwargs) ‑> SlackResponse
@@ -13820,6 +14126,381 @@ Example
Searches for messages matching a query.
https://docs.slack.dev/reference/methods/search.messages
+
+def slackLists_access_delete(self,
*,
list_id: str,
channel_ids: List[str] | None = None,
user_ids: List[str] | None = None,
**kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_access_delete(
+ self,
+ *,
+ list_id: str,
+ channel_ids: Optional[List[str]] = None,
+ user_ids: Optional[List[str]] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Revoke access to a List for specified entities.
+ https://docs.slack.dev/reference/methods/slackLists.access.delete
+ """
+ kwargs.update({"list_id": list_id, "channel_ids": channel_ids, "user_ids": user_ids})
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.access.delete", json=kwargs)
+
+Revoke access to a List for specified entities.
+https://docs.slack.dev/reference/methods/slackLists.access.delete
+
+
+def slackLists_access_set(self,
*,
list_id: str,
access_level: str,
channel_ids: List[str] | None = None,
user_ids: List[str] | None = None,
**kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_access_set(
+ self,
+ *,
+ list_id: str,
+ access_level: str,
+ channel_ids: Optional[List[str]] = None,
+ user_ids: Optional[List[str]] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Set the access level to a List for specified entities.
+ https://docs.slack.dev/reference/methods/slackLists.access.set
+ """
+ kwargs.update({"list_id": list_id, "access_level": access_level, "channel_ids": channel_ids, "user_ids": user_ids})
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.access.set", json=kwargs)
+
+Set the access level to a List for specified entities.
+https://docs.slack.dev/reference/methods/slackLists.access.set
+
+
+def slackLists_create(self,
*,
name: str,
description_blocks: str | Sequence[Dict | RichTextBlock] | None = None,
schema: List[Dict[str, Any]] | None = None,
copy_from_list_id: str | None = None,
include_copied_list_records: bool | None = None,
todo_mode: bool | None = None,
**kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_create(
+ self,
+ *,
+ name: str,
+ description_blocks: Optional[Union[str, Sequence[Union[Dict, RichTextBlock]]]] = None,
+ schema: Optional[List[Dict[str, Any]]] = None,
+ copy_from_list_id: Optional[str] = None,
+ include_copied_list_records: Optional[bool] = None,
+ todo_mode: Optional[bool] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Creates a List.
+ https://docs.slack.dev/reference/methods/slackLists.create
+ """
+ kwargs.update(
+ {
+ "name": name,
+ "description_blocks": description_blocks,
+ "schema": schema,
+ "copy_from_list_id": copy_from_list_id,
+ "include_copied_list_records": include_copied_list_records,
+ "todo_mode": todo_mode,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.create", json=kwargs)
+
+Creates a List.
+https://docs.slack.dev/reference/methods/slackLists.create
+
+
+def slackLists_download_get(self, *, list_id: str, job_id: str, **kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_download_get(
+ self,
+ *,
+ list_id: str,
+ job_id: str,
+ **kwargs,
+) -> SlackResponse:
+ """Retrieve List download URL from an export job to download List contents.
+ https://docs.slack.dev/reference/methods/slackLists.download.get
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "job_id": job_id,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.download.get", json=kwargs)
+
+Retrieve List download URL from an export job to download List contents.
+https://docs.slack.dev/reference/methods/slackLists.download.get
+
+
+def slackLists_download_start(self, *, list_id: str, include_archived: bool | None = None, **kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_download_start(
+ self,
+ *,
+ list_id: str,
+ include_archived: Optional[bool] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Initiate a job to export List contents.
+ https://docs.slack.dev/reference/methods/slackLists.download.start
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "include_archived": include_archived,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.download.start", json=kwargs)
+
+Initiate a job to export List contents.
+https://docs.slack.dev/reference/methods/slackLists.download.start
+
+
+def slackLists_items_create(self,
*,
list_id: str,
duplicated_item_id: str | None = None,
parent_item_id: str | None = None,
initial_fields: List[Dict[str, Any]] | None = None,
**kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_items_create(
+ self,
+ *,
+ list_id: str,
+ duplicated_item_id: Optional[str] = None,
+ parent_item_id: Optional[str] = None,
+ initial_fields: Optional[List[Dict[str, Any]]] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Add a new item to an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.create
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "duplicated_item_id": duplicated_item_id,
+ "parent_item_id": parent_item_id,
+ "initial_fields": initial_fields,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.create", json=kwargs)
+
+Add a new item to an existing List.
+https://docs.slack.dev/reference/methods/slackLists.items.create
+
+
+def slackLists_items_delete(self, *, list_id: str, id: str, **kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_items_delete(
+ self,
+ *,
+ list_id: str,
+ id: str,
+ **kwargs,
+) -> SlackResponse:
+ """Deletes an item from an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.delete
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "id": id,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.delete", json=kwargs)
+
+Deletes an item from an existing List.
+https://docs.slack.dev/reference/methods/slackLists.items.delete
+
+
+def slackLists_items_deleteMultiple(self, *, list_id: str, ids: List[str], **kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_items_deleteMultiple(
+ self,
+ *,
+ list_id: str,
+ ids: List[str],
+ **kwargs,
+) -> SlackResponse:
+ """Deletes multiple items from an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.deleteMultiple
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "ids": ids,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.deleteMultiple", json=kwargs)
+
+Deletes multiple items from an existing List.
+https://docs.slack.dev/reference/methods/slackLists.items.deleteMultiple
+
+
+def slackLists_items_info(self, *, list_id: str, id: str, include_is_subscribed: bool | None = None, **kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_items_info(
+ self,
+ *,
+ list_id: str,
+ id: str,
+ include_is_subscribed: Optional[bool] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Get a row from a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.info
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "id": id,
+ "include_is_subscribed": include_is_subscribed,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.info", json=kwargs)
+
+Get a row from a List.
+https://docs.slack.dev/reference/methods/slackLists.items.info
+
+
+def slackLists_items_list(self,
*,
list_id: str,
limit: int | None = None,
cursor: str | None = None,
archived: bool | None = None,
**kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_items_list(
+ self,
+ *,
+ list_id: str,
+ limit: Optional[int] = None,
+ cursor: Optional[str] = None,
+ archived: Optional[bool] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Get records from a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.list
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "limit": limit,
+ "cursor": cursor,
+ "archived": archived,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.list", json=kwargs)
+
+Get records from a List.
+https://docs.slack.dev/reference/methods/slackLists.items.list
+
+
+def slackLists_items_update(self, *, list_id: str, cells: List[Dict[str, Any]], **kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_items_update(
+ self,
+ *,
+ list_id: str,
+ cells: List[Dict[str, Any]],
+ **kwargs,
+) -> SlackResponse:
+ """Updates cells in a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.update
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "cells": cells,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.update", json=kwargs)
+
+Updates cells in a List.
+https://docs.slack.dev/reference/methods/slackLists.items.update
+
+
+def slackLists_update(self,
*,
id: str,
name: str | None = None,
description_blocks: str | Sequence[Dict | RichTextBlock] | None = None,
todo_mode: bool | None = None,
**kwargs) ‑> SlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_update(
+ self,
+ *,
+ id: str,
+ name: Optional[str] = None,
+ description_blocks: Optional[Union[str, Sequence[Union[Dict, RichTextBlock]]]] = None,
+ todo_mode: Optional[bool] = None,
+ **kwargs,
+) -> SlackResponse:
+ """Update a List.
+ https://docs.slack.dev/reference/methods/slackLists.update
+ """
+ kwargs.update(
+ {
+ "id": id,
+ "name": name,
+ "description_blocks": description_blocks,
+ "todo_mode": todo_mode,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.update", json=kwargs)
+
+Update a List.
+https://docs.slack.dev/reference/methods/slackLists.update
+
def stars_add(self,
*,
channel: str | None = None,
file: str | None = None,
file_comment: str | None = None,
timestamp: str | None = None,
**kwargs) ‑> SlackResponse
@@ -15362,6 +16043,7 @@ Web
dnd_setSnooze
dnd_teamInfo
emoji_list
+entity_presentDetails
files_comments_delete
files_completeUploadExternal
files_delete
@@ -15431,6 +16113,18 @@ Web
search_all
search_files
search_messages
+slackLists_access_delete
+slackLists_access_set
+slackLists_create
+slackLists_download_get
+slackLists_download_start
+slackLists_items_create
+slackLists_items_delete
+slackLists_items_deleteMultiple
+slackLists_items_info
+slackLists_items_list
+slackLists_items_update
+slackLists_update
stars_add
stars_list
stars_remove
diff --git a/docs/reference/web/legacy_client.html b/docs/reference/web/legacy_client.html
index 70cc6988d..d100178dc 100644
--- a/docs/reference/web/legacy_client.html
+++ b/docs/reference/web/legacy_client.html
@@ -2789,7 +2789,7 @@ Classes
link_names: Optional[bool] = None,
username: Optional[str] = None,
parse: Optional[str] = None, # none, full
- metadata: Optional[Union[Dict, Metadata]] = None,
+ metadata: Optional[Union[Dict, Metadata, EventAndEntityMetadata]] = None,
markdown_text: Optional[str] = None,
**kwargs,
) -> Union[Future, SlackResponse]:
@@ -2955,6 +2955,7 @@ Classes
source: Optional[str] = None,
unfurl_id: Optional[str] = None,
unfurls: Optional[Dict[str, Dict]] = None, # or user_auth_*
+ metadata: Optional[Union[Dict, EventAndEntityMetadata]] = None,
user_auth_blocks: Optional[Union[str, Sequence[Union[Dict, Block]]]] = None,
user_auth_message: Optional[str] = None,
user_auth_required: Optional[bool] = None,
@@ -2971,6 +2972,7 @@ Classes
"source": source,
"unfurl_id": unfurl_id,
"unfurls": unfurls,
+ "metadata": metadata,
"user_auth_blocks": user_auth_blocks,
"user_auth_message": user_auth_message,
"user_auth_required": user_auth_required,
@@ -3602,6 +3604,30 @@ Classes
kwargs.update({"include_categories": include_categories})
return self.api_call("emoji.list", http_verb="GET", params=kwargs)
+ def entity_presentDetails(
+ self,
+ trigger_id: str,
+ metadata: Optional[Union[Dict, EntityMetadata]] = None,
+ user_auth_required: Optional[bool] = None,
+ user_auth_url: Optional[str] = None,
+ error: Optional[Dict[str, Any]] = None,
+ **kwargs,
+ ) -> Union[Future, SlackResponse]:
+ """Provides entity details for the flexpane.
+ https://docs.slack.dev/reference/methods/entity.presentDetails/
+ """
+ kwargs.update({"trigger_id": trigger_id})
+ if metadata is not None:
+ kwargs.update({"metadata": metadata})
+ if user_auth_required is not None:
+ kwargs.update({"user_auth_required": user_auth_required})
+ if user_auth_url is not None:
+ kwargs.update({"user_auth_url": user_auth_url})
+ if error is not None:
+ kwargs.update({"error": error})
+ _parse_web_class_objects(kwargs)
+ return self.api_call("entity.presentDetails", json=kwargs)
+
def files_comments_delete(
self,
*,
@@ -4856,6 +4882,249 @@ Classes
)
return self.api_call("search.messages", http_verb="GET", params=kwargs)
+ def slackLists_access_delete(
+ self,
+ *,
+ list_id: str,
+ channel_ids: Optional[List[str]] = None,
+ user_ids: Optional[List[str]] = None,
+ **kwargs,
+ ) -> Union[Future, SlackResponse]:
+ """Revoke access to a List for specified entities.
+ https://docs.slack.dev/reference/methods/slackLists.access.delete
+ """
+ kwargs.update({"list_id": list_id, "channel_ids": channel_ids, "user_ids": user_ids})
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.access.delete", json=kwargs)
+
+ def slackLists_access_set(
+ self,
+ *,
+ list_id: str,
+ access_level: str,
+ channel_ids: Optional[List[str]] = None,
+ user_ids: Optional[List[str]] = None,
+ **kwargs,
+ ) -> Union[Future, SlackResponse]:
+ """Set the access level to a List for specified entities.
+ https://docs.slack.dev/reference/methods/slackLists.access.set
+ """
+ kwargs.update({"list_id": list_id, "access_level": access_level, "channel_ids": channel_ids, "user_ids": user_ids})
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.access.set", json=kwargs)
+
+ def slackLists_create(
+ self,
+ *,
+ name: str,
+ description_blocks: Optional[Union[str, Sequence[Union[Dict, RichTextBlock]]]] = None,
+ schema: Optional[List[Dict[str, Any]]] = None,
+ copy_from_list_id: Optional[str] = None,
+ include_copied_list_records: Optional[bool] = None,
+ todo_mode: Optional[bool] = None,
+ **kwargs,
+ ) -> Union[Future, SlackResponse]:
+ """Creates a List.
+ https://docs.slack.dev/reference/methods/slackLists.create
+ """
+ kwargs.update(
+ {
+ "name": name,
+ "description_blocks": description_blocks,
+ "schema": schema,
+ "copy_from_list_id": copy_from_list_id,
+ "include_copied_list_records": include_copied_list_records,
+ "todo_mode": todo_mode,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.create", json=kwargs)
+
+ def slackLists_download_get(
+ self,
+ *,
+ list_id: str,
+ job_id: str,
+ **kwargs,
+ ) -> Union[Future, SlackResponse]:
+ """Retrieve List download URL from an export job to download List contents.
+ https://docs.slack.dev/reference/methods/slackLists.download.get
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "job_id": job_id,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.download.get", json=kwargs)
+
+ def slackLists_download_start(
+ self,
+ *,
+ list_id: str,
+ include_archived: Optional[bool] = None,
+ **kwargs,
+ ) -> Union[Future, SlackResponse]:
+ """Initiate a job to export List contents.
+ https://docs.slack.dev/reference/methods/slackLists.download.start
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "include_archived": include_archived,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.download.start", json=kwargs)
+
+ def slackLists_items_create(
+ self,
+ *,
+ list_id: str,
+ duplicated_item_id: Optional[str] = None,
+ parent_item_id: Optional[str] = None,
+ initial_fields: Optional[List[Dict[str, Any]]] = None,
+ **kwargs,
+ ) -> Union[Future, SlackResponse]:
+ """Add a new item to an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.create
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "duplicated_item_id": duplicated_item_id,
+ "parent_item_id": parent_item_id,
+ "initial_fields": initial_fields,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.create", json=kwargs)
+
+ def slackLists_items_delete(
+ self,
+ *,
+ list_id: str,
+ id: str,
+ **kwargs,
+ ) -> Union[Future, SlackResponse]:
+ """Deletes an item from an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.delete
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "id": id,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.delete", json=kwargs)
+
+ def slackLists_items_deleteMultiple(
+ self,
+ *,
+ list_id: str,
+ ids: List[str],
+ **kwargs,
+ ) -> Union[Future, SlackResponse]:
+ """Deletes multiple items from an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.deleteMultiple
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "ids": ids,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.deleteMultiple", json=kwargs)
+
+ def slackLists_items_info(
+ self,
+ *,
+ list_id: str,
+ id: str,
+ include_is_subscribed: Optional[bool] = None,
+ **kwargs,
+ ) -> Union[Future, SlackResponse]:
+ """Get a row from a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.info
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "id": id,
+ "include_is_subscribed": include_is_subscribed,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.info", json=kwargs)
+
+ def slackLists_items_list(
+ self,
+ *,
+ list_id: str,
+ limit: Optional[int] = None,
+ cursor: Optional[str] = None,
+ archived: Optional[bool] = None,
+ **kwargs,
+ ) -> Union[Future, SlackResponse]:
+ """Get records from a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.list
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "limit": limit,
+ "cursor": cursor,
+ "archived": archived,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.list", json=kwargs)
+
+ def slackLists_items_update(
+ self,
+ *,
+ list_id: str,
+ cells: List[Dict[str, Any]],
+ **kwargs,
+ ) -> Union[Future, SlackResponse]:
+ """Updates cells in a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.update
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "cells": cells,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.update", json=kwargs)
+
+ def slackLists_update(
+ self,
+ *,
+ id: str,
+ name: Optional[str] = None,
+ description_blocks: Optional[Union[str, Sequence[Union[Dict, RichTextBlock]]]] = None,
+ todo_mode: Optional[bool] = None,
+ **kwargs,
+ ) -> Union[Future, SlackResponse]:
+ """Update a List.
+ https://docs.slack.dev/reference/methods/slackLists.update
+ """
+ kwargs.update(
+ {
+ "id": id,
+ "name": name,
+ "description_blocks": description_blocks,
+ "todo_mode": todo_mode,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.update", json=kwargs)
+
def stars_add(
self,
*,
@@ -10002,7 +10271,7 @@ Methods
https://docs.slack.dev/reference/methods/chat.postEphemeral
-def chat_postMessage(self,
*,
channel: str,
text: str | None = None,
as_user: bool | None = None,
attachments: str | Sequence[Dict | Attachment] | None = None,
blocks: str | Sequence[Dict | Block] | None = None,
thread_ts: str | None = None,
reply_broadcast: bool | None = None,
unfurl_links: bool | None = None,
unfurl_media: bool | None = None,
container_id: str | None = None,
icon_emoji: str | None = None,
icon_url: str | None = None,
mrkdwn: bool | None = None,
link_names: bool | None = None,
username: str | None = None,
parse: str | None = None,
metadata: Dict | Metadata | None = None,
markdown_text: str | None = None,
**kwargs) ‑> _asyncio.Future | LegacySlackResponse
+def chat_postMessage(self,
*,
channel: str,
text: str | None = None,
as_user: bool | None = None,
attachments: str | Sequence[Dict | Attachment] | None = None,
blocks: str | Sequence[Dict | Block] | None = None,
thread_ts: str | None = None,
reply_broadcast: bool | None = None,
unfurl_links: bool | None = None,
unfurl_media: bool | None = None,
container_id: str | None = None,
icon_emoji: str | None = None,
icon_url: str | None = None,
mrkdwn: bool | None = None,
link_names: bool | None = None,
username: str | None = None,
parse: str | None = None,
metadata: Dict | Metadata | EventAndEntityMetadata | None = None,
markdown_text: str | None = None,
**kwargs) ‑> _asyncio.Future | LegacySlackResponse
-
@@ -10028,7 +10297,7 @@
Methods
link_names: Optional[bool] = None,
username: Optional[str] = None,
parse: Optional[str] = None, # none, full
- metadata: Optional[Union[Dict, Metadata]] = None,
+ metadata: Optional[Union[Dict, Metadata, EventAndEntityMetadata]] = None,
markdown_text: Optional[str] = None,
**kwargs,
) -> Union[Future, SlackResponse]:
@@ -10234,7 +10503,7 @@ Methods
https://docs.slack.dev/reference/methods/chat.stopStream
-def chat_unfurl(self,
*,
channel: str | None = None,
ts: str | None = None,
source: str | None = None,
unfurl_id: str | None = None,
unfurls: Dict[str, Dict] | None = None,
user_auth_blocks: str | Sequence[Dict | Block] | None = None,
user_auth_message: str | None = None,
user_auth_required: bool | None = None,
user_auth_url: str | None = None,
**kwargs) ‑> _asyncio.Future | LegacySlackResponse
+def chat_unfurl(self,
*,
channel: str | None = None,
ts: str | None = None,
source: str | None = None,
unfurl_id: str | None = None,
unfurls: Dict[str, Dict] | None = None,
metadata: Dict | EventAndEntityMetadata | None = None,
user_auth_blocks: str | Sequence[Dict | Block] | None = None,
user_auth_message: str | None = None,
user_auth_required: bool | None = None,
user_auth_url: str | None = None,
**kwargs) ‑> _asyncio.Future | LegacySlackResponse
-
@@ -10249,6 +10518,7 @@
Methods
source: Optional[str] = None,
unfurl_id: Optional[str] = None,
unfurls: Optional[Dict[str, Dict]] = None, # or user_auth_*
+ metadata: Optional[Union[Dict, EventAndEntityMetadata]] = None,
user_auth_blocks: Optional[Union[str, Sequence[Union[Dict, Block]]]] = None,
user_auth_message: Optional[str] = None,
user_auth_required: Optional[bool] = None,
@@ -10265,6 +10535,7 @@ Methods
"source": source,
"unfurl_id": unfurl_id,
"unfurls": unfurls,
+ "metadata": metadata,
"user_auth_blocks": user_auth_blocks,
"user_auth_message": user_auth_message,
"user_auth_required": user_auth_required,
@@ -11296,6 +11567,41 @@ Methods
Lists custom emoji for a team.
https://docs.slack.dev/reference/methods/emoji.list
+
+def entity_presentDetails(self,
trigger_id: str,
metadata: Dict | EntityMetadata | None = None,
user_auth_required: bool | None = None,
user_auth_url: str | None = None,
error: Dict[str, Any] | None = None,
**kwargs) ‑> _asyncio.Future | LegacySlackResponse
+
+-
+
+
+Expand source code
+
+def entity_presentDetails(
+ self,
+ trigger_id: str,
+ metadata: Optional[Union[Dict, EntityMetadata]] = None,
+ user_auth_required: Optional[bool] = None,
+ user_auth_url: Optional[str] = None,
+ error: Optional[Dict[str, Any]] = None,
+ **kwargs,
+) -> Union[Future, SlackResponse]:
+ """Provides entity details for the flexpane.
+ https://docs.slack.dev/reference/methods/entity.presentDetails/
+ """
+ kwargs.update({"trigger_id": trigger_id})
+ if metadata is not None:
+ kwargs.update({"metadata": metadata})
+ if user_auth_required is not None:
+ kwargs.update({"user_auth_required": user_auth_required})
+ if user_auth_url is not None:
+ kwargs.update({"user_auth_url": user_auth_url})
+ if error is not None:
+ kwargs.update({"error": error})
+ _parse_web_class_objects(kwargs)
+ return self.api_call("entity.presentDetails", json=kwargs)
+
+Provides entity details for the flexpane.
+https://docs.slack.dev/reference/methods/entity.presentDetails/
+
def files_comments_delete(self, *, file: str, id: str, **kwargs) ‑> _asyncio.Future | LegacySlackResponse
@@ -13271,6 +13577,381 @@ Methods
Searches for messages matching a query.
https://docs.slack.dev/reference/methods/search.messages
+
+def slackLists_access_delete(self,
*,
list_id: str,
channel_ids: List[str] | None = None,
user_ids: List[str] | None = None,
**kwargs) ‑> _asyncio.Future | LegacySlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_access_delete(
+ self,
+ *,
+ list_id: str,
+ channel_ids: Optional[List[str]] = None,
+ user_ids: Optional[List[str]] = None,
+ **kwargs,
+) -> Union[Future, SlackResponse]:
+ """Revoke access to a List for specified entities.
+ https://docs.slack.dev/reference/methods/slackLists.access.delete
+ """
+ kwargs.update({"list_id": list_id, "channel_ids": channel_ids, "user_ids": user_ids})
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.access.delete", json=kwargs)
+
+Revoke access to a List for specified entities.
+https://docs.slack.dev/reference/methods/slackLists.access.delete
+
+
+def slackLists_access_set(self,
*,
list_id: str,
access_level: str,
channel_ids: List[str] | None = None,
user_ids: List[str] | None = None,
**kwargs) ‑> _asyncio.Future | LegacySlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_access_set(
+ self,
+ *,
+ list_id: str,
+ access_level: str,
+ channel_ids: Optional[List[str]] = None,
+ user_ids: Optional[List[str]] = None,
+ **kwargs,
+) -> Union[Future, SlackResponse]:
+ """Set the access level to a List for specified entities.
+ https://docs.slack.dev/reference/methods/slackLists.access.set
+ """
+ kwargs.update({"list_id": list_id, "access_level": access_level, "channel_ids": channel_ids, "user_ids": user_ids})
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.access.set", json=kwargs)
+
+Set the access level to a List for specified entities.
+https://docs.slack.dev/reference/methods/slackLists.access.set
+
+
+def slackLists_create(self,
*,
name: str,
description_blocks: str | Sequence[Dict | RichTextBlock] | None = None,
schema: List[Dict[str, Any]] | None = None,
copy_from_list_id: str | None = None,
include_copied_list_records: bool | None = None,
todo_mode: bool | None = None,
**kwargs) ‑> _asyncio.Future | LegacySlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_create(
+ self,
+ *,
+ name: str,
+ description_blocks: Optional[Union[str, Sequence[Union[Dict, RichTextBlock]]]] = None,
+ schema: Optional[List[Dict[str, Any]]] = None,
+ copy_from_list_id: Optional[str] = None,
+ include_copied_list_records: Optional[bool] = None,
+ todo_mode: Optional[bool] = None,
+ **kwargs,
+) -> Union[Future, SlackResponse]:
+ """Creates a List.
+ https://docs.slack.dev/reference/methods/slackLists.create
+ """
+ kwargs.update(
+ {
+ "name": name,
+ "description_blocks": description_blocks,
+ "schema": schema,
+ "copy_from_list_id": copy_from_list_id,
+ "include_copied_list_records": include_copied_list_records,
+ "todo_mode": todo_mode,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.create", json=kwargs)
+
+Creates a List.
+https://docs.slack.dev/reference/methods/slackLists.create
+
+
+def slackLists_download_get(self, *, list_id: str, job_id: str, **kwargs) ‑> _asyncio.Future | LegacySlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_download_get(
+ self,
+ *,
+ list_id: str,
+ job_id: str,
+ **kwargs,
+) -> Union[Future, SlackResponse]:
+ """Retrieve List download URL from an export job to download List contents.
+ https://docs.slack.dev/reference/methods/slackLists.download.get
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "job_id": job_id,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.download.get", json=kwargs)
+
+Retrieve List download URL from an export job to download List contents.
+https://docs.slack.dev/reference/methods/slackLists.download.get
+
+
+def slackLists_download_start(self, *, list_id: str, include_archived: bool | None = None, **kwargs) ‑> _asyncio.Future | LegacySlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_download_start(
+ self,
+ *,
+ list_id: str,
+ include_archived: Optional[bool] = None,
+ **kwargs,
+) -> Union[Future, SlackResponse]:
+ """Initiate a job to export List contents.
+ https://docs.slack.dev/reference/methods/slackLists.download.start
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "include_archived": include_archived,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.download.start", json=kwargs)
+
+Initiate a job to export List contents.
+https://docs.slack.dev/reference/methods/slackLists.download.start
+
+
+def slackLists_items_create(self,
*,
list_id: str,
duplicated_item_id: str | None = None,
parent_item_id: str | None = None,
initial_fields: List[Dict[str, Any]] | None = None,
**kwargs) ‑> _asyncio.Future | LegacySlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_items_create(
+ self,
+ *,
+ list_id: str,
+ duplicated_item_id: Optional[str] = None,
+ parent_item_id: Optional[str] = None,
+ initial_fields: Optional[List[Dict[str, Any]]] = None,
+ **kwargs,
+) -> Union[Future, SlackResponse]:
+ """Add a new item to an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.create
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "duplicated_item_id": duplicated_item_id,
+ "parent_item_id": parent_item_id,
+ "initial_fields": initial_fields,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.create", json=kwargs)
+
+Add a new item to an existing List.
+https://docs.slack.dev/reference/methods/slackLists.items.create
+
+
+def slackLists_items_delete(self, *, list_id: str, id: str, **kwargs) ‑> _asyncio.Future | LegacySlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_items_delete(
+ self,
+ *,
+ list_id: str,
+ id: str,
+ **kwargs,
+) -> Union[Future, SlackResponse]:
+ """Deletes an item from an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.delete
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "id": id,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.delete", json=kwargs)
+
+Deletes an item from an existing List.
+https://docs.slack.dev/reference/methods/slackLists.items.delete
+
+
+def slackLists_items_deleteMultiple(self, *, list_id: str, ids: List[str], **kwargs) ‑> _asyncio.Future | LegacySlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_items_deleteMultiple(
+ self,
+ *,
+ list_id: str,
+ ids: List[str],
+ **kwargs,
+) -> Union[Future, SlackResponse]:
+ """Deletes multiple items from an existing List.
+ https://docs.slack.dev/reference/methods/slackLists.items.deleteMultiple
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "ids": ids,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.deleteMultiple", json=kwargs)
+
+Deletes multiple items from an existing List.
+https://docs.slack.dev/reference/methods/slackLists.items.deleteMultiple
+
+
+def slackLists_items_info(self, *, list_id: str, id: str, include_is_subscribed: bool | None = None, **kwargs) ‑> _asyncio.Future | LegacySlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_items_info(
+ self,
+ *,
+ list_id: str,
+ id: str,
+ include_is_subscribed: Optional[bool] = None,
+ **kwargs,
+) -> Union[Future, SlackResponse]:
+ """Get a row from a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.info
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "id": id,
+ "include_is_subscribed": include_is_subscribed,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.info", json=kwargs)
+
+Get a row from a List.
+https://docs.slack.dev/reference/methods/slackLists.items.info
+
+
+def slackLists_items_list(self,
*,
list_id: str,
limit: int | None = None,
cursor: str | None = None,
archived: bool | None = None,
**kwargs) ‑> _asyncio.Future | LegacySlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_items_list(
+ self,
+ *,
+ list_id: str,
+ limit: Optional[int] = None,
+ cursor: Optional[str] = None,
+ archived: Optional[bool] = None,
+ **kwargs,
+) -> Union[Future, SlackResponse]:
+ """Get records from a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.list
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "limit": limit,
+ "cursor": cursor,
+ "archived": archived,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.list", json=kwargs)
+
+Get records from a List.
+https://docs.slack.dev/reference/methods/slackLists.items.list
+
+
+def slackLists_items_update(self, *, list_id: str, cells: List[Dict[str, Any]], **kwargs) ‑> _asyncio.Future | LegacySlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_items_update(
+ self,
+ *,
+ list_id: str,
+ cells: List[Dict[str, Any]],
+ **kwargs,
+) -> Union[Future, SlackResponse]:
+ """Updates cells in a List.
+ https://docs.slack.dev/reference/methods/slackLists.items.update
+ """
+ kwargs.update(
+ {
+ "list_id": list_id,
+ "cells": cells,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.items.update", json=kwargs)
+
+Updates cells in a List.
+https://docs.slack.dev/reference/methods/slackLists.items.update
+
+
+def slackLists_update(self,
*,
id: str,
name: str | None = None,
description_blocks: str | Sequence[Dict | RichTextBlock] | None = None,
todo_mode: bool | None = None,
**kwargs) ‑> _asyncio.Future | LegacySlackResponse
+
+-
+
+
+Expand source code
+
+def slackLists_update(
+ self,
+ *,
+ id: str,
+ name: Optional[str] = None,
+ description_blocks: Optional[Union[str, Sequence[Union[Dict, RichTextBlock]]]] = None,
+ todo_mode: Optional[bool] = None,
+ **kwargs,
+) -> Union[Future, SlackResponse]:
+ """Update a List.
+ https://docs.slack.dev/reference/methods/slackLists.update
+ """
+ kwargs.update(
+ {
+ "id": id,
+ "name": name,
+ "description_blocks": description_blocks,
+ "todo_mode": todo_mode,
+ }
+ )
+ kwargs = _remove_none_values(kwargs)
+ return self.api_call("slackLists.update", json=kwargs)
+
+Update a List.
+https://docs.slack.dev/reference/methods/slackLists.update
+
def stars_add(self,
*,
channel: str | None = None,
file: str | None = None,
file_comment: str | None = None,
timestamp: str | None = None,
**kwargs) ‑> _asyncio.Future | LegacySlackResponse
@@ -14785,6 +15466,7 @@ dnd_setSnooze
dnd_teamInfo
emoji_list
+entity_presentDetails
files_comments_delete
files_completeUploadExternal
files_delete
@@ -14854,6 +15536,18 @@ search_all
search_files
search_messages
+slackLists_access_delete
+slackLists_access_set
+slackLists_create
+slackLists_download_get
+slackLists_download_start
+slackLists_items_create
+slackLists_items_delete
+slackLists_items_deleteMultiple
+slackLists_items_info
+slackLists_items_list
+slackLists_items_update
+slackLists_update
stars_add
stars_list
stars_remove
diff --git a/slack_sdk/version.py b/slack_sdk/version.py
index c787aa278..fb572e0ba 100644
--- a/slack_sdk/version.py
+++ b/slack_sdk/version.py
@@ -1,3 +1,3 @@
"""Check the latest version at https://pypi.org/project/slack-sdk/"""
-__version__ = "3.38.0"
+__version__ = "3.39.0"