o
    ~h                    @   s   d Z ddlZddlZddlZddlmZ ddlmZmZm	Z	m
Z
mZmZmZ ddlmZ ddlmZ ddlmZmZ ddlmZmZmZmZmZmZmZ d	d
lmZ d	dl m!Z! d	dl"m#Z# G dd deZ$dS )z5A Python module for interacting with Slack's Web API.    N)IOBase)UnionSequenceOptionalDictTupleAnyList)View   )
BaseClientSlackResponse)_parse_web_class_objects_update_call_participants/_warn_if_text_or_attachment_fallback_is_missing_remove_none_values_to_v2_file_upload_item_validate_for_legacy_client!_print_files_upload_v2_suggestion   )
Attachment)Block)Metadatac                &   @   s8  e Zd ZdZddddedee dee defdd	Zddddd
dee dee dee dee def
ddZ	ddddddee dee
 dee dee def
ddZddddedee dee defddZddddedee dee defddZdddddee dee
 dee defddZddddd
dee dee dee dee def
ddZddddddee dee
 dee dee def
d d!Zddd"dedee d#eeeee f  defd$d%Zdddddddddddddd&dee d'ee d(ee d)ee d*ee
 d+ee
 d,ee d-ee d.ee dee d/ee dee dee
 defd0d1Zd2eeee f defd3d4Zddd5ded6eeeef  d7ee defd8d9Zdddd:d;edee d<ee dee
 def
d=d>Zd?eeee f d;ed<edefd@dAZd?eeee f d;ed<edefdBdCZdDeeee f dEedFeeee f defdGdHZdIedefdJdKZdIedDeeee f dEedFeeee f def
dLdMZdddNdee dee
 defdOdPZddddQdRedSedTee dUee dee defdVdWZ dXedefdYdZZ!dXed[eeee f defd\d]Z"dXedefd^d_Z#dXedefd`daZ$dXedSedefdbdcZ%ddddddddddee dee
 deee dfeeeee f  dgee dhee d#eeeee f  defdidjZ&dXedefdkdlZ'dXedefdmdnZ(dXedoeeeeef f defdpdqZ)dXedefdrdsZ*ddtdXedueeeee f  defdvdwZ+ddddxdye
d#eeee f dee dee
 dzee
 defd{d|Z,ddddd}d~eeeee f  dee dee
 d#eeeee f  def
ddZ-dddXededee defddZ.dddXedee defddZ/dXedededefddZ0dddddXedee deeeee f  dee def
ddZ1dddNdXedee dee
 defddZ2dXedefddZ3dXedefddZ4dXede
defddZ5d~eee ef defddZ6d~eee ef defddZ7d~eee ef dedefddZ8dSededefddZ9dedSedefddZ:dddNdee dee
 defddZ;dSedefddZ<dSededefddZ=ddddd2eeee f dee dee dee
 def
ddZ>deeee f defddZ?dddeded[eeeee f  defddZ@ded?eeee f d[eeee f defddZAdddddddeeeee f  d?eeeee f  dee deeee
f  dhee defddZBded?eeee f d[eeee f defddZCddddedee dee defddĄZDdddd[eeee f dee dee defddƄZEdededefddɄZFdddddʜdee dee
 dee dee def
dd̄ZGded~eeee f defdd΄ZHd[eeee f defddЄZIdddќd[eeee f dee dee
 defddՄZJd[eeee f defddׄZKddd؜deeee
f  deeee
f  defdd܄ZLdddedee defdd߄ZMdddddee dee
 dee defddZNdddddee dee
 dee defddZOdddedee defddZPdefddZQdddNdedee dee
 defddZRddddededee dee def
ddZSdddNdee dee
 defddZTdddNdedee dee
 defddZUdedefddZVdedTedefddZWdededefddZXdededefddZYdedSedefdd ZZddd~eeee f dedee defddZ[ddded#eeee f dee defddZ\dddded	ee dee defd
dZ]ded~eeee f defddZ^dddddeded~eeeee f  dee dee defddZ_dddddddddeded~eeee f dee dee deeee`f  dee dee dee dee defddZaddddddedee dee dee dee
 defdd Zbdededefd!d"Zcdededefd#d$Zdddd%e
dedee defd&d'Zedededefd(d)Zfdededefd*d+Zgddddddddddd,
dee d-eeeee f  dee dee
 d.ee d/ee
 deee dgee dhee d.ee defd0d1Zhdd2d3eeee f d4ee
 defd5d6Zid-eeee f d3eeee f defd7d8Zjd-eeee f d3eeee f defd9d:Zkd3eeee f defd;d<Zldd=d>ee defd?d@ZmdAedefdBdCZndddNdDedee dee
 defdEdFZodGedHedefdIdJZpdKeeeeef f defdLdMZqdedefdNdOZrdedefdPdQZsdedKeeeeef f defdRdSZtddTdKeeeeef f dee defdUdVZudWedefdXdYZvddZd[ee defd\d]Zwdefd^d_Zx			ddee dee
 d`ee defdadbZydddddcdXeddededeee dfee dgee dhee defdidjZzddddkdledXedeee dgee ddee defdmdnZ{dXedefdodpZ|dledXedefdqdrZ}dddsdtee dee defdudvZ~dddddddwdxedyedzee d{ee
 d|ee d}ee ddee d~eeeeeeef  f  defddZdddedee
 defddZdedefddZded~eeeeeef  f defddZded~eeeeeef  f defddZddddded|ee dyee ddee def
ddZddddee deeef defddZdedeeeef  defddZdedefddZddddeded~eeee ef  d[eeee ef  def
ddZdddded~eeee ef  d[eeee ef  defddZdedeeef defddZdedefddZdSedefddZdedefddZdedefddZdededefddZdSedefddZdededefddZdedefddZdefddZdededefddZdedSedefddZdededefddZdededefddZdededefddZdedefdÐdĄZddŜdededee defdǐdȄZddŜdededee defdʐd˄Zdededefd͐d΄ZdededefdАdфZdddddddddddҜ
dededee dee deeeeeeef  f  deeeeeeef  f  dee dee dee dee dee dee defdڐdۄZdddddddddddddddddܜdedee dee deeeeeeef  f  deeeeeeef  f  dee dee dee dee dee dee dee dee dee dee dee deeeef  def$ddZddddddddddd
dedeee
f dedee deeeeeeef  f  deeeeeeef  f  dee dee dee dee dee dee deeeef  defddZdddddddddd	dee dee d.ee dee deeeef  deeeeeeef  f  dee dee dee defddZdddddddddd	dededee deeeeeeef  f  deeeeeeef  f  dee deeeee f  dee dee dee deeeef  defddZddddddddee dee dee dee
 dee dee defddZdddddddedXee dee dee dRee dee defdd Zdddedee defddZdedefddZdedefddZddd	dSedRee dee defd
dZdddedee defddZddddddddedee dee dee dee dee
 dee defddZddddedee d	ee defddZddded~eeee f dee defddZddddedeeeee f  d[eeeee f  defddZdedefdd Zdededefd!d"Zdedefd#d$Zdddddd%dee d&ee dee
 dee d'eeeee f  defd(d)Zdddd*d+ee
 dee dee defd,d-Zdededefd.d/ZdddNdedee dee
 defd0d1Zdddd2dee d3ee d~eeeee f  defd4d5ZdedSedefd6d7Zddddddddededee dee dee dee dee
 dee defd8d9Zdededefd:d;Zdededefd<d=Zdedefd>d?ZdXedeeef defd@dAZdBeeef dCedefdDdEZdefdFdGZdefdHdIZdddJdee dee defdKdLZdMee
ef defdNdOZ	dd~eeee f dee defdPdQZ	ddRee defdSdTZŐdUededefdVdWZƐdUedefdXdYZdddddZdUed+ee
 dee dee
 d[ee
 defd\d]Zdddddddddd^	dee d+ee
 d[ee
 d_ee dee d`ee daee d'eeeee f  dee defdbdcZdddddeee dUee defdfdgZddddddhdee dee dee
 d`ee daee defdidjZddddkdeedleddedmee dneeeeef  doeeeeef  defdpdqZddddddddrdeee dlee dUee ddee dmee dnee doee defdsdtZdddddeee dUee defdudvZdddddweeee f deee dUee defdxdyZѐdUedefdzd{ZҐdUedefd|d}Zddddddddd~dUeeeeef  deeeef  dee dmee dee dee ddee dweeeee f  defddZdddddddddddddee dUeeeeef  deeeef  ddee dee dee deeeeef   dee dee dee dedefddZddddede
dee dee def
ddZdddddeeeef  dXee dee dee def
ddZؐdedeeef defddZِded>edefddZڐdedefddZdSedefddZܐdedefddZݐdedefddZސdedefddZߐdededefddZdededefddZdedefddZdefddZdededefddZdedefddZdedSedefddZdededefddZdededefddZdededefddZdedefddZdedefddZdedefddZdefddZdededefddZdedefddÄZdededefdĐdńZdddƜd~eeee f dee dee defdȐdɄZdedefdʐd˄Zdedefd̐d̈́ZdefdΐdτZdededefdАdфZd~eeee f defdҐdӄZdededefdԐdՄZddddd֜dGedHedee dee dee dWee defdڐdۄZddܜdGedHededee def
dݐdބZdedGedHedefddZ				ddGedHedee dee dee dWee defddZdefddZdddedee defddZdedefddZdddedee defddZdedSededefddZ dddddddee dUee dee dee dee defddZddddddddd+ee
 dee dee dee
 d[ee
 dee dee defddZddddddSedee dUee dee dee defddZdddddededee dee dee defddZddd edee defddZddd edee defddZddd edee defddZdddee defddZddd	d
ee dee defddZ	ddddddddd
ee dee dee dee dee dee dee defddZ
ddddddddeed+ee
 dee d[ee
 dgee dhee dee defddZddddddddeed+ee
 dee d[ee
 dgee dhee dee defddZdddddddddeed+ee
 dee dee d[ee
 dgee dhee dee defddZddddddee dUee dee dee def
ddZdddddd d+ee
 dee dee
 d[ee
 dee defd!d"Zddddddee dUee dee dee def
d#d$Zddddddd%d&eee
ef  d+eee
ef  d[eee
ef  dee dee dee
 defd'd(ZdddJdee dee defd)d*Zdefd+d,Zdddddddd-d.ee d/eee  d-ee d0ee d1eee  dee dee
 defd2d3Zddd4d5ee d6ee defd7d8Zdddddddd9dee d:ee d+eee
ef  d[eee
ef  d;ee dee dee defd<d=Zdd>dee defd?d@ZdefdAdBZddddddCdSedweeeee f  dTee dDee dEee dee defdFdGZdddHdIedEee dee defdJdKZdddHdIedEee dee defdLdMZdddddNdEee dOee dPee dee def
dQdRZdddddddSdIedweeeee f  dTee dDee dEee dSee dee defdTdUZdddVdIedOee dee defdWdXZdddHdIed~eeee f dEee dee def
dYdZZddddddd[dee d&ee dee
 dee d'eeeee f  dee defd\d]Z defd^d_Z!dedefd`daZ"defdbdcZ#ddddedee defdedfZ$dddddgdee dee dee
 dee def
dhdiZ%dedefdjdkZ&ddddldmeeef dneee
ef  doeee
ef  dpeee
ef  def
dqdrZ'dsedefdtduZ(dedefdvdwZ)dddxdee dyee defdzd{Z*ddddd|dSee d}ee dee d~ee def
ddZ+dCedee,e-f defddZ.dCedee,e-f defddZ/dddddee,e-f deee dee dee def
ddZ0dddedee,e-f dee defddZ1dddedee, defddZ2ded>eeef defddZ3ddddedeeeef  deeeeef   defddZ4dS (  	WebClienta	  A WebClient allows apps to communicate with the Slack Platform's Web API.

    https://api.slack.com/methods

    The Slack Web API is an interface for querying information from
    and enacting change in a Slack workspace.

    This client handles constructing and sending HTTP requests to Slack
    as well as parsing any responses received into a `SlackResponse`.

    Attributes:
        token (str): A string specifying an `xoxp-*` or `xoxb-*` token.
        base_url (str): A string representing the Slack API base URL.
            Default is `'https://slack.com/api/'`
        timeout (int): The maximum number of seconds the client will wait
            to connect and receive a response from Slack.
            Default is 30 seconds.
        ssl (SSLContext): An [`ssl.SSLContext`][1] instance, helpful for specifying
            your own custom certificate chain.
        proxy (str): String representing a fully-qualified URL to a proxy through
            which to route all requests to the Slack API. Even if this parameter
            is not specified, if any of the following environment variables are
            present, they will be loaded into this parameter: `HTTPS_PROXY`,
            `https_proxy`, `HTTP_PROXY` or `http_proxy`.
        headers (dict): Additional request headers to attach to all requests.

    Methods:
        `api_call`: Constructs a request and executes the API call to Slack.

    Example of recommended usage:
    ```python
        import os
        from slack_sdk import WebClient

        client = WebClient(token=os.environ['SLACK_API_TOKEN'])
        response = client.chat_postMessage(
            channel='#random',
            text="Hello world!")
        assert response["ok"]
        assert response["message"]["text"] == "Hello world!"
    ```

    Example manually creating an API request:
    ```python
        import os
        from slack_sdk import WebClient

        client = WebClient(token=os.environ['SLACK_API_TOKEN'])
        response = client.api_call(
            api_method='chat.postMessage',
            json={'channel': '#random','text': "Hello world!"}
        )
        assert response["ok"]
        assert response["message"]["text"] == "Hello world!"
    ```

    Note:
        Any attributes or methods prefixed with _underscores are
        intended to be "private" internal use only. They may be changed or
        removed at anytime.

    [1]: https://docs.python.org/3/library/ssl.html#ssl.SSLContext
    N)datemetadata_onlytyper   r   returnc                K   sH   | d|i |dur| d|i |dur| d|i | jd|dS )zRetrieve analytics data for a given date, presented as a compressed JSON file
        https://api.slack.com/methods/admin.analytics.getFile
        r   Nr   r   zadmin.analytics.getFileparamsupdateapi_call)selfr   r   r   kwargs r%   L/var/www/html/zoom/venv/lib/python3.10/site-packages/slack_sdk/web/client.pyadmin_analytics_getFileZ   s   z!WebClient.admin_analytics_getFile)app_id
request_identerprise_idteam_idr(   r)   r*   r+   c                K   P   |r
| d|i n|r| d|i ntd| ||d | jd|dS )a$  Approve an app for installation on a workspace.
        Either app_id or request_id is required.
        These IDs can be obtained either directly via the app_requested event,
        or by the admin.apps.requests.list method.
        https://api.slack.com/methods/admin.apps.approve
        r(   r)   4The app_id or request_id argument must be specified.r*   r+   zadmin.apps.approver   r!   eSlackRequestErrorr"   r#   r(   r)   r*   r+   r$   r%   r%   r&   admin_apps_approvel      
zWebClient.admin_apps_approvecursorlimitr*   r+   r6   r7   c                K   $   | ||||d | jdd|dS )zsList approved apps for an org or workspace.
        https://api.slack.com/methods/admin.apps.approved.list
        r5   zadmin.apps.approved.listGET	http_verbr   r    r#   r6   r7   r*   r+   r$   r%   r%   r&   admin_apps_approved_list      z"WebClient.admin_apps_approved_listr.   c                K   "   | |||d | jdd|dS )zaClear an app resolution
        https://api.slack.com/methods/admin.apps.clearResolution
        )r(   r*   r+   zadmin.apps.clearResolutionPOSTr:   r    )r#   r(   r*   r+   r$   r%   r%   r&   admin_apps_clearResolution      z$WebClient.admin_apps_clearResolutionc                K   r?   )zqList app requests for a team/workspace.
        https://api.slack.com/methods/admin.apps.requests.cancel
        )r)   r*   r+   zadmin.apps.requests.cancelr@   r:   r    )r#   r)   r*   r+   r$   r%   r%   r&   admin_apps_requests_cancel   rB   z$WebClient.admin_apps_requests_cancelr6   r7   r+   c                K   r?   )zoList app requests for a team/workspace.
        https://api.slack.com/methods/admin.apps.requests.list
        rD   zadmin.apps.requests.listr9   r:   r    r#   r6   r7   r+   r$   r%   r%   r&   admin_apps_requests_list   rB   z"WebClient.admin_apps_requests_listc                K   r,   )as  Restrict an app for installation on a workspace.
        Exactly one of the team_id or enterprise_id arguments is required, not both.
        Either app_id or request_id is required. These IDs can be obtained either directly
        via the app_requested event, or by the admin.apps.requests.list method.
        https://api.slack.com/methods/admin.apps.restrict
        r(   r)   r-   r.   zadmin.apps.restrictr   r/   r2   r%   r%   r&   admin_apps_restrict   r4   zWebClient.admin_apps_restrictc                K   r8   )zwList restricted apps for an org or workspace.
        https://api.slack.com/methods/admin.apps.restricted.list
        r5   zadmin.apps.restricted.listr9   r:   r    r<   r%   r%   r&   admin_apps_restricted_list   r>   z$WebClient.admin_apps_restricted_list)r*   team_idsrI   c                K   sn   | d|i |dur| d|i |dur/t|ttfr(| dd|i n| d|i | jdd|dS )	zUninstall an app from one or many workspaces, or an entire enterprise organization.
        With an org-level token, enterprise_id or team_ids is required.
        https://api.slack.com/methods/admin.apps.uninstall
        r(   Nr*   rI   ,zadmin.apps.uninstallr@   r:   r!   
isinstancelistr   joinr"   )r#   r(   r*   rI   r$   r%   r%   r&   admin_apps_uninstall  s   zWebClient.admin_apps_uninstallr(   component_idcomponent_typelog_event_typemax_date_createdmin_date_createdmin_log_levelsort_directionsourcer+   trace_idr6   r7   rQ   rR   rS   rT   rU   rV   rW   rX   rY   c                K   s4   | |||||||||	|
|||d | jd|dS )zkGet logs for a specified team/org
        https://api.slack.com/methods/admin.apps.activities.list
        rP   zadmin.apps.activities.listr   r    )r#   r(   rQ   rR   rS   rT   rU   rV   rW   rX   r+   rY   r6   r7   r$   r%   r%   r&   admin_apps_activities_list&  s"   z$WebClient.admin_apps_activities_listapp_idsc                K   @   t |ttfr|dd|i n|d|i | jd|dS )zzLook up the app config for connectors by their IDs
        https://api.slack.com/methods/admin.apps.config.lookup
        r[   rJ   zadmin.apps.config.lookupr   rL   rM   r   r!   rN   r"   )r#   r[   r$   r%   r%   r&   admin_apps_config_lookupN     	z"WebClient.admin_apps_config_lookup)domain_restrictionsworkflow_auth_strategyr`   ra   c                K   s:   | ||d |dur| dt|i | jd|dS )zgSet the app config for a connector
        https://api.slack.com/methods/admin.apps.config.set
        )r(   ra   Nr`   zadmin.apps.config.setr   r!   jsondumpsr"   )r#   r(   r`   ra   r$   r%   r%   r&   admin_apps_config_set]  s   zWebClient.admin_apps_config_set)r6   entity_typer7   policy_namerf   c                K   s`   | d|i |dur| d|i |dur| d|i |dur(| d|i | jdd|dS )	zFetch all the entities assigned to a particular authentication policy by name.
        https://api.slack.com/methods/admin.auth.policy.getEntities
        rg   Nr6   rf   r7   zadmin.auth.policy.getEntitiesr@   r:   r    )r#   rg   r6   rf   r7   r$   r%   r%   r&   admin_auth_policy_getEntitiesr  s   z'WebClient.admin_auth_policy_getEntities
entity_idsc                K   ^   t |ttfr|dd|i n|d|i |d|i |d|i | jdd|dS )zAssign entities to a particular authentication policy.
        https://api.slack.com/methods/admin.auth.policy.assignEntities
        ri   rJ   rg   rf   z admin.auth.policy.assignEntitiesr@   r:   r]   r#   ri   rg   rf   r$   r%   r%   r&    admin_auth_policy_assignEntities     z*WebClient.admin_auth_policy_assignEntitiesc                K   rj   )zRemove specified entities from a specified authentication policy.
        https://api.slack.com/methods/admin.auth.policy.removeEntities
        ri   rJ   rg   rf   z admin.auth.policy.removeEntitiesr@   r:   r]   rk   r%   r%   r&    admin_auth_policy_removeEntities  rm   z*WebClient.admin_auth_policy_removeEntitiesbarriered_from_usergroup_idsprimary_usergroup_idrestricted_subjectsc                K   s   | d|i t|ttfr| dd|i n| d|i t|ttfr2| dd|i n| d|i | jdd|dS )zbCreate an Information Barrier
        https://api.slack.com/methods/admin.barriers.create
        rp   ro   rJ   rq   zadmin.barriers.creater@   r:   rK   )r#   ro   rp   rq   r$   r%   r%   r&   admin_barriers_create  s   zWebClient.admin_barriers_create
barrier_idc                K      | d|i | jdd|dS )zkDelete an existing Information Barrier
        https://api.slack.com/methods/admin.barriers.delete
        rs   zadmin.barriers.deleter@   r:   r    )r#   rs   r$   r%   r%   r&   admin_barriers_delete     	zWebClient.admin_barriers_deletec                K   s   | ||d t|ttfr| dd|i n| d|i t|ttfr3| dd|i n| d|i | jdd|dS )zkUpdate an existing Information Barrier
        https://api.slack.com/methods/admin.barriers.update
        )rs   rp   ro   rJ   rq   zadmin.barriers.updater@   r:   rK   )r#   rs   ro   rp   rq   r$   r%   r%   r&   admin_barriers_update  s   zWebClient.admin_barriers_updater6   r7   c                K       | ||d | jdd|dS )zlGet all Information Barriers for your organization
        https://api.slack.com/methods/admin.barriers.listrx   zadmin.barriers.listr9   r:   r    r#   r6   r7   r$   r%   r%   r&   admin_barriers_list  s   	zWebClient.admin_barriers_list)descriptionorg_wider+   
