Slack-sdk

Latest version: v3.29.0

Safety actively analyzes 638388 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 12 of 21

3.3.1

Changes

* 947 Enable to use snake_cased keys for dict arg in `SCIMClient`/`AsyncSCIMClient` - Thanks seratch

---
* All issues/pull requests: https://github.com/slackapi/python-slack-sdk/milestone/29?closed=1
* All changes: https://github.com/slackapi/python-slack-sdk/compare/v3.3.0...v3.3.1

3.3.0

New Features

Enterprise APIs

Since this version, we support SCIM API and Audit Logs API.

* https://api.slack.com/admins/audit-logs
* https://api.slack.com/admins/scim

Refer to the documents for details.

* [SCIMClient](https://slack.dev/python-slack-sdk/scim/)
* [AuditLogsClient](https://slack.dev/python-slack-sdk/audit-logs/)

Changes

* 782 936 944 Audit Logs API support - Thanks seratch
* 437 940 944 SCIM API Support - Thanks seratch
* 932 933 RTMClient v2: no aiohttp dependency, more reliable implementation - Thanks seratch
* 893 942 Add support for admin.barriers.* API methods - Thanks misscoded seratch

---
* All issues/pull requests: https://github.com/slackapi/python-slack-sdk/milestone/23?closed=1
* All changes: https://github.com/slackapi/python-slack-sdk/compare/v3.2.1...v3.3.0

3.2.1

Changes

* 923 908 Add replace_original/delete_original to WebhookClient (async/sync) - Thanks alextriaca seratch
* 918 925 Enable to have additional fields in Bot/Installation instances - Thanks seratch
* 921 925 Enable to use custom logger in WebClient, WebhookClient (async/sync) - Thanks seratch
* 926 927 Handle closing `aiohttp.ClientSession` in Socket Mode AIOHTTP adapter - Thanks cxlai seratch

---
* All issues/pull requests: https://github.com/slackapi/python-slack-sdk/milestone/26?closed=1
* All changes: https://github.com/slackapi/python-slack-sdk/compare/v3.2.0...v3.2.1

3.2.0

New Features

Socket Mode

This version includes support for Socket Mode, which enables developers to receive interactivy payalods and events through WebSocket connections.

https://api.slack.com/socket-mode

For WebSocket connection handling, there are four implementations including major 3rd party open-source libraries.

|PyPI Project|SocketModeClient|
|-|-|
|[skack_sdk](https://pypi.org/project/skack-sdk/)|[slack_sdk.socket_mode.SocketModeClient](https://github.com/slackapi/python-slack-sdk/blob/v3.2.0/slack_sdk/socket_mode/builtin/client.py)|
|[websocket_client](https://pypi.org/project/websocket_client/)|[slack_sdk.socket_mode.websocket_client.SocketModeClient](https://github.com/slackapi/python-slack-sdk/blob/v3.2.0/slack_sdk/socket_mode/websocket_client/client.py)|
|[aiohttp](https://pypi.org/project/aiohttp/) (asyncio-based)|[slack_sdk.socket_mode.aiohttp.SocketModeClient](https://github.com/slackapi/python-slack-sdk/blob/v3.2.0/slack_sdk/socket_mode/aiohttp/client.py)|
|[websockets](https://pypi.org/project/websockets/) (asyncio-based)|[slack_sdk.socket_mode.websockets.SocketModeClient](https://github.com/slackapi/python-slack-sdk/blob/v3.2.0/slack_sdk/socket_mode/websockets/client.py)|

Here is a minimal working example with the built-in WebSocket client. You can switch to other implementation by changing the imports and adding the extra dependencies (websocket_client, aiohttp, websockets).

python
import os
from slack_sdk.web import WebClient
from slack_sdk.socket_mode import SocketModeClient

Initialize SocketModeClient with an app-level token + WebClient
client = SocketModeClient(
This app-level token will be used only for establishing a connection
app_token=os.environ.get("SLACK_APP_TOKEN"), xapp-A111-222-xyz
You will be using this WebClient for performing Web API calls in listeners
web_client=WebClient(token=os.environ.get("SLACK_BOT_TOKEN")) xoxb-111-222-xyz
)

from slack_sdk.socket_mode.response import SocketModeResponse
from slack_sdk.socket_mode.request import SocketModeRequest

def process(client: SocketModeClient, req: SocketModeRequest):
if req.type == "events_api":
Acknowledge the request anyway
response = SocketModeResponse(envelope_id=req.envelope_id)
client.send_socket_mode_response(response)
Add a reaction to the message if it's a new message
if req.payload["event"]["type"] == "message" \
and req.payload["event"].get("subtype") is None:
client.web_client.reactions_add(
name="eyes",
channel=req.payload["event"]["channel"],
timestamp=req.payload["event"]["ts"],
)

Add a new listener to receive messages from Slack
You can add more listeners like this
client.socket_mode_request_listeners.append(process)

Establish a WebSocket connection to the Socket Mode servers
client.connect()

Just not to stop this process
from threading import Event
Event().wait()


Changes

* 883 879 837 Add Socket Mode support - Thanks seratch stevengill
* 914 Add aiohttp version validation - Thanks seratch
* 89 910 Add warnings for missing text parameter in chat.* method calls - Thanks seratch

---
* All issues/pull requests: https://github.com/slackapi/python-slack-sdk/milestone/22?closed=1
* All changes: https://github.com/slackapi/python-slack-sdk/compare/v3.1.1...v3.2.0

3.1.1

Changes

* 908 900 `WebClientfiles_upload` fails with the default `team_id` param for Org-wide installations - Thanks gburek-fastly seratch
* 909 901 Incorrect type hint for `WebClientfiles_upload`'s `file` argument - Thanks gburek-fastly seratch
* 904 Fix 903 by parsing in ActionsBlock - Thanks KharchenkoDmitriy
* 896 Update WebClient to accept not only list but also tuple - Thanks seratch

The following changes are related to documents and tutorial contents:

* 897 Improve code in the PythOnBoardingBot tutorial - Thanks stephenfrench9
* 890 Fix 889 by correcting the team_join event handler in the PythOnBoardingBot tutorial - Thanks spectreConstantine seratch

---
* All issues/pull requests: https://github.com/slackapi/python-slack-sdk/milestone/21?closed=1
* All changes: https://github.com/slackapi/python-slack-sdk/compare/v3.1.0...v3.1.1

3.1.0

New Features

Org-Wide App Installation support

This version includes the changes related to Org-Wide App feature, which is for Enterprise Grid organizations.

https://api.slack.com/enterprise/apps

* Add a few fields in installation data models (see the following migration guide for details)
* Switch to use `InstallationStorefind_installation` from `InstallationStorefind_bot` in authorize functions
* Enable Bolt apps to handle new events - `team_access_granted` / `team_access_removed`
* Add `is_enterprise_install: bool` in context object

Data Model Migration guide

If you're already using a built-in InstallationStore implementation, the following fields in the data row will be expected since v3.1. If your app uses relational database tables, please add the corresponding columns to the tables.

* `is_enterprise_install: bool` (true if it is an org-level installation)
* `enterprise_url: Optional[str]` (URL; this is available only for org-level installation)
* `enterprise_name: Optional[str]` (the name of the installed org; this value is just a snapshot data at the timing of installations. So, it can be changed afterwards)
* `team_name: Optional[str]` (the name of the installed workspace)
* `incoming_webhook_channel: Optional[str]` (channel name)
* `token_type: Optional[str]`

Also, since this version, the built-in `InstallationStore` based authorize functions try to fetch `Installation`. The `Installation` object contains `Bot` data too. So, you will be able to utilize more fields like user_token, thanks to this change.

If your application does not maintain the data when handling Slack app installations, upgrading to this version may result in errors due to this incompatibility. If you need to continue using `Bot` over `Installation` data rows, please consider implementing and using your own `Authorize` classes.

Changes

* 877 881 Add Org App Support - Thanks stevegill seratch
* 875 Typo fix in docs - Thanks timgates42
* 885 `PlainTextInputElement` class comment fix - Thanks jelizaga3-gatech

---
* All issues/pull requests: https://github.com/slackapi/python-slack-sdk/milestone/4?closed=1
* All changes: https://github.com/slackapi/python-slack-sdk/compare/v3.0.0...v3.1.0

Page 12 of 21

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.