Skip to content

💥 Python API for building messages using the Slack Block Kit API

License

Notifications You must be signed in to change notification settings

vlaex/slackblocks

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

💥 Python API for building messages using the Slack Block Kit API

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages

  • Python 100.0%