is_privatenamer|   r}   c                K   $   | |||||d | jd|dS )zCreate a public or private channel-based conversation.
        https://api.slack.com/methods/admin.conversations.create
        )r~   r   r|   r}   r+   zadmin.conversations.creater   r    )r#   r~   r   r|   r}   r+   r$   r%   r%   r&   admin_conversations_create     	z$WebClient.admin_conversations_create
channel_idc                K      | d|i | jd|dS )zmDelete a public or private channel.
        https://api.slack.com/methods/admin.conversations.delete
        r   zadmin.conversations.deleter   r    r#   r   r$   r%   r%   r&   admin_conversations_delete     	z$WebClient.admin_conversations_deleteuser_idsc                K   N   | d|i t|ttfr| dd|i n| d|i | jd|dS )zwInvite a user to a public or private channel.
        https://api.slack.com/methods/admin.conversations.invite
        r   r   rJ   zadmin.conversations.inviter   rK   )r#   r   r   r$   r%   r%   r&   admin_conversations_invite  s
   
z$WebClient.admin_conversations_invitec                K   r   )zoArchive a public or private channel.
        https://api.slack.com/methods/admin.conversations.archive
        r   zadmin.conversations.archiver   r    r   r%   r%   r&   admin_conversations_archive-  r   z%WebClient.admin_conversations_archivec                K   r   )zqUnarchive a public or private channel.
        https://api.slack.com/methods/admin.conversations.archive
        r   zadmin.conversations.unarchiver   r    r   r%   r%   r&   admin_conversations_unarchive9  r   z'WebClient.admin_conversations_unarchivec                K      | ||d | jd|dS )zmRename a public or private channel.
        https://api.slack.com/methods/admin.conversations.rename
        )r   r   zadmin.conversations.renamer   r    )r#   r   r   r$   r%   r%   r&   admin_conversations_renameE     
z$WebClient.admin_conversations_rename)r6   r7   querysearch_channel_typessortsort_dirrI   r   r   r   r   c          	      K   s   | |||||d t|ttfr| dd|i n| d|i t|ttfr6| dd|i n| d|i | jd|dS )zSearch for public or private channels in an Enterprise organization.
        https://api.slack.com/methods/admin.conversations.search
        )r6   r7   r   r   r   r   rJ   rI   zadmin.conversations.searchr   rK   )	r#   r6   r7   r   r   r   r   rI   r$   r%   r%   r&   admin_conversations_searchR  s   
z$WebClient.admin_conversations_searchc                K   r   )zConvert a public channel to a private channel.
        https://api.slack.com/methods/admin.conversations.convertToPrivate
        r   z$admin.conversations.convertToPrivater   r    r   r%   r%   r&   $admin_conversations_convertToPrivatew  r   z.WebClient.admin_conversations_convertToPrivatec                K   r   )zConvert a privte channel to a public channel.
        https://api.slack.com/methods/admin.conversations.convertToPublic
        r   z#admin.conversations.convertToPublicr   r    r   r%   r%   r&   #admin_conversations_convertToPublic  r   z-WebClient.admin_conversations_convertToPublicprefsc                K   sJ   | d|i t|tr| dt|i n| d|i | jd|dS )zSet the posting permissions for a public or private channel.
        https://api.slack.com/methods/admin.conversations.setConversationPrefs
        r   r   z(admin.conversations.setConversationPrefsr   )r!   rL   dictrc   rd   r"   )r#   r   r   r$   r%   r%   r&   (admin_conversations_setConversationPrefs  s
   

z2WebClient.admin_conversations_setConversationPrefsc                K   r   )zGet conversation preferences for a public or private channel.
        https://api.slack.com/methods/admin.conversations.getConversationPrefs
        r   z(admin.conversations.getConversationPrefsr   r    r   r%   r%   r&   (admin_conversations_getConversationPrefs  r   z2WebClient.admin_conversations_getConversationPrefs)leaving_team_idsr   c                K   r   )zDisconnect a connected channel from one or more workspaces.
        https://api.slack.com/methods/admin.conversations.disconnectShared
        r   r   rJ   z$admin.conversations.disconnectSharedr   rK   )r#   r   r   r$   r%   r%   r&   $admin_conversations_disconnectShared  
   
z.WebClient.admin_conversations_disconnectShared)r6   r7   max_member_countlast_message_activity_beforer   c                K   sT   | ||||d t|ttfr| dd|i n| d|i | jd|dS )zReturns channels on the given team using the filters.
        https://api.slack.com/methods/admin.conversations.lookup
        )r   r6   r7   r   rI   rJ   zadmin.conversations.lookupr   rK   )r#   r   rI   r6   r7   r   r$   r%   r%   r&   admin_conversations_lookup     z$WebClient.admin_conversations_lookup)channel_idsr6   r7   rI   r   c                K   s   | ||d t|ttfr| dd|i n| d|i t|ttfr3| dd|i n| d|i | jd|dS )u4  List all disconnected channels—i.e.,
        channels that were once connected to other workspaces and then disconnected—and
        the corresponding original channel IDs for key revocation with EKM.
        https://api.slack.com/methods/admin.conversations.ekm.listOriginalConnectedChannelInfo
        rx   r   rJ   rI   z8admin.conversations.ekm.listOriginalConnectedChannelInfor   rK   )r#   r   r6   r7   rI   r$   r%   r%   r&   8admin_conversations_ekm_listOriginalConnectedChannelInfo  s   zBWebClient.admin_conversations_ekm_listOriginalConnectedChannelInfo)r+   group_idc                K   r?   )zAdd an allowlist of IDP groups for accessing a channel.
        https://api.slack.com/methods/admin.conversations.restrictAccess.addGroup
        r   r   r+   z+admin.conversations.restrictAccess.addGroupr9   r:   r    r#   r   r   r+   r$   r%   r%   r&   +admin_conversations_restrictAccess_addGroup     z5WebClient.admin_conversations_restrictAccess_addGroupc                K   ry   )zList all IDP Groups linked to a channel.
        https://api.slack.com/methods/admin.conversations.restrictAccess.listGroups
        )r   r+   z-admin.conversations.restrictAccess.listGroupsr9   r:   r    )r#   r   r+   r$   r%   r%   r&   -admin_conversations_restrictAccess_listGroups  s   
