Skip to content

Latest commit

 

History

History
65 lines (46 loc) · 1.41 KB

README.md

File metadata and controls

65 lines (46 loc) · 1.41 KB

slackblocks

PyPI - License

This is a fork of this awesome package made by @nicklambourne.


slackblocks is a Python API for building messages in the fancy new Slack Block Kit API.

This package requires Python 3.10

Installation

pip install git+https://github.com/vlaex/slackblocks.git

Usage

from slackblocks import Message, SectionBlock


block = SectionBlock("Hello, world!")
message = Message(blocks=block)
message.json()

Will produce the following JSON string:

{
    "blocks": [
        {
            "type": "section",
            "block_id": "992ceb6b-9ad4-496b-b8e6-1bd8a632e8b3",
            "text": {
                "type": "mrkdwn",
                "text": "Hello, world!",
                "verbatim": false
            }
        }
    ]
}

which can be sent as payload to the Slack message API HTTP endpoints.

You can unpack the objects directly into the 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)

Note the ** operator in front of the message object.