A framework to build Slack apps using Python
MIT License
Bot releases are hidden (Show)
Published by seratch over 3 years ago
This release upgrades the underlying slack-sdk
package from 3.2 to 3.3. Refer to the package's release note for more details: https://github.com/slackapi/python-slack-sdk/releases/tag/v3.3.0
slack-sdk
from 3.2 to 3.3 - Thanks @seratchPublished by seratch over 3 years ago
Published by seratch almost 4 years ago
Published by seratch almost 4 years ago
Published by seratch almost 4 years ago
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.
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).
import os
from slack_bolt import App
from slack_bolt.adapter.socket_mode import SocketModeHandler
# Install the Slack app and get xoxb- token in advance
app = App(token=os.environ["SLACK_BOT_TOKEN"])
if __name__ == "__main__":
# export SLACK_APP_TOKEN=xapp-***
# export SLACK_BOT_TOKEN=xoxb-***
SocketModeHandler(app, os.environ["SLACK_APP_TOKEN"]).start()
If you want to use asyncio for everything, you can use aiohttp
or websockets
(along with aiohttp for AsyncWebClient
). AsyncSocketModeHandler
requires all of your middleware/listeners to be compatible with the async/await programming style.
from slack_bolt.app.async_app import AsyncApp
# The default is the aiohttp based implementation
from slack_bolt.adapter.socket_mode.async_handler import AsyncSocketModeHandler
app = AsyncApp(token=os.environ["SLACK_BOT_TOKEN"])
async def main():
handler = AsyncSocketModeHandler(app, os.environ["SLACK_APP_TOKEN"])
await handler.start_async()
if __name__ == "__main__":
import asyncio
asyncio.run(main())
Published by seratch almost 4 years ago
slack_sdk
to v3.1.1 - Thanks @seratchPublished by seratch almost 4 years ago
Published by seratch almost 4 years ago
This patch version is a hotfix release for v1.1.2. If you use installation_store_bot_only
option, please upgrade to this version.
Published by seratch almost 4 years ago
Now you can use InstallationStore's v1.0 compatible mode in authorize.
Setting App
/AsyncApp
's installation_store_bot_only
constructor argument as True works in the same manner as v1.0 authorize. If you manually initialize InstallationStoreAuthorize
, bot_only
flag in it is the one you can configure. See the pull request #171 for more details.
installation_store = MyInstallationStore()
oauth_state_store = MyOAuthStateStore()
app = App(
# If you want to keep using only `#find_bot` for token retrieval,
# you can configure installation_store_bot_only as True
installation_store_bot_only=True,
oauth_settings=OAuthSettings(
installation_store=installation_store,
state_store=oauth_state_store,
),
)
NOTE: If you use installation_store_bot_only
flag in OAuthFlow
or OAuthSettings
, please upgrade to v1.1.3 or higher.
Published by seratch almost 4 years ago
Published by seratch almost 4 years ago
This version includes the changes related to Org-Wide App feature, which is for Enterprise Grid organizations.
https://api.slack.com/enterprise/apps
Refer to the Python Slack SDK's release note for details: https://github.com/slackapi/python-slack-sdk/releases/tag/v3.1.0
As long as the changes on the low-level SDK side does not affect your apps, most of existing Bolt apps do not require any updates in code. If you are an existing user of either of AmazonS3InstallationStore
or FileInstallationStore
, please upgrade to v1.1.3 or higher and set installation_store_bot_only
flag as True
in App
/AsyncApp
constructor. See v1.1.2 release note for details.
Published by seratch almost 4 years ago
See v1.1.0 release note.
Published by seratch almost 4 years ago
Published by seratch almost 4 years ago
Here is the first stable version of Bolt for Python 🎉
This framework has been carefully designed to be easy and intuitive for Python developers while aligning with the existing Bolt frameworks. If you’re a Pythonista, we think you’ll like it!
You can start with pip install slack_bolt
and the Getting Started Guide. To learn more, check the following resources:
Published by seratch almost 4 years ago
This is the latest release candidate version of slack_bolt v1.0.0.
We will be releasing v1.0.0 within a few days. Thank you very much for all the contributions and feedback from the community!
Published by seratch almost 4 years ago
This is the first release candidate version of slack_bolt v1.0.0.
We will be releasing v1.0.0 within a few days. Thank you very much for all the contributions and feedback from the community!
Published by seratch almost 4 years ago
Published by seratch almost 4 years ago
Published by seratch almost 4 years ago
Published by seratch about 4 years ago