z7WebClient.admin_conversations_restrictAccess_listGroupsc                K   r?   )zRemove a linked IDP group linked from a private channel.
        https://api.slack.com/methods/admin.conversations.restrictAccess.removeGroup
        r   z.admin.conversations.restrictAccess.removeGroupr9   r:   r    r   r%   r%   r&   .admin_conversations_restrictAccess_removeGroup$  r   z8WebClient.admin_conversations_restrictAccess_removeGroup)org_channeltarget_team_idsr+   r   r   c                K   sR   | |||d t|ttfr| dd|i n| d|i | jd|dS )zSet the workspaces in an Enterprise grid org that connect to a public or private channel.
        https://api.slack.com/methods/admin.conversations.setTeams
        )r   r   r+   r   rJ   zadmin.conversations.setTeamsr   rK   )r#   r   r   r   r+   r$   r%   r%   r&   admin_conversations_setTeams<     z&WebClient.admin_conversations_setTeamsc                K       | |||d | jd|dS )zSet the workspaces in an Enterprise grid org that connect to a channel.
        https://api.slack.com/methods/admin.conversations.getTeams
        )r   r6   r7   zadmin.conversations.getTeamsr   r    )r#   r   r6   r7   r$   r%   r%   r&   admin_conversations_getTeamsU     z&WebClient.admin_conversations_getTeamsc                K   r   )zvGet a channel's retention policy
        https://api.slack.com/methods/admin.conversations.getCustomRetention
        r   z&admin.conversations.getCustomRetentionr   r    r   r%   r%   r&   &admin_conversations_getCustomRetentioni  r   z0WebClient.admin_conversations_getCustomRetentionc                K   r   )z|Remove a channel's retention policy
        https://api.slack.com/methods/admin.conversations.removeCustomRetention
        r   z)admin.conversations.removeCustomRetentionr   r    r   r%   r%   r&   )admin_conversations_removeCustomRetentionu  r   z3WebClient.admin_conversations_removeCustomRetentionduration_daysc                K   r   )zvSet a channel's retention policy
        https://api.slack.com/methods/admin.conversations.setCustomRetention
        )r   r   z&admin.conversations.setCustomRetentionr   r    )r#   r   r   r$   r%   r%   r&   &admin_conversations_setCustomRetention  r   z0WebClient.admin_conversations_setCustomRetentionc                K   4   | dt|ttfrd|n|i | jd|dS )zzArchive public or private channels in bulk.
        https://api.slack.com/methods/admin.conversations.bulkArchive
        r   rJ   zadmin.conversations.bulkArchiver   r!   rL   rM   tuplerN   r"   r#   r   r$   r%   r%   r&   admin_conversations_bulkArchive     &	z)WebClient.admin_conversations_bulkArchivec                K   r   )zpDelete public or private channels in bulk.
        https://slack.com/api/admin.conversations.bulkDelete
        r   rJ   zadmin.conversations.bulkDeleter   r   r   r%   r%   r&   admin_conversations_bulkDelete  r   z(WebClient.admin_conversations_bulkDeletetarget_team_idc                K   s6   | |t|ttfrd|n|d | jd|dS )ztMove public or private channels in bulk.
        https://api.slack.com/methods/admin.conversations.bulkMove
        rJ   )r   r   zadmin.conversations.bulkMover   r   )r#   r   r   r$   r%   r%   r&   admin_conversations_bulkMove  s   
z&WebClient.admin_conversations_bulkMoveurlc                K   ry   )zLAdd an emoji.
        https://api.slack.com/methods/admin.emoji.add
        )r   r   zadmin.emoji.addr9   r:   r    )r#   r   r   r$   r%   r%   r&   admin_emoji_add     
zWebClient.admin_emoji_add	alias_forc                K   ry   )zWAdd an emoji alias.
        https://api.slack.com/methods/admin.emoji.addAlias
        )r   r   zadmin.emoji.addAliasr9   r:   r    )r#   r   r   r$   r%   r%   r&   admin_emoji_addAlias  r   zWebClient.admin_emoji_addAliasc                K   ry   )zoList emoji for an Enterprise Grid organization.
        https://api.slack.com/methods/admin.emoji.list
        rx   zadmin.emoji.listr9   r:   r    rz   r%   r%   r&   admin_emoji_list  r   zWebClient.admin_emoji_listc                K   rt   )zyRemove an emoji across an Enterprise Grid organization.
        https://api.slack.com/methods/admin.emoji.remove
        r   zadmin.emoji.remover9   r:   r    r#   r   r$   r%   r%   r&   admin_emoji_remove  rv   zWebClient.admin_emoji_removenew_namec                K   ry   )zRRename an emoji.
        https://api.slack.com/methods/admin.emoji.rename
        )r   r   zadmin.emoji.renamer9   r:   r    )r#   r   r   r$   r%   r%   r&   admin_emoji_rename  r   zWebClient.admin_emoji_renamer+   r6   r7   c                K   sR   t |ttfr|dd|i n|d|i ||||d | jd|dS )zfLook up functions by a set of apps
        https://api.slack.com/methods/admin.functions.list
        r[   rJ   r   zadmin.functions.listr   r]   )r#   r[   r+   r6   r7   r$   r%   r%   r&   admin_functions_list  s   zWebClient.admin_functions_listfunction_idsc                K   r\   )zLookup the visibility of multiple Slack functions
        and include the users if it is limited to particular named entities.
        https://api.slack.com/methods/admin.functions.permissions.lookup
        r   rJ   z"admin.functions.permissions.lookupr   r]   )r#   r   r$   r%   r%   r&   "admin_functions_permissions_lookup     
z,WebClient.admin_functions_permissions_lookup)r   function_id
visibilityc                K   sX   | ||d |dur%t|ttfr| dd|i n| d|i | jd|dS )zSet the visibility of a Slack function
        and define the users or workspaces if it is set to named_entities
        https://api.slack.com/methods/admin.functions.permissions.set
        )r   r   Nr   rJ   zadmin.functions.permissions.setr   rK   )r#   r   r   r   r$   r%   r%   r&   admin_functions_permissions_set!  s   z)WebClient.admin_functions_permissions_setrole_idc                K      | d|i t|ttfr| dd|i n| d|i t|ttfr2| dd|i n| d|i | jd|dS )zAdds members to the specified role with the specified scopes
        https://api.slack.com/methods/admin.roles.addAssignments
        r   ri   rJ   r   zadmin.roles.addAssignmentsr   rK   r#   r   ri   r   r$   r%   r%   r&   admin_roles_addAssignments:     z$WebClient.admin_roles_addAssignments)role_idsri   r6   r7   r   r   c                K   s   | |||d t|ttfr| dd|i n| d|i t|ttfr4| dd|i n| d|i | jd|dS )zLists assignments for all roles across entities.
            Options to scope results by any combination of roles or entities
        https://api.slack.com/methods/admin.roles.listAssignments
        )r6   r7   r   ri   rJ   r   zadmin.roles.listAssignmentsr   rK   )r#   r   ri   r6   r7   r   r$   r%   r%   r&   admin_roles_listAssignmentsP  s   z%WebClient.admin_roles_listAssignmentsc                K   r   )zRemoves a set of users from a role for the given scopes and entities
        https://api.slack.com/methods/admin.roles.removeAssignments
        r   ri   rJ   r   zadmin.roles.removeAssignmentsr   rK   r   r%   r%   r&   admin_roles_removeAssignmentsi  r   z'WebClient.admin_roles_removeAssignmentsmobile_onlyweb_onlyuser_idr   r   c                K   r   )zWipes all valid sessions on all devices for a given user.
        https://api.slack.com/methods/admin.users.session.reset
        )r   r   r   zadmin.users.session.resetr   r    )r#   r   r   r   r$   r%   r%   r&   admin_users_session_reset  r   z#WebClient.admin_users_session_resetc                K   P   t |ttfr|dd|i n|d|i |||d | jd|dS )zEnqueues an asynchronous job to wipe all valid sessions on all devices for a given list of users
        https://api.slack.com/methods/admin.users.session.resetBulk
        r   rJ   r   zadmin.users.session.resetBulkr   r]   )r#   r   r   r   r$   r%   r%   r&   admin_users_session_resetBulk  s   z'WebClient.admin_users_session_resetBulk
session_idc                K   r   )zInvalidate a single session for a user by session_id.
        https://api.slack.com/methods/admin.users.session.invalidate
        )r   r+   zadmin.users.session.invalidater   r    )r#   r   r+   r$   r%   r%   r&   admin_users_session_invalidate  r   z(WebClient.admin_users_session_invalidater6   r7   r+   r   c                K   "   | ||||d | jd|dS )zzLists all active user sessions for an organization
        https://api.slack.com/methods/admin.users.session.list
        r   zadmin.users.session.listr   r    )r#   r6   r7   r+   r   r$   r%   r%   r&   admin_users_session_list     z"WebClient.admin_users_session_listc                K   sP   | d|i t|ttfr| dd|i n| d|i | jdd|dS )zSet the default channels of a workspace.
        https://api.slack.com/methods/admin.teams.settings.setDefaultChannels
        r+   r   rJ   z'admin.teams.settings.setDefaultChannelsr9   r:   rK   )r#   r+   r   r$   r%   r%   r&   'admin_teams_settings_setDefaultChannels  s
   
