Python wrapper for the Slack Blocks API
Project description
slackblocks
What is it?
slackblocks
is a Python API for building messages in the fancy Slack Block Kit API
Documentation
Full documentation is provided here.
Requirements
slackblocks
requires Python >= 3.8.
As of version 0.1.0 it has no dependencies outside the Python standard library.
Installation
pip install slackblocks
Basic Usage
from slackblocks import Message, SectionBlock
block = SectionBlock("Hello, world!")
message = Message(channel="#general", blocks=block)
message.json()
Will produce the following JSON string:
{
"channel": "#general",
"mrkdwn": true,
"blocks": [
{
"type": "section",
"block_id": "992ceb6b-9ad4-496b-b8e6-1bd8a632e8b3",
"text": {
"type": "mrkdwn",
"text": "Hello, world!"
}
}
]
}
Which can be sent as payload to the Slack message API HTTP endpoints.
Of more practical use is the ability to unpack the objects directly into the (Legacy) Python Slack Client in order to send messages:
from os import environ
from slack import WebClient
from slackblocks import Message, SectionBlock
client = WebClient(token=environ["SLACK_API_TOKEN"])
block = SectionBlock("Hello, world!")
message = Message(channel="#general", blocks=block)
response = client.chat_postMessage(**message)
Or the modern Python Slack SDK:
from os import environ
from slack_sdk import WebClient
from slackblocks import Message, SectionBlock
client = WebClient(token=environ["SLACK_API_TOKEN"])
block = SectionBlock("Hello, world!")
message = Message(channel="#general", blocks=block)
response = client.chat_postMessage(**message)
Note the **
operator in front of the message
object.
Can I use this in my project?
Yes, please do! The code is all open source and dual BSD-3.0 and MIT licensed (use what suits you best).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file slackblocks-1.0.13.tar.gz
.
File metadata
- Download URL: slackblocks-1.0.13.tar.gz
- Upload date:
- Size: 31.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.1 CPython/3.11.10 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 221c4d900c313af87f9dd5b5cfdf5019c0b0f801b55f304ba8631fef9beafffb |
|
MD5 | aaa2fc49a918d23c2caa32b80e8915b9 |
|
BLAKE2b-256 | 68f530bc8800ebee58f4a753606e702db5522b3149ebeaff9c13982e139390f5 |
File details
Details for the file slackblocks-1.0.13-py3-none-any.whl
.
File metadata
- Download URL: slackblocks-1.0.13-py3-none-any.whl
- Upload date:
- Size: 36.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.1 CPython/3.11.10 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 366c0366657848fa1fb182e2bd7006eb5b855f834b4a2aba1de4696ceb6479d6 |
|
MD5 | cd12e5ad52816126c990cf303f6ee59d |
|
BLAKE2b-256 | 856c5ec7d3a959eea4e36fa5bf809bc9748f2b23545498edd828765db24c20df |