z1WebClient.admin_teams_settings_setDefaultChannelsc                K   r\   )u   Get user-specific session settings—the session duration
        and what happens when the client closes—given a list of users.
        https://api.slack.com/methods/admin.users.session.getSettings
        r   rJ   zadmin.users.session.getSettingsr   r]   r#   r   r$   r%   r%   r&   admin_users_session_getSettings  r   z)WebClient.admin_users_session_getSettingsdesktop_app_browser_quitdurationr   r   c                K   r   )u   Configure the user-level session settings—the session duration
        and what happens when the client closes—for one or more users.
        https://api.slack.com/methods/admin.users.session.setSettings
        r   rJ   r   zadmin.users.session.setSettingsr   r]   )r#   r   r   r   r$   r%   r%   r&   admin_users_session_setSettings  s   z)WebClient.admin_users_session_setSettingsc                K   r\   )u   Clear user-specific session settings—the session duration
        and what happens when the client closes—for a list of users.
        https://api.slack.com/methods/admin.users.session.clearSettings
        r   rJ   z!admin.users.session.clearSettingsr   r]   r   r%   r%   r&   !admin_users_session_clearSettings  r   z+WebClient.admin_users_session_clearSettingsdate_end_of_supportdate_sessions_startedr   r   c                K   r   )zAsk Slackbot to send you an export listing all workspace members using unsupported software,
        presented as a zipped CSV file.
        https://api.slack.com/methods/admin.users.unsupportedVersions.export
        r   z&admin.users.unsupportedVersions.exportr   r    )r#   r   r   r$   r%   r%   r&   &admin_users_unsupportedVersions_export  s   z0WebClient.admin_users_unsupportedVersions_exportinvite_request_idc                K   r   )zoApprove a workspace invite request.
        https://api.slack.com/methods/admin.inviteRequests.approve
        r   r+   zadmin.inviteRequests.approver   r    r#   r   r+   r$   r%   r%   r&   admin_inviteRequests_approve)  r   z&WebClient.admin_inviteRequests_approvec                K   r   )z~List all approved workspace invite requests.
        https://api.slack.com/methods/admin.inviteRequests.approved.list
        rD   z"admin.inviteRequests.approved.listr   r    rE   r%   r%   r&   "admin_inviteRequests_approved_list6  r   z,WebClient.admin_inviteRequests_approved_listc                K   r   )zzList all denied workspace invite requests.
        https://api.slack.com/methods/admin.inviteRequests.denied.list
        rD   z admin.inviteRequests.denied.listr   r    rE   r%   r%   r&    admin_inviteRequests_denied_listJ  r   z*WebClient.admin_inviteRequests_denied_listc                K   r   )ziDeny a workspace invite request.
        https://api.slack.com/methods/admin.inviteRequests.deny
        r   zadmin.inviteRequests.denyr   r    r   r%   r%   r&   admin_inviteRequests_deny^  r   z#WebClient.admin_inviteRequests_denyc                 K      | j d|dS )z+List all pending workspace invite requests.zadmin.inviteRequests.listr   r"   r#   r$   r%   r%   r&   admin_inviteRequests_listk  s   z#WebClient.admin_inviteRequests_listc                K   s"   | |||d | jdd|dS )zuList all of the admins on a given workspace.
        https://api.slack.com/methods/admin.inviteRequests.list
        rD   zadmin.teams.admins.listr9   r:   r    r#   r+   r6   r7   r$   r%   r%   r&   admin_teams_admins_listr  rB   z!WebClient.admin_teams_admins_list)team_descriptionteam_discoverabilityteam_domain	team_namer   r   c                K   r   )z\Create an Enterprise team.
        https://api.slack.com/methods/admin.teams.create
        )r  r  r   r   zadmin.teams.creater   r    )r#   r  r  r   r   r$   r%   r%   r&   admin_teams_create  r   zWebClient.admin_teams_createc                K   r   )zmList all teams on an Enterprise organization.
        https://api.slack.com/methods/admin.teams.list
        rx   zadmin.teams.listr   r    rz   r%   r%   r&   admin_teams_list  r   zWebClient.admin_teams_listc                K   r?   )zsList all of the admins on a given workspace.
        https://api.slack.com/methods/admin.teams.owners.list
        r   zadmin.teams.owners.listr9   r:   r    r   r%   r%   r&   admin_teams_owners_list     z!WebClient.admin_teams_owners_listc                K   r   )zxFetch information about settings in a workspace
        https://api.slack.com/methods/admin.teams.settings.info
        r+   zadmin.teams.settings.infor   r    r#   r+   r$   r%   r%   r&   admin_teams_settings_info  r   z#WebClient.admin_teams_settings_infoc                K   r   )z|Set the description of a given workspace.
        https://api.slack.com/methods/admin.teams.settings.setDescription
        )r+   r|   z#admin.teams.settings.setDescriptionr   r    )r#   r+   r|   r$   r%   r%   r&   #admin_teams_settings_setDescription  r   z-WebClient.admin_teams_settings_setDescriptiondiscoverabilityc                K   r   )ztSets the icon of a workspace.
        https://api.slack.com/methods/admin.teams.settings.setDiscoverability
        )r+   r
  z'admin.teams.settings.setDiscoverabilityr   r    )r#   r+   r
  r$   r%   r%   r&   'admin_teams_settings_setDiscoverability  r   z1WebClient.admin_teams_settings_setDiscoverability	image_urlc                K   ry   )ziSets the icon of a workspace.
        https://api.slack.com/methods/admin.teams.settings.setIcon
        )r+   r  zadmin.teams.settings.setIconr9   r:   r    )r#   r+   r  r$   r%   r%   r&   admin_teams_settings_setIcon  r   z&WebClient.admin_teams_settings_setIconc                K   r   )ziSets the icon of a workspace.
        https://api.slack.com/methods/admin.teams.settings.setName
        )r+   r   zadmin.teams.settings.setNamer   r    )r#   r+   r   r$   r%   r%   r&   admin_teams_settings_setName  r   z&WebClient.admin_teams_settings_setNameusergroup_idc                K   sP   | ||d t|ttfr| dd|i n| d|i | jd|dS )z}Add one or more default channels to an IDP group.
        https://api.slack.com/methods/admin.usergroups.addChannels
        )r+   r  r   rJ   zadmin.usergroups.addChannelsr   rK   )r#   r   r  r+   r$   r%   r%   r&   admin_usergroups_addChannels  
   z&WebClient.admin_usergroups_addChannels)auto_provisionr  c                K   P   | ||d t|ttfr| dd|i n| d|i | jd|dS )zAssociate one or more default workspaces with an organization-wide IDP group.
        https://api.slack.com/methods/admin.usergroups.addTeams
        )r  r  rI   rJ   zadmin.usergroups.addTeamsr   rK   )r#   r  rI   r  r$   r%   r%   r&   admin_usergroups_addTeams	  r  z#WebClient.admin_usergroups_addTeams)include_num_membersr+   r  c                K   r   )z~Add one or more default channels to an IDP group.
        https://api.slack.com/methods/admin.usergroups.listChannels
        )r  r  r+   zadmin.usergroups.listChannelsr   r    )r#   r  r  r+   r$   r%   r%   r&   admin_usergroups_listChannels  r   z'WebClient.admin_usergroups_listChannelsc                K   r   )zAdd one or more default channels to an IDP group.
        https://api.slack.com/methods/admin.usergroups.removeChannels
        r  r   rJ   zadmin.usergroups.removeChannelsr   rK   )r#   r  r   r$   r%   r%   r&   admin_usergroups_removeChannels/  r   z)WebClient.admin_usergroups_removeChannels)r   is_restrictedis_ultra_restrictedr  r  c                K   sT   | ||||d t|ttfr| dd|i n| d|i | jd|dS )zhAdd an Enterprise user to a workspace.
        https://api.slack.com/methods/admin.users.assign
        )r+   r   r  r  r   rJ   zadmin.users.assignr   rK   )r#   r+   r   r   r  r  r$   r%   r%   r&   admin_users_assign@  r   zWebClient.admin_users_assign)custom_messageemail_password_policy_enabledguest_expiration_tsr  r  	real_nameresendemailr  r  r  r  r  c       
         K   sn   | |||||durt|nd|||	|
d	 t|ttfr)| dd|i n| d|i | jd|dS )z_Invite a user to a workspace.
        https://api.slack.com/methods/admin.users.invite
        N)	r+   r   r  r  r  r  r  r  r  r   rJ   zadmin.users.inviter   )r!   strrL   rM   r   rN   r"   )r#   r+   r   r   r  r  r  r  r  r  r  r$   r%   r%   r&   admin_users_invite[  s    zWebClient.admin_users_invite)#include_deactivated_user_workspaces	is_activer6   r7   r#  r$  c                K   r   )zYList users on a workspace
        https://api.slack.com/methods/admin.users.list
        )r+   r#  r$  r6   r7   zadmin.users.listr   r    )r#   r+   r#  r$  r6   r7   r$   r%   r%   r&   admin_users_list  r   zWebClient.admin_users_listc                K   r   )zaRemove a user from a workspace.
        https://api.slack.com/methods/admin.users.remove
        r+   r   zadmin.users.remover   r    r#   r+   r   r$   r%   r%   r&   admin_users_remove  r   zWebClient.admin_users_removec                K   r   )zSet an existing guest, regular user, or owner to be an admin user.
        https://api.slack.com/methods/admin.users.setAdmin
        r&  zadmin.users.setAdminr   r    r'  r%   r%   r&   admin_users_setAdmin  r   zWebClient.admin_users_setAdminexpiration_tsc                K   s    | |||d | jd|dS )zlSet an expiration for a guest user.
        https://api.slack.com/methods/admin.users.setExpiration
        )r*  r+   r   zadmin.users.setExpirationr   r    )r#   r*  r   r+   r$   r%   r%   r&   admin_users_setExpiration     z#WebClient.admin_users_setExpirationc                K   r   )zSet an existing guest, regular user, or admin user to be a workspace owner.
        https://api.slack.com/methods/admin.users.setOwner
        r&  zadmin.users.setOwnerr   r    r'  r%   r%   r&   admin_users_setOwner  r   zWebClient.admin_users_setOwnerc                K   r   )zSet an existing guest user, admin user, or owner to be a regular user.
        https://api.slack.com/methods/admin.users.setRegular
        r&  zadmin.users.setRegularr   r    r'  r%   r%   r&   admin_users_setRegular  r   z WebClient.admin_users_setRegular)
r(   collaborator_idsr6   r7   no_collaboratorsnum_trigger_idsr   r   r   rX   r/  r0  r1  c       
         K   sf   |durt |ttfr|dd|i n|d|i |||||||||	|
d	 | jd|dS )ztSearch workflows within the team or enterprise
        https://api.slack.com/methods/admin.workflows.search
        Nr/  rJ   )	r(   r6   r7   r0  r1  r   r   r   rX   zadmin.workflows.searchr   r]   )r#   r(   r/  r6   r7   r0  r1  r   r   r   rX   r$   r%   r%   r&   admin_workflows_search  s"   z WebClient.admin_workflows_search)max_workflow_triggersworkflow_idsr3  c                K   sN   t |ttfr|dd|i n|d|i |d|i | jd|dS )zLook up the permissions for a set of workflows
        https://api.slack.com/methods/admin.workflows.permissions.lookup
        r4  rJ   r3  z"admin.workflows.permissions.lookupr   r]   )r#   r4  r3  r$   r%   r%   r&   "admin_workflows_permissions_lookup   s   
z,WebClient.admin_workflows_permissions_lookupc                K   r   t |ttfr|dd|i n|d|i t |ttfr+|dd|i n|d|i | jd|dS )zAdd collaborators to workflows within the team or enterprise
        https://api.slack.com/methods/admin.workflows.collaborators.add
        r/  rJ   r4  z!admin.workflows.collaborators.addr   r]   r#   r/  r4  r$   r%   r%   r&   !admin_workflows_collaborators_add     
z+WebClient.admin_workflows_collaborators_addc                K   r6  )zRemove collaborators from workflows within the team or enterprise
        https://api.slack.com/methods/admin.workflows.collaborators.remove
        r/  rJ   r4  z$admin.workflows.collaborators.remover   r]   r7  r%   r%   r&   $admin_workflows_collaborators_remove)  r9  z.WebClient.admin_workflows_collaborators_removec                K   r\   )zzUnpublish workflows within the team or enterprise
        https://api.slack.com/methods/admin.workflows.unpublish
        r4  rJ   zadmin.workflows.unpublishr   r]   )r#   r4  r$   r%   r%   r&   admin_workflows_unpublish=  r_   z#WebClient.admin_workflows_unpublish)errorr<  c                K   r   )zPChecks API calling code.
        https://api.slack.com/methods/api.test
        r<  zapi.testr   r    )r#   r<  r$   r%   r%   r&   api_testL  r   zWebClient.api_test	app_tokenc                K   rt   )zGenerate a temporary Socket Mode WebSocket URL that your app can connect to
        in order to receive events and interactive payloads
        https://api.slack.com/methods/apps.connections.open
        tokenzapps.connections.openr@   r:   r    )r#   r>  r$   r%   r%   r&   apps_connections_openX  s   
zWebClient.apps_connections_openevent_contextc                K   r   )zGet a list of authorizations for the given event context.
        Each authorization represents an app installation that the event is visible to.
        https://api.slack.com/methods/apps.event.authorizations.list
        )rA  r6   r7   zapps.event.authorizations.listr   r    )r#   rA  r6   r7   r$   r%   r%   r&   apps_event_authorizations_liste     z(WebClient.apps_event_authorizations_list	client_idclient_secretc                K   r   )zcUninstalls your app from a workspace.
        https://api.slack.com/methods/apps.uninstall
        rD  rE  zapps.uninstallr   r    )r#   rD  rE  r$   r%   r%   r&   apps_uninstallt  r   zWebClient.apps_uninstallmanifestc                K   s<   t |tr|d|i n
|dt|i | jd|dS )zfCreate an app from an app manifest
        https://api.slack.com/methods/apps.manifest.create
        rH  zapps.manifest.creater   rL   r!  r!   rc   rd   r"   )r#   rH  r$   r%   r%   r&   apps_manifest_create  s   
	zWebClient.apps_manifest_createc                K   r   )z|Permanently deletes an app created through app manifests
        https://api.slack.com/methods/apps.manifest.delete
        r(   zapps.manifest.deleter   r    r#   r(   r$   r%   r%   r&   apps_manifest_delete  r   zWebClient.apps_manifest_deletec                K   r   )zoExport an app manifest from an existing app
        https://api.slack.com/methods/apps.manifest.export
        r(   zapps.manifest.exportr   r    rK  r%   r%   r&   apps_manifest_export  r   zWebClient.apps_manifest_exportc                K   sJ   t |tr|d|i n
|dt|i |d|i | jd|dS )zfUpdate an app from an app manifest
        https://api.slack.com/methods/apps.manifest.update
        rH  r(   zapps.manifest.updater   rI  )r#   r(   rH  r$   r%   r%   r&   apps_manifest_update  
   

zWebClient.apps_manifest_update)r(   c                K   sJ   t |tr|d|i n
|dt|i |d|i | jd|dS )z^Validate an app manifest
        https://api.slack.com/methods/apps.manifest.validate
        rH  r(   zapps.manifest.validater   rI  )r#   rH  r(   r$   r%   r%   r&   apps_manifest_validate  rO  z WebClient.apps_manifest_validaterefresh_tokenc                K   r   )zExchanges a refresh token for a new app configuration token
        https://api.slack.com/methods/tooling.tokens.rotate
        rQ  ztooling.tokens.rotater   r    )r#   rQ  r$   r%   r%   r&   tooling_tokens_rotate  r   zWebClient.tooling_tokens_rotate)testrS  c                K   rt   )zKRevokes a token.
        https://api.slack.com/methods/auth.revoke
        rS  zauth.revoker9   r:   r    )r#   rS  r$   r%   r%   r&   auth_revoke  rv   zWebClient.auth_revokec                 K   r   )zZChecks authentication & identity.
        https://api.slack.com/methods/auth.test
        z	auth.testr   r   r   r%   r%   r&   	auth_test     zWebClient.auth_testinclude_iconc                 K   r   )zfList the workspaces a token can access.
        https://api.slack.com/methods/auth.teams.list
        )r6   r7   rW  zauth.teams.listr   r    )r#   r6   r7   rW  r$   r%   r%   r&   auth_teams_list  s   
zWebClient.auth_teams_list)emoji	entity_idlink	parent_idtitlerY  rZ  r[  r\  c          	   
   K   *   | |||||||d | jdd|dS )zWAdd bookmark to a channel.
        https://api.slack.com/methods/bookmarks.add
        )r   r]  r   rY  rZ  r[  r\  zbookmarks.addr@   r:   r    )	r#   r   r]  r   rY  rZ  r[  r\  r$   r%   r%   r&   bookmarks_add     zWebClient.bookmarks_add)rY  r[  r]  bookmark_idc                K   &   | |||||d | jdd|dS )zLEdit bookmark.
        https://api.slack.com/methods/bookmarks.edit
        )ra  r   rY  r[  r]  zbookmarks.editr@   r:   r    )r#   ra  r   rY  r[  r]  r$   r%   r%   r&   bookmarks_edit     	zWebClient.bookmarks_editc                K   rt   )z\List bookmark for the channel.
        https://api.slack.com/methods/bookmarks.list
        r   zbookmarks.listr@   r:   r    r   r%   r%   r&   bookmarks_list,  rv   zWebClient.bookmarks_listc                K   ry   )zaRemove bookmark from the channel.
        https://api.slack.com/methods/bookmarks.remove
        )ra  r   zbookmarks.remover@   r:   r    )r#   ra  r   r$   r%   r%   r&   bookmarks_remove8  r   zWebClient.bookmarks_removebotr+   rh  c                K   ry   )z[Gets information about a bot user.
        https://api.slack.com/methods/bots.info
        rg  z	bots.infor9   r:   r    )r#   rh  r+   r$   r%   r%   r&   	bots_infoE  r   zWebClient.bots_info)
created_by
date_startdesktop_app_join_urlexternal_display_idr]  usersexternal_unique_idjoin_urlrj  rk  rl  rm  rn  c          
   
   K   sF   |	 |||||||d t|	|dur|n|	d | jdd|	dS )zNRegisters a new Call.
        https://api.slack.com/methods/calls.add
        )ro  rp  rj  rk  rl  rm  r]  Nrn  z	calls.addr@   r:   )r!   r   getr"   )
r#   ro  rp  rj  rk  rl  rm  r]  rn  r$   r%   r%   r&   	calls_addR  s   zWebClient.calls_add)r   idc                K   ry   )zEEnds a Call.
        https://api.slack.com/methods/calls.end
        )rs  r   z	calls.endr@   r:   r    )r#   rs  r   r$   r%   r%   r&   	calls_ends  r   zWebClient.calls_endc                K   rt   )z[Returns information about a Call.
        https://api.slack.com/methods/calls.info
        rs  z
calls.infor@   r:   r    )r#   rs  r$   r%   r%   r&   
calls_info  rv   zWebClient.calls_infoc                K   (   | d|i t|| | jdd|dS )zqRegisters new participants added to a Call.
        https://api.slack.com/methods/calls.participants.add
        rs  zcalls.participants.addr@   r:   r!   r   r"   r#   rs  rn  r$   r%   r%   r&   calls_participants_add     

z WebClient.calls_participants_addc                K   rv  )ztRegisters participants removed from a Call.
        https://api.slack.com/methods/calls.participants.remove
        rs  zcalls.participants.remover@   r:   rw  rx  r%   r%   r&   calls_participants_remove  rz  z#WebClient.calls_participants_remove)rl  rp  r]  c                K   r8   )z]Updates information about a Call.
        https://api.slack.com/methods/calls.update
        )rs  rl  rp  r]  zcalls.updater@   r:   r    )r#   rs  rl  rp  r]  r$   r%   r%   r&   calls_update  r>   zWebClient.calls_update)r]  document_contentc                K   $   | |t|d | jd|dS )zWCreate Canvas for a user
        https://api.slack.com/methods/canvases.create
        )r]  r}  zcanvases.creater   rb   )r#   r]  r}  r$   r%   r%   r&   canvases_create     
zWebClient.canvases_create	canvas_idchangesc                K   r~  )zVUpdate an existing canvas
        https://api.slack.com/methods/canvases.edit
        )r  r  zcanvases.editr   rb   )r#   r  r  r$   r%   r%   r&   canvases_edit  r  zWebClient.canvases_editc                K   r   )zODeletes a canvas
        https://api.slack.com/methods/canvases.delete
        r  zcanvases.deleter   r    )r#   r  r$   r%   r%   r&   canvases_delete  r   zWebClient.canvases_delete)r   r   access_levelc                K   s   | ||d |dur%t|ttfr| dd|i n| d|i |durBt|ttfr;| dd|i n| d|i | jd|dS )z{Sets the access level to a canvas for specified entities
        https://api.slack.com/methods/canvases.access.set
        )r  r  Nr   rJ   r   zcanvases.access.setr   rK   )r#   r  r  r   r   r$   r%   r%   r&   canvases_access_set  s   zWebClient.canvases_access_setc                K   s   | d|i |dur$t|ttfr| dd|i n| d|i |durAt|ttfr:| dd|i n| d|i | jd|dS )zkCreate a Channel Canvas for a channel
        https://api.slack.com/methods/canvases.access.delete
        r  Nr   rJ   r   zcanvases.access.deleter   rK   )r#   r  r   r   r$   r%   r%   r&   canvases_access_delete  s   z WebClient.canvases_access_deletecriteriac                K   r~  )ztFind sections matching the provided criteria
        https://api.slack.com/methods/canvases.sections.lookup
        )r  r  zcanvases.sections.lookupr   rb   )r#   r  r  r$   r%   r%   r&   canvases_sections_lookup	  r  z"WebClient.canvases_sections_lookupchannelc                K   $   | d|i t|}| jd|dS )zArchives a channel.r  zchannels.archiverc   r!   r   r"   r#   r  r$   r%   r%   r&   channels_archive)	     zWebClient.channels_archivec                K   r  )zCreates a channel.r   zchannels.creater  r  r   r%   r%   r&   channels_create4	  r  zWebClient.channels_createc                K   rt   )z6Fetches history of messages and events from a channel.r  zchannels.historyr9   r:   r    r  r%   r%   r&   channels_history?	     zWebClient.channels_historyc                K   rt   )z!Gets information about a channel.r  zchannels.infor9   r:   r    r  r%   r%   r&   channels_infoI	  r  zWebClient.channels_infouserc                K   &   | ||d t|}| jd|dS )zInvites a user to a channel.r  r  zchannels.inviter  r  r#   r  r  r$   r%   r%   r&   channels_inviteS	     zWebClient.channels_invitec                K   r  )z'Joins a channel, creating it if needed.r   zchannels.joinr  r  r   r%   r%   r&   channels_join_	  r  zWebClient.channels_joinc                K   r  )zRemoves a user from a channel.r  zchannels.kickr  r  r  r%   r%   r&   channels_kickj	  r  zWebClient.channels_kickc                K   r  )zLeaves a channel.r  zchannels.leaver  r  r  r%   r%   r&   channels_leavev	  r  zWebClient.channels_leavec                 K      | j dd|dS )z#Lists all channels in a Slack team.zchannels.listr9   r:   r   r   r%   r%   r&   channels_list	     zWebClient.channels_listtsc                K   r  )z"Sets the read cursor in a channel.r  r  zchannels.markr  r  r#   r  r  r$   r%   r%   r&   channels_mark	  r  zWebClient.channels_markc                K   r  )zRenames a channel.r  r   zchannels.renamer  r  r#   r  r   r$   r%   r%   r&   channels_rename	  r  zWebClient.channels_rename	thread_tsc                K   ry   )z1Retrieve a thread of messages posted to a channelr  r  zchannels.repliesr9   r:   r    r#   r  r  r$   r%   r%   r&   channels_replies	     zWebClient.channels_repliespurposec                K   r  )zSets the purpose for a channel.r  r  zchannels.setPurposer  r  r#   r  r  r$   r%   r%   r&   channels_setPurpose	  r  zWebClient.channels_setPurposetopicc                K   r  )zSets the topic for a channel.r  r  zchannels.setTopicr  r  r#   r  r  r$   r%   r%   r&   channels_setTopic	  r  zWebClient.channels_setTopicc                K   r  )zUnarchives a channel.r  zchannels.unarchiver  r  r  r%   r%   r&   channels_unarchive	  r  zWebClient.channels_unarchive)as_userr  c                K   r   )zMDeletes a message.
        https://api.slack.com/methods/chat.delete
        )r  r  r  zchat.deleter   r    )r#   r  r  r  r$   r%   r%   r&   chat_delete	  r,  zWebClient.chat_deletescheduled_message_idc                K   r   )zgDeletes a scheduled message.
        https://api.slack.com/methods/chat.deleteScheduledMessage
        )r  r  r  zchat.deleteScheduledMessager   r    )r#   r  r  r  r$   r%   r%   r&   chat_deleteScheduledMessage	  r   z%WebClient.chat_deleteScheduledMessage
message_tsc                K   ry   )zwRetrieve a permalink URL for a specific extant message
        https://api.slack.com/methods/chat.getPermalink
        )r  r  zchat.getPermalinkr9   r:   r    )r#   r  r  r$   r%   r%   r&   chat_getPermalink	  r   zWebClient.chat_getPermalinktextc                K   r   )z`Share a me message into a channel.
        https://api.slack.com/methods/chat.meMessage
        )r  r  zchat.meMessager   r    )r#   r  r  r$   r%   r%   r&   chat_meMessage	  r   zWebClient.chat_meMessage)
r  r  attachmentsblocksr  
icon_emojiicon_url
link_namesusernameparser  r  r  r  r  r  r  c                K   sL   | |||||||||	|
||d t| t|}td| | jd|dS )ztSends an ephemeral message to a user in a channel.
        https://api.slack.com/methods/chat.postEphemeral
        )r  r  r  r  r  r  r  r  r  r  r  r  zchat.postEphemeralr  r!   r   r   r   r"   )r#   r  r  r  r  r  r  r  r  r  r  r  r  r$   r%   r%   r&   chat_postEphemeral
  s&   
zWebClient.chat_postEphemeral)r  r  r  r  r  reply_broadcastunfurl_linksunfurl_mediacontainer_idr  r  mrkdwnr  r  r  metadatar  r  r  r  r  r  c                K   s   | i d|d|d|d|d|d|d|d|d	|	d
|
d|d|d|d|d|d|d| t| t|}td| | jd|dS )z]Sends a message to a channel.
        https://api.slack.com/methods/chat.postMessage
        r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  zchat.postMessager  r  )r#   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r$   r%   r%   r&   chat_postMessage6
  sR   	

zWebClient.chat_postMessage)
r  r  r  r  r  r  r  r  r  r  post_atc                K   sN   | ||||||||	||
|||d t| t|}td| | jd|dS )zXSchedules a message.
        https://api.slack.com/methods/chat.scheduleMessage
        )r  r  r  r  r  r  r  r  r  r  r  r  r  zchat.scheduleMessager  r  )r#   r  r  r  r  r  r  r  r  r  r  r  r  r  r$   r%   r%   r&   chat_scheduleMessagej
  s(   
zWebClient.chat_scheduleMessage	r  r  rX   	unfurl_idunfurlsuser_auth_blocksuser_auth_messageuser_auth_requireduser_auth_urlr  r  r  r  r  r  c       	         K   s<   |
 |||||||||	d	 t|
 t|
}
| jd|
dS )zoProvide custom unfurl behavior for user-posted URLs.
        https://api.slack.com/methods/chat.unfurl
        r  zchat.unfurlr  )r!   r   r   r"   )r#   r  r  rX   r  r  r  r  r  r  r$   r%   r%   r&   chat_unfurl
  s   zWebClient.chat_unfurl)	r  r  r  r  file_idsr  r  r  r  r  c                K   sz   | ||||||||	|
|d
 t|ttfr"| dd|i n| d|i t| t|}td| | jd|dS )zZUpdates a message in a channel.
        https://api.slack.com/methods/chat.update
        )
r  r  r  r  r  r  r  r  r  r  r  rJ   zchat.updater  )	r!   rL   rM   r   rN   r   r   r   r"   )r#   r  r  r  r  r  r  r  r  r  r  r  r$   r%   r%   r&   chat_update
  s(   
zWebClient.chat_updater  r6   latestr7   oldestr+   r  r  c             	   K   s&   | ||||||d | jd|dS )zhLists all scheduled messages.
        https://api.slack.com/methods/chat.scheduledMessages.list
        r  zchat.scheduledMessages.listr   r    )r#   r  r6   r  r7   r  r+   r$   r%   r%   r&   chat_scheduledMessages_list
  s   
z%WebClient.chat_scheduledMessages_list)r   	invite_idfree_trial_acceptedr~   r+   channel_namer  r  c             	   K   sB   |du r|du rt d|||||||d | jdd|dS )zAccepts an invitation to a Slack Connect channel.
        https://api.slack.com/methods/conversations.acceptSharedInvite
        Nz0Either channel_id or invite_id must be provided.)r  r   r  r  r~   r+   z conversations.acceptSharedInviter@   r:   )r0   r1   r!   r"   )r#   r  r   r  r  r~   r+   r$   r%   r%   r&    conversations_acceptSharedInvite
  s   

z*WebClient.conversations_acceptSharedInvite)target_teamr  c                K   ry   )zApproves an invitation to a Slack Connect channel.
        https://api.slack.com/methods/conversations.approveSharedInvite
        r  r  z!conversations.approveSharedInviter@   r:   r    r#   r  r  r$   r%   r%   r&   !conversations_approveSharedInvite  r   z+WebClient.conversations_approveSharedInvitec                K   r   )z]Archives a conversation.
        https://api.slack.com/methods/conversations.archive
        r  zconversations.archiver   r    r  r%   r%   r&   conversations_archive'  r   zWebClient.conversations_archivec                K   r   )zzCloses a direct message or multi-person direct message.
        https://api.slack.com/methods/conversations.close
        r  zconversations.closer   r    r  r%   r%   r&   conversations_close3  r   zWebClient.conversations_close)r~   r+   c                K   r   )z|Initiates a public or private channel-based conversation
        https://api.slack.com/methods/conversations.create
        )r   r~   r+   zconversations.creater   r    )r#   r   r~   r+   r$   r%   r%   r&   conversations_create?  r,  zWebClient.conversations_createc                K   ry   )zyDeclines a Slack Connect channel invite.
        https://api.slack.com/methods/conversations.declineSharedInvite
        r  z!conversations.declineSharedInviter9   r:   r    r  r%   r%   r&   !conversations_declineSharedInviteM  r   z+WebClient.conversations_declineSharedInvite)r6   	inclusiveinclude_all_metadatar  r7   r  r  r  c          	   
   K   s*   | |||||||d | jdd|dS )z}Fetches a conversation's history of messages and events.
        https://api.slack.com/methods/conversations.history
        )r  r6   r  r  r7   r  r  zconversations.historyr9   r:   r    )	r#   r  r6   r  r  r  r7   r  r$   r%   r%   r&   conversations_historyZ  r`  zWebClient.conversations_history)include_localer  r  c                K   r?   )zlRetrieve information about a conversation.
        https://api.slack.com/methods/conversations.info
        )r  r  r  zconversations.infor9   r:   r    )r#   r  r  r  r$   r%   r%   r&   conversations_infov  rB   zWebClient.conversations_info)forcer  c                K   r  )z_Invites users to a channel.
        https://api.slack.com/methods/conversations.invite
        )r  r  rn  rJ   zconversations.inviter   rK   )r#   r  rn  r  r$   r%   r%   r&   conversations_invite  s   zWebClient.conversations_invite)emailsr   r  c                K   s   |du r|du rt d|d|i t|ttfr&|dd|i n|d|i t|ttfr?|dd|i n|d|i | jdd|d	S )
zySends an invitation to a Slack Connect channel.
        https://api.slack.com/methods/conversations.inviteShared
        Nz+Either emails or user ids must be provided.r  r  rJ   r   zconversations.inviteSharedr9   r:   r0   r1   r!   rL   rM   r   rN   r"   )r#   r  r  r   r$   r%   r%   r&   conversations_inviteShared  s   
z$WebClient.conversations_inviteSharedc                K   r   )zaJoins an existing conversation.
        https://api.slack.com/methods/conversations.join
        r  zconversations.joinr   r    r  r%   r%   r&   conversations_join  r   zWebClient.conversations_joinc                K   r   )zeRemoves a user from a conversation.
        https://api.slack.com/methods/conversations.kick
        r  zconversations.kickr   r    r  r%   r%   r&   conversations_kick  r   zWebClient.conversations_kickc                K   r   )zYLeaves a conversation.
        https://api.slack.com/methods/conversations.leave
        r  zconversations.leaver   r    r  r%   r%   r&   conversations_leave  r   zWebClient.conversations_leave)r6   exclude_archivedr7   r+   typesr  r  c                K   sV   | ||||d t|ttfr| dd|i n| d|i | jdd|dS )zeLists all channels in a Slack team.
        https://api.slack.com/methods/conversations.list
        )r6   r  r7   r+   r  rJ   zconversations.listr9   r:   rK   )r#   r6   r  r7   r+   r  r$   r%   r%   r&   conversations_list  s   zWebClient.conversations_listcountr6   r+   r  c                K   r   )zList shared channel invites that have been generated
        or received but have not yet been approved by all parties.
        https://api.slack.com/methods/conversations.listConnectInvites
        r  z conversations.listConnectInvitesr   r    )r#   r  r6   r+   r$   r%   r%   r&    conversations_listConnectInvites  rC  z*WebClient.conversations_listConnectInvitesc                K   r   )zdSets the read cursor in a channel.
        https://api.slack.com/methods/conversations.mark
        r  zconversations.markr   r    r  r%   r%   r&   conversations_mark  r   zWebClient.conversations_markc                K   r?   )zhRetrieve members of a conversation.
        https://api.slack.com/methods/conversations.members
        )r  r6   r7   zconversations.membersr9   r:   r    )r#   r  r6   r7   r$   r%   r%   r&   conversations_members  r  zWebClient.conversations_members)r  	return_imrn  r  c                K   sj   |du r|du rt d|||d t|ttfr'|dd|i n|d|i | jd|dS )zOpens or resumes a direct message or multi-person direct message.
        https://api.slack.com/methods/conversations.open
        Nz)Either channel or users must be provided.)r  r  rn  rJ   zconversations.openr   r  )r#   r  r  rn  r$   r%   r%   r&   conversations_open#  s   
zWebClient.conversations_openc                K   r   )z[Renames a conversation.
        https://api.slack.com/methods/conversations.rename
        r  zconversations.renamer   r    r  r%   r%   r&   conversations_rename7  r   zWebClient.conversations_renamec          
      K   s,   |	 ||||||||d | jdd|	dS )z{Retrieve a thread of messages posted to a conversation
        https://api.slack.com/methods/conversations.replies
        )r  r  r6   r  r  r7   r  r  zconversations.repliesr9   r:   r    )
r#   r  r  r6   r  r  r  r7   r  r$   r%   r%   r&   conversations_repliesD     zWebClient.conversations_repliesc                K   r   )zlSets the purpose for a conversation.
        https://api.slack.com/methods/conversations.setPurpose
        r  zconversations.setPurposer   r    r  r%   r%   r&   conversations_setPurposeb  r   z"WebClient.conversations_setPurposec                K   r   )zhSets the topic for a conversation.
        https://api.slack.com/methods/conversations.setTopic
        r  zconversations.setTopicr   r    r  r%   r%   r&   conversations_setTopico  r   z WebClient.conversations_setTopicc                K   r   )zfReverses conversation archival.
        https://api.slack.com/methods/conversations.unarchive
        r  zconversations.unarchiver   r    r  r%   r%   r&   conversations_unarchive|  r   z!WebClient.conversations_unarchivec                K   r~  )zrCreate a Channel Canvas for a channel
        https://api.slack.com/methods/conversations.canvases.create
        )r   r}  zconversations.canvases.creater   rb   )r#   r   r}  r$   r%   r%   r&   conversations_canvases_create  r  z'WebClient.conversations_canvases_createdialog
trigger_idc                K   r  )zUOpen a dialog with a user.
        https://api.slack.com/methods/dialog.open
        )r  r	  zdialog.openr  r  )r#   r  r	  r$   r%   r%   r&   dialog_open  s   
zWebClient.dialog_openc                 K   r   )zuEnds the current user's Do Not Disturb session immediately.
        https://api.slack.com/methods/dnd.endDnd
        z
dnd.endDndr   r   r   r%   r%   r&   
dnd_endDnd  rV  zWebClient.dnd_endDndc                 K   r   )zmEnds the current user's snooze mode immediately.
        https://api.slack.com/methods/dnd.endSnooze
        zdnd.endSnoozer   r   r   r%   r%   r&   dnd_endSnooze  rV  zWebClient.dnd_endSnoozer+   r  c                K   ry   )ziRetrieves a user's current Do Not Disturb status.
        https://api.slack.com/methods/dnd.info
        r  zdnd.infor9   r:   r    r#   r+   r  r$   r%   r%   r&   dnd_info  r   zWebClient.dnd_infonum_minutesc                K   rt   )zTurns on Do Not Disturb mode for the current user, or changes its duration.
        https://api.slack.com/methods/dnd.setSnooze
        r  zdnd.setSnoozer9   r:   r    )r#   r  r$   r%   r%   r&   dnd_setSnooze  rv   zWebClient.dnd_setSnoozec                 K   sP   t |ttfr|dd|i n|d|i |d|i | jdd|dS )ztRetrieves the Do Not Disturb status for users on a team.
        https://api.slack.com/methods/dnd.teamInfo
        rn  rJ   r+   zdnd.teamInfor9   r:   r]   )r#   rn  r+   r$   r%   r%   r&   dnd_teamInfo  s
   	zWebClient.dnd_teamInfoinclude_categoriesc                 K   rt   )zXLists custom emoji for a team.
        https://api.slack.com/methods/emoji.list
        r  z
emoji.listr9   r:   r    )r#   r  r$   r%   r%   r&   
emoji_list  s   zWebClient.emoji_listfilec                K   r   )zkDeletes an existing comment on a file.
        https://api.slack.com/methods/files.comments.delete
        )r  rs  zfiles.comments.deleter   r    )r#   r  rs  r$   r%   r%   r&   files_comments_delete  r   zWebClient.files_comments_deletec                K   r   )zKDeletes a file.
        https://api.slack.com/methods/files.delete
        r  zfiles.deleter   r    r#   r  r$   r%   r%   r&   files_delete  r   zWebClient.files_delete)r  r6   r7   pager  c                K   rb  )z]Gets information about a team file.
        https://api.slack.com/methods/files.info
        )r  r  r6   r7   r  z
files.infor9   r:   r    )r#   r  r  r6   r7   r  r$   r%   r%   r&   
files_info  rd  zWebClient.files_info)	r  r  r  show_files_hidden_by_limitr+   ts_fromts_tor  r  r  r  r  c       	         K   s^   |
 ||||||||	d t|ttfr |
 dd|i n|
 d|i | jdd|
dS )zULists & filters team files.
        https://api.slack.com/methods/files.list
        )r  r  r  r  r+   r  r  r  r  rJ   z
files.listr9   r:   rK   )r#   r  r  r  r  r+   r  r  r  r  r$   r%   r%   r&   
files_list  s   zWebClient.files_listexternal_idr  r   c                K   ry   )zyRetrieve information about a remote file added to Slack.
        https://api.slack.com/methods/files.remote.info
        r  zfiles.remote.infor9   r:   r    r#   r   r  r$   r%   r%   r&   files_remote_info>  r   zWebClient.files_remote_infor  r6   r7   r  r  c                K   rb  )zyRetrieve information about a remote file added to Slack.
        https://api.slack.com/methods/files.remote.list
        r#  zfiles.remote.listr9   r:   r    )r#   r  r6   r7   r  r  r$   r%   r%   r&   files_remote_listK  rd  zWebClient.files_remote_list)filetypeindexable_file_contentspreview_imageexternal_urlr%  r&  r'  c          	      K   sD   | ||||d d}|dus|dur||d}| jdd||dS )zbAdds a file from a remote service.
        https://api.slack.com/methods/files.remote.add
        )r   r(  r]  r%  Nr'  r&  zfiles.remote.addr@   r;   datafilesr    )	r#   r   r(  r]  r%  r&  r'  r$   r,  r%   r%   r&   files_remote_addc  s$   zWebClient.files_remote_add)r   r(  r  r]  r%  r&  r'  c          
      K   sF   | |||||d d}	|dus|dur||d}	| jdd||	dS )zcUpdates an existing remote file.
        https://api.slack.com/methods/files.remote.update
        )r   r(  r  r]  r%  Nr)  zfiles.remote.updater@   r*  r    )
r#   r   r(  r  r]  r%  r&  r'  r$   r,  r%   r%   r&   files_remote_update  s&   	zWebClient.files_remote_updatec                K   ry   )zXRemove a remote file.
        https://api.slack.com/methods/files.remote.remove
        r  zfiles.remote.remover@   r:   r    r!  r%   r%   r&   files_remote_remove  r   zWebClient.files_remote_removechannelsc                K   sl   |du r|du rt dt|ttfr|dd|i n|d|i |||d | jdd|dS )	zeShare a remote file into a channel.
        https://api.slack.com/methods/files.remote.share
        Nz,Either external_id or file must be provided.r0  rJ   r  zfiles.remote.sharer9   r:   )r0   r1   rL   rM   r   r!   rN   r"   )r#   r0  r   r  r$   r%   r%   r&   files_remote_share  s   
zWebClient.files_remote_sharec                K   r   )zvRevokes public/external sharing access for a file
        https://api.slack.com/methods/files.revokePublicURL
        r  zfiles.revokePublicURLr   r    r  r%   r%   r&   files_revokePublicURL  r   zWebClient.files_revokePublicURLc                K   r   )zpEnables a file for public/external sharing.
        https://api.slack.com/methods/files.sharedPublicURL
        r  zfiles.sharedPublicURLr   r    r  r%   r%   r&   files_sharedPublicURL  r   zWebClient.files_sharedPublicURL)r  contentfilenamer%  initial_commentr  r]  r0  r4  r5  r6  c          
      K   s   t   |du r|du rtd|dur|durtdt|ttfr/|	dd|i n|	d|i |	|||||d |rk|	ddu rat|t	ra|	ddu ra|
tjjd |	d< | jd	d
|i|	dS ||	d< | jd	|	dS )zVUploads or creates a file.
        https://api.slack.com/methods/files.upload
        Nz/The file or content argument must be specified.:You cannot specify both the file and the content argument.r0  rJ   )r5  r%  r6  r  r]  r5  zfiles.uploadr  r,  r+  r4  )r+  )r   r0   r1   rL   rM   r   r!   rN   rq  r!  splitospathsepr"   )
r#   r  r4  r5  r%  r6  r  r]  r0  r$   r%   r%   r&   files_upload  s.   

	zWebClient.files_uploadT)r5  r  r4  r]  alt_txtsnippet_typefile_uploadsr  r6  r  request_file_infor?  r@  rA  rB  c                K   sV  |du r|du r|du rt d|dur|durt d|d|d}}|durRtd t|ttfr?t|dksMt|t	rRt|
ddkrRt d	|dur[td
 g }|durn|D ]	}|t| qcnt||||||d}|| |D ]-}| j|d|d|d|d|dd}t| |d|d< |d|d< q|D ]:}| j|d |d | j| j| j| jd}|jdkr|j}|j}d| d| d|d d|d d	}t |q|}|durt|t	r|
dd }n|d }| jd#dd |D ||	|
d |}t|d!dkr)|d!d |jd"< |S )$a  This wrapper method provides an easy way to upload files using the following endpoints:

        - step1: https://api.slack.com/methods/files.getUploadURLExternal

        - step2: "https://files.slack.com/upload/v1/..." URLs returned from files.getUploadURLExternal API

        - step3: https://api.slack.com/methods/files.completeUploadExternal
            and https://api.slack.com/methods/files.info

        Nz9Any of file, content, and file_uploads must be specified.r7  r0  r%  zAlthough the channels parameter is still supported for smooth migration from legacy files.upload, we recommend using the new channel parameter with a single str value instead for more clarity.r   rJ   zrSharing files with multiple channels is no longer supported in v2. Share files in each channel separately instead.zSThe filetype parameter is no longer supported. Please remove it from the arguments.)r5  r  r4  r]  r?  r@  r5  lengthr?  r@  r?  )r5  rC  r?  r@  r?  file_id
upload_urlr+  )r   r+  loggertimeoutproxyssl   z!Failed to upload a file (status: z, body: z, filename: z	, title: r]  )r   c                 S   s   g | ]}|d  |d dqS )rD  r]  )rs  r]  r%   .0fr%   r%   r&   
<listcomp>      z-WebClient.files_upload_v2.<locals>.<listcomp>r,  r   r6  r  r,  r  r%   )r0   r1   rq  warningswarnrL   rM   r   lenr!  r:  appendr   files_getUploadURLExternalr   _upload_file_loggerrG  rH  rI  statusbodyfiles_completeUploadExternalr+  )r#   r5  r  r4  r]  r?  r@  rA  r  r6  r  rB  r$   r0  r%  r,  rN  url_responseupload_resultrY  rZ  messagechannel_to_share
completionr%   r%   r&   files_upload_v2  s   









zWebClient.files_upload_v2)r?  r@  rC  c                K   r   )zqGets a URL for an edge external upload.
        https://api.slack.com/methods/files.getUploadURLExternal
        )r5  rC  r?  r@  zfiles.getUploadURLExternalr   r    )r#   r5  rC  r?  r@  r$   r%   r%   r&   rV    r   z$WebClient.files_getUploadURLExternal)r   r6  r  r,  c                K   s6   dd |D }| t||||d | jd|dS )zFinishes an upload started with files.getUploadURLExternal.
        https://api.slack.com/methods/files.completeUploadExternal
        c                 S   s   g | ]}d d |  D qS )c                 S   s   i | ]\}}|d ur||qS Nr%   )rM  kvr%   r%   r&   
<dictcomp>  rP  zEWebClient.files_completeUploadExternal.<locals>.<listcomp>.<dictcomp>)itemsrL  r%   r%   r&   rO    rP  z:WebClient.files_completeUploadExternal.<locals>.<listcomp>rQ  zfiles.completeUploadExternalr   rb   )r#   r,  r   r6  r  r$   _filesr%   r%   r&   r[    s   z&WebClient.files_completeUploadExternalfunction_execution_idoutputsc                K   r~  )zwSignal the successful completion of a function
        https://api.slack.com/methods/functions.completeSuccess
        )rh  ri  zfunctions.completeSuccessr   rb   )r#   rh  ri  r$   r%   r%   r&   functions_completeSuccess  r  z#WebClient.functions_completeSuccessc                K   r   )zoSignal the failure to execute a function
        https://api.slack.com/methods/functions.completeError
        )rh  r<  zfunctions.completeErrorr   r    )r#   rh  r<  r$   r%   r%   r&   functions_completeError  r   z!WebClient.functions_completeErrorc                K   r  )zArchives a private channel.r  zgroups.archiver  r  r  r%   r%   r&   groups_archive  r  zWebClient.groups_archivec                K   r  )zCreates a private channel.r   zgroups.creater  r  r   r%   r%   r&   groups_create  r  zWebClient.groups_createc                K   rt   )z&Clones and archives a private channel.r  zgroups.createChildr9   r:   r    r  r%   r%   r&   groups_createChild  r  zWebClient.groups_createChildc                K   rt   )z>Fetches history of messages and events from a private channel.r  zgroups.historyr9   r:   r    r  r%   r%   r&   groups_history  r  zWebClient.groups_historyc                K   rt   )z)Gets information about a private channel.r  zgroups.infor9   r:   r    r  r%   r%   r&   groups_info  r  zWebClient.groups_infoc                K   r  )z$Invites a user to a private channel.r  zgroups.inviter  r  r  r%   r%   r&   groups_invite  r  zWebClient.groups_invitec                K   r  )z&Removes a user from a private channel.r  zgroups.kickr  r  r  r%   r%   r&   groups_kick  r  zWebClient.groups_kickc                K   r  )zLeaves a private channel.r  zgroups.leaver  r  r  r%   r%   r&   groups_leave'  r  zWebClient.groups_leavec                 K   r  )z;Lists private channels that the calling user has access to.zgroups.listr9   r:   r   r   r%   r%   r&   groups_list2  r  zWebClient.groups_listc                K   r  )z*Sets the read cursor in a private channel.r  zgroups.markr  r  r  r%   r%   r&   groups_mark9  r  zWebClient.groups_markc                K   r  )zOpens a private channel.r  zgroups.openr  r  r  r%   r%   r&   groups_openE  r  zWebClient.groups_openc                K   r  )zRenames a private channel.r  zgroups.renamer  r  r  r%   r%   r&   groups_renameP  r  zWebClient.groups_renamec                K   ry   )z9Retrieve a thread of messages posted to a private channelr  zgroups.repliesr9   r:   r    r  r%   r%   r&   groups_replies\  r  zWebClient.groups_repliesc                K   r  )z'Sets the purpose for a private channel.r  zgroups.setPurposer  r  r  r%   r%   r&   groups_setPurposeg  r  zWebClient.groups_setPurposec                K   r  )z%Sets the topic for a private channel.r  zgroups.setTopicr  r  r  r%   r%   r&   groups_setTopics  r  zWebClient.groups_setTopicc                K   r  )zUnarchives a private channel.r  zgroups.unarchiver  r  r  r%   r%   r&   groups_unarchive  r  zWebClient.groups_unarchivec                K   r  )zClose a direct message channel.r  zim.closer  r  r  r%   r%   r&   im_close  r  zWebClient.im_closec                K   rt   )zCFetches history of messages and events from direct message channel.r  z
im.historyr9   r:   r    r  r%   r%   r&   
im_history  r  zWebClient.im_historyc                 K   r  )z3Lists direct message channels for the calling user.zim.listr9   r:   r   r   r%   r%   r&   im_list  r  zWebClient.im_listc                K   r  )z1Sets the read cursor in a direct message channel.r  zim.markr  r  r  r%   r%   r&   im_mark  r  zWebClient.im_markc                K   r  )zOpens a direct message channel.r  zim.openr  r  r#   r  r$   r%   r%   r&   im_open  r  zWebClient.im_openc                K   ry   )zERetrieve a thread of messages posted to a direct message conversationr  z
im.repliesr9   r:   r    r  r%   r%   r&   
im_replies  r  zWebClient.im_repliesr+   to_oldr  c                K   sR   t |ttfr|dd|i n|d|i |||d | jdd|dS )zFor Enterprise Grid workspaces, map local user IDs to global user IDs
        https://api.slack.com/methods/migration.exchange
        rn  rJ   r  zmigration.exchanger9   r:   r]   )r#   rn  r+   r  r$   r%   r%   r&   migration_exchange  s
   zWebClient.migration_exchangec                K   r  )z+Closes a multiparty direct message channel.r  z
mpim.closer  r  r  r%   r%   r&   
mpim_close  r  zWebClient.mpim_closec                K   rt   )zHFetches history of messages and events from a multiparty direct message.r  zmpim.historyr9   r:   r    r  r%   r%   r&   mpim_history  r  zWebClient.mpim_historyc                 K   r  )z>Lists multiparty direct message channels for the calling user.z	mpim.listr9   r:   r   r   r%   r%   r&   	mpim_list  r  zWebClient.mpim_listc                K   r  )z<Sets the read cursor in a multiparty direct message channel.r  z	mpim.markr  r  r  r%   r%   r&   	mpim_mark  r  zWebClient.mpim_markc                K   r\   )z.This method opens a multiparty direct message.rn  rJ   z	mpim.openr   r]   )r#   rn  r$   r%   r%   r&   	mpim_open  s   zWebClient.mpim_openc                K   ry   )zxRetrieve a thread of messages posted to a direct message conversation from a
        multiparty direct message.
        r  zmpim.repliesr9   r:   r    r  r%   r%   r&   mpim_replies  r   zWebClient.mpim_replies)coderedirect_uri
grant_typerQ  r  r  r  c                K   n   |dur| d|i |dur| d|i |dur!| d|i |dur,| d|i | jd|||ddS )	z}Exchanges a temporary OAuth verifier code for an access token.
        https://api.slack.com/methods/oauth.v2.access
        Nr  r  r  rQ  zoauth.v2.accessrF  r+  authr    r#   rD  rE  r  r  r  rQ  r$   r%   r%   r&   oauth_v2_access,  s   zWebClient.oauth_v2_access)r  c                K   s:   |dur| d|i | d|i | jd|||ddS )zzExchanges a temporary OAuth verifier code for an access token.
        https://api.slack.com/methods/oauth.access
        Nr  r  zoauth.accessrF  r  r    )r#   rD  rE  r  r  r$   r%   r%   r&   oauth_accessL  s   zWebClient.oauth_accessr?  c                K   s    | |||d | jd|dS )zExchanges a legacy access token for a new expiring access token and refresh token
        https://api.slack.com/methods/oauth.v2.exchange
        )rD  rE  r?  zoauth.v2.exchanger   r    )r#   r?  rD  rE  r$   r%   r%   r&   oauth_v2_exchangea  r,  zWebClient.oauth_v2_exchangec                 K   r  )	zExchanges a temporary OAuth verifier code for an access token for Sign in with Slack.
        https://api.slack.com/methods/openid.connect.token
        Nr  r  r  rQ  zopenid.connect.tokenrF  r  r    r  r%   r%   r&   openid_connect_tokeno  s   zWebClient.openid_connect_tokenc                 K   r   )zGet the identity of a user who has authorized Sign in with Slack.
        https://api.slack.com/methods/openid.connect.userInfo
        zopenid.connect.userInfor   r   r   r%   r%   r&   openid_connect_userInfo  rV  z!WebClient.openid_connect_userInfo)	timestampr  c                K   r   )zRPins an item to a channel.
        https://api.slack.com/methods/pins.add
        r  r  zpins.addr   r    r#   r  r  r$   r%   r%   r&   pins_add  r   zWebClient.pins_addc                K   rt   )zYLists items pinned to a channel.
        https://api.slack.com/methods/pins.list
        r  z	pins.listr9   r:   r    r  r%   r%   r&   	pins_list  rv   zWebClient.pins_listc                K   r   )zZUn-pins an item from a channel.
        https://api.slack.com/methods/pins.remove
        r  zpins.remover   r    r  r%   r%   r&   pins_remove  r   zWebClient.pins_removec                K   r   )zXAdds a reaction to an item.
        https://api.slack.com/methods/reactions.add
        )r  r   r  zreactions.addr   r    )r#   r  r   r  r$   r%   r%   r&   reactions_add  r,  zWebClient.reactions_addr  r  file_commentfullr  r  r  c                K   rb  )zXGets reactions for an item.
        https://api.slack.com/methods/reactions.get
        r  zreactions.getr9   r:   r    )r#   r  r  r  r  r  r$   r%   r%   r&   reactions_get  rd  zWebClient.reactions_getr  r6   r  r7   r  r+   r  c          	   
   K   r^  )z]Lists reactions made by a user.
        https://api.slack.com/methods/reactions.list
        r  zreactions.listr9   r:   r    )	r#   r  r6   r  r7   r  r+   r  r$   r%   r%   r&   reactions_list  r`  zWebClient.reactions_listr  r  r  r  c                K   r   )z`Removes a reaction from an item.
        https://api.slack.com/methods/reactions.remove
        )r   r  r  r  r  zreactions.remover   r    )r#   r   r  r  r  r  r$   r%   r%   r&   reactions_remove  r   zWebClient.reactions_remove)r+   r  
recurrencetimer  c                K   r   )zPCreates a reminder.
        https://api.slack.com/methods/reminders.add
        )r  r  r+   r  r  zreminders.addr   r    )r#   r  r  r+   r  r  r$   r%   r%   r&   reminders_add  r   zWebClient.reminders_addreminderc                K   r   )z_Marks a reminder as complete.
        https://api.slack.com/methods/reminders.complete
        r  r+   zreminders.completer   r    r#   r  r+   r$   r%   r%   r&   reminders_complete+  r   zWebClient.reminders_completec                K   r   )zSDeletes a reminder.
        https://api.slack.com/methods/reminders.delete
        r  zreminders.deleter   r    r  r%   r%   r&   reminders_delete8  r   zWebClient.reminders_deletec                K   ry   )z`Gets information about a reminder.
        https://api.slack.com/methods/reminders.info
        r  zreminders.infor9   r:   r    r  r%   r%   r&   reminders_infoE  r   zWebClient.reminders_infoc                K   rt   )zqLists all reminders created by or for a given user.
        https://api.slack.com/methods/reminders.list
        r+   zreminders.listr9   r:   r    r  r%   r%   r&   reminders_listR  rv   zWebClient.reminders_listbatch_presence_awarepresence_subr  r  c                K   ry   )z`Starts a Real Time Messaging session.
        https://api.slack.com/methods/rtm.connect
        r  zrtm.connectr9   r:   r    )r#   r  r  r$   r%   r%   r&   rtm_connect^  r   zWebClient.rtm_connectr  r  
mpim_aware	no_latest
no_unreadsr  simple_latestr  r  r  r  c          	   
   K   r^  )z^Starts a Real Time Messaging session.
        https://api.slack.com/methods/rtm.start
        r  z	rtm.startr9   r:   r    )	r#   r  r  r  r  r  r  r  r$   r%   r%   r&   	rtm_startk  r`  zWebClient.rtm_start)r  	highlightr  r   r   r+   r  c          	   
   K   r^  )zkSearches for messages and files matching a query.
        https://api.slack.com/methods/search.all
        r   r  r  r  r   r   r+   z
search.allr9   r:   r    	r#   r   r  r  r  r   r   r+   r$   r%   r%   r&   
search_all  r`  zWebClient.search_allc          	   
   K   r^  )z`Searches for files matching a query.
        https://api.slack.com/methods/search.files
        r  zsearch.filesr9   r:   r    r  r%   r%   r&   search_files  r`  zWebClient.search_files)r  r6   r  r  r   r   r+   c          
      K   s,   |	 ||||||||d | jdd|	dS )zfSearches for messages matching a query.
        https://api.slack.com/methods/search.messages
        )r   r  r6   r  r  r   r   r+   zsearch.messagesr9   r:   r    )
r#   r   r  r6   r  r  r   r   r+   r$   r%   r%   r&   search_messages  r  zWebClient.search_messagesc                K   r   )zPAdds a star to an item.
        https://api.slack.com/methods/stars.add
        r  z	stars.addr   r    r#   r  r  r  r  r$   r%   r%   r&   	stars_add  r   zWebClient.stars_addr  r6   r7   r  r+   c                K   rb  )zQLists stars for a user.
        https://api.slack.com/methods/stars.list
        r  z
stars.listr9   r:   r    )r#   r  r6   r7   r  r+   r$   r%   r%   r&   
stars_list  rd  zWebClient.stars_listc                K   r   )zXRemoves a star from an item.
        https://api.slack.com/methods/stars.remove
        r  zstars.remover   r    r  r%   r%   r&   stars_remove  r   zWebClient.stars_removebeforer  r  r+   r6   r7   r  c             	   K   s(   | ||||||d | jdd|dS )ziGets the access logs for the current team.
        https://api.slack.com/methods/team.accessLogs
        r  zteam.accessLogsr9   r:   r    )r#   r  r  r  r+   r6   r7   r$   r%   r%   r&   team_accessLogs!  s   
zWebClient.team_accessLogsc                K   ry   )zvGets billable users information for the current team.
        https://api.slack.com/methods/team.billableInfo
        r  zteam.billableInfor9   r:   r    r  r%   r%   r&   team_billableInfo;  r   zWebClient.team_billableInfoc                 K   r   )znReads a workspace's billing plan information.
        https://api.slack.com/methods/team.billing.info
        zteam.billing.infor   r   r   r%   r%   r&   team_billing_infoH  rV  zWebClient.team_billing_info)connection_status_filterslack_connect_pref_filterrW   
sort_fieldworkspace_filterr6   r7   r  r  r  r  c          	      K   s   | |||||d |dur(t|ttfr!| dd|i n| d|i |durEt|ttfr>| dd|i n| d|i | jdd|dS )	zReturns a list of all the external teams connected and details about the connection.
        https://api.slack.com/methods/team.externalTeams.list
        )r  rW   r  r6   r7   Nr  rJ   r  zteam.externalTeams.listr9   r:   rK   )	r#   r  r  rW   r  r  r6   r7   r$   r%   r%   r&   team_externalTeams_listQ  s"   	z!WebClient.team_externalTeams_listteamdomainr  r  c                K   ry   )zaGets information about the current team.
        https://api.slack.com/methods/team.info
        r  z	team.infor9   r:   r    )r#   r  r  r$   r%   r%   r&   	team_infou  r   zWebClient.team_infor(   change_typer  r  
service_idr+   r  r  r  c          	   
   K   r^  )zsGets the integration logs for the current team.
        https://api.slack.com/methods/team.integrationLogs
        r  zteam.integrationLogsr9   r:   r    )	r#   r(   r  r  r  r  r+   r  r$   r%   r%   r&   team_integrationLogs  r`  zWebClient.team_integrationLogs)r   c                K   rt   )zZRetrieve a team's profile.
        https://api.slack.com/methods/team.profile.get
        r   zteam.profile.getr9   r:   r    )r#   r   r$   r%   r%   r&   team_profile_get  rv   zWebClient.team_profile_getc                 K   r   )zwRetrieve a list of a workspace's team preferences.
        https://api.slack.com/methods/team.preferences.list
        zteam.preferences.listr   r   r   r%   r%   r&   team_preferences_list  rV  zWebClient.team_preferences_list)r0  r|   handleinclude_countr+   r  r  c                K   sV   | |||||d t|ttfr| dd|i n| d|i | jd|dS )zTCreate a User Group
        https://api.slack.com/methods/usergroups.create
        )r   r|   r  r  r+   r0  rJ   zusergroups.creater   rK   )r#   r   r0  r|   r  r  r+   r$   r%   r%   r&   usergroups_create  s   	zWebClient.usergroups_create)r  r+   	usergroupc                K   r   )z`Disable an existing User Group
        https://api.slack.com/methods/usergroups.disable
        r  r  r+   zusergroups.disabler   r    r#   r  r  r+   r$   r%   r%   r&   usergroups_disable  r,  zWebClient.usergroups_disablec                K   r   )zTEnable a User Group
        https://api.slack.com/methods/usergroups.enable
        r  zusergroups.enabler   r    r  r%   r%   r&   usergroups_enable  r,  zWebClient.usergroups_enabler  include_disabledinclude_usersr+   r  r  c                K   r8   )z^List all User Groups for a team
        https://api.slack.com/methods/usergroups.list
        r  zusergroups.listr9   r:   r    )r#   r  r  r  r+   r$   r%   r%   r&   usergroups_list  r>   zWebClient.usergroups_list)r0  r|   r  r  r   r+   c          	   	   K   sX   | ||||||d t|ttfr| dd|i n| d|i | jd|dS )z^Update an existing User Group
        https://api.slack.com/methods/usergroups.update
        )r  r|   r  r  r   r+   r0  rJ   zusergroups.updater   rK   )	r#   r  r0  r|   r  r  r   r+   r$   r%   r%   r&   usergroups_update  s   
zWebClient.usergroups_update)r  r+   c                K   r?   )zcList all users in a User Group
        https://api.slack.com/methods/usergroups.users.list
        )r  r  r+   zusergroups.users.listr9   r:   r    )r#   r  r  r+   r$   r%   r%   r&   usergroups_users_list!  rB   zWebClient.usergroups_users_listc                K   sR   | |||d t|ttfr| dd|i n| d|i | jd|dS )zpUpdate the list of users for a User Group
        https://api.slack.com/methods/usergroups.users.update
        r  rn  rJ   zusergroups.users.updater   rK   )r#   r  rn  r  r+   r$   r%   r%   r&   usergroups_users_update5  r   z!WebClient.usergroups_users_update)r6   r  r7   r+   r  r  c                K   sX   | |||||d t|ttfr| dd|i n| d|i | jdd|dS )zrList conversations the calling user may access.
        https://api.slack.com/methods/users.conversations
        )r6   r  r7   r+   r  r  rJ   zusers.conversationsr9   r:   rK   )r#   r6   r  r7   r+   r  r  r$   r%   r%   r&   users_conversationsN  s   	zWebClient.users_conversationsc                 K   r  )z^Delete the user profile photo
        https://api.slack.com/methods/users.deletePhoto
        zusers.deletePhotor9   r:   r   r   r%   r%   r&   users_deletePhotok     zWebClient.users_deletePhotoc                K   rt   )z`Gets user presence information.
        https://api.slack.com/methods/users.getPresence
        r  zusers.getPresencer9   r:   r    r  r%   r%   r&   users_getPresencet  rv   zWebClient.users_getPresencec                 K   r  )zTGet a user's identity.
        https://api.slack.com/methods/users.identity
        zusers.identityr9   r:   r   r   r%   r%   r&   users_identity  r  zWebClient.users_identity)r  c                K   ry   )zXGets information about a user.
        https://api.slack.com/methods/users.info
        )r  r  z
users.infor9   r:   r    )r#   r  r  r$   r%   r%   r&   
users_info  r   zWebClient.users_infor6   r  r7   r+   c                K   r8   )zZLists all users in a Slack team.
        https://api.slack.com/methods/users.list
        r  z
users.listr9   r:   r    )r#   r6   r  r7   r+   r$   r%   r%   r&   
users_list  r>   zWebClient.users_listc                K   rt   )zeFind a user with an email address.
        https://api.slack.com/methods/users.lookupByEmail
        r   zusers.lookupByEmailr9   r:   r    r#   r   r$   r%   r%   r&   users_lookupByEmail  rv   zWebClient.users_lookupByEmailcrop_wcrop_xcrop_yimager  r  r  c                K   s&   | |||d | jdd|i|dS )zXSet the user profile photo
        https://api.slack.com/methods/users.setPhoto
        r  zusers.setPhotor  r9  r    )r#   r  r  r  r  r$   r%   r%   r&   users_setPhoto  s   zWebClient.users_setPhotopresencec                K   r   )z]Manually sets user presence.
        https://api.slack.com/methods/users.setPresence
        r  zusers.setPresencer   r    )r#   r  r$   r%   r%   r&   users_setPresence  r   zWebClient.users_setPresencec                 K   r   )zLookup an email address to see if someone is on Slack
        https://api.slack.com/methods/users.discoverableContacts.lookup
        r   z!users.discoverableContacts.lookupr   r    r  r%   r%   r&   !users_discoverableContacts_lookup  s   z+WebClient.users_discoverableContacts_lookupr  include_labelsr  c                K   ry   )zhRetrieves a user's profile information.
        https://api.slack.com/methods/users.profile.get
        r  zusers.profile.getr9   r:   r    )r#   r  r  r$   r%   r%   r&   users_profile_get  r   zWebClient.users_profile_get)r   valuer  profiler  r   c                K   s*   | ||||d t|}| jd|dS )zhSet the profile information for a user.
        https://api.slack.com/methods/users.profile.set
        )r   r   r  r  zusers.profile.setr  r  )r#   r   r  r  r   r$   r%   r%   r&   users_profile_set  s   zWebClient.users_profile_setviewc                K   P   | d|i t|tr| d| i n| d|i t|}| jd|dS )zOpen a view for a user.
        https://api.slack.com/methods/views.open
        See https://api.slack.com/surfaces/modals for details.
        r	  r  z
views.openr  r!   rL   r
   to_dictr   r"   r#   r	  r  r$   r%   r%   r&   
views_open  s   
zWebClient.views_openc                K   r  )a  Push a view onto the stack of a root view.
        Push a new view onto the existing view stack by passing a view
        payload and a valid trigger_id generated from an interaction
        within the existing modal.
        Read the modals documentation (https://api.slack.com/surfaces/modals)
        to learn more about the lifecycle and intricacies of views.
        https://api.slack.com/methods/views.push
        r	  r  z
views.pushr  r  r  r%   r%   r&   
views_push  s   
zWebClient.views_push)r   view_idhashr	  r
  c                K   s   t |tr|d| i n|d|i |r |d|i n|r*|d|i ntd|d|i t|}| jd|dS )a  Update an existing view.
        Update a view by passing a new view definition along with the
        view_id returned in views.open or the external_id.
        See the modals documentation (https://api.slack.com/surfaces/modals#updating_views)
        to learn more about updating views and avoiding race conditions with the hash argument.
        https://api.slack.com/methods/views.update
        r  r   r	  z*Either view_id or external_id is required.r
  zviews.updater  )rL   r
   r!   r  r0   r1   r   r"   )r#   r  r   r	  r
  r$   r%   r%   r&   views_update/  s   

zWebClient.views_update)r
  c                K   sR   | ||d t|tr| d| i n| d|i t|}| jd|dS )zPublish a static view for a User.
        Create or update the view that comprises an
        app's Home tab (https://api.slack.com/surfaces/tabs)
        https://api.slack.com/methods/views.publish
        )r   r
  r  zviews.publishr  r  )r#   r   r  r
  r$   r%   r%   r&   views_publishN  s   
zWebClient.views_publish)ri  workflow_step_execute_idc                K   s:   | d|i |dur| d|i t|}| jd|dS )zIndicate a successful outcome of a workflow step's execution.
        https://api.slack.com/methods/workflows.stepCompleted
        r  Nri  zworkflows.stepCompletedr  r  )r#   r  ri  r$   r%   r%   r&   workflows_stepCompletedd  s
   
z!WebClient.workflows_stepCompletedc                K   r  )zIndicate an unsuccessful outcome of a workflow step's execution.
        https://api.slack.com/methods/workflows.stepFailed
        )r  r<  zworkflows.stepFailedr  r  )r#   r  r<  r$   r%   r%   r&   workflows_stepFailedu  s   
zWebClient.workflows_stepFailed)inputsri  workflow_step_edit_idr  c                K   sP   | d|i |dur| d|i |dur| d|i t|}| jd|dS )z{Update the configuration for a workflow extension step.
        https://api.slack.com/methods/workflows.updateStep
        r  Nr  ri  zworkflows.updateStepr  r  )r#   r  r  ri  r$   r%   r%   r&   workflows_updateStep  s   zWebClient.workflows_updateStep)NNNrb  )NNNN(5  __name__
__module____qualname____doc__r!  r   boolr   r'   r3   intr=   rA   rC   rF   rG   rH   r   r   rO   rZ   r^   r   r   re   rh   rl   rn   rr   ru   rw   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r	  r  r  r  r  r  r  r  r  floatr"  r%  r(  r)  r+  r-  r.  r2  r5  r8  r:  r;  r=  r@  rB  rG  rJ  rL  rM  rN  rP  rR  rT  rU  rX  r_  rc  re  rf  ri  rr  rt  ru  ry  r{  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r
  r  r  r  r  r  r  r  r  r  r  r"  r$  bytesr   r-  r.  r/  r1  r2  r3  r>  r	   ra  rV  r[  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r
   r  r  r  r  r  r  r  r%   r%   r%   r&   r      sf   D

!




!

	

(








	





	
%




	

#



















	

























	!	
)		
*



	!
	

	
%











	
.
	
:

	
/
	
(
	
.



 


	 


	


	


	

	
	
&

	

)
	+


	
2
	{










&
	


	
	 	
	

	 	 	 	
!

	





	'
	
!



	#


	




$


r   )%r  rc   r;  rR  ior   typingr   r   r   r   r   r   r	   slack_sdk.errorserrorsr0   slack_sdk.models.viewsr
   base_clientr   r   internal_utilsr   r   r   r   r   r   r   models.attachmentsr   models.blocksr   models.metadatar   r   r%   r%   r%   r&   <module>   s    $$	