No project description provided
Project description
slacktools-blockkit
slacktools-blocklit provides an expressive interface for utilizing the Slack Block-kit UI framework.
Features:
- Build Slack UIs by composing classes instead of manually building dictionaries.
- Easily parse action payloads and modal submission payload without manual dictionary traversal.
- Compose your own "fixed attribute" blocks to avoid magic string lookups when parsing interactive payloads.
Installation:
pip install slacktools-blockkit
Basic Usage:
from blockkit import Message, blocks, elements, objects
message = Message(blocks=[
blocks.Section(objects.MrkdwnText("*User Information: ")),
blocks.Divider(),
blocks.Section(
objects.PlainText("John Doe"),
fields=[
objects.MrkdwnText("Address:\n"),
objects.PlainText("123 Street, City, 11111"),
objects.MrkdwnText("Phone: \n"),
objects.PlainText("111-111-1111")
]
),
blocks.Actions(elements=[
elements.Button(
action_id="delete",
text="Delete User",
style=elements.Button.Styles.DANGER
)
])
])
Parsing action payloads:
from blockkit import elements
value = elements.Button.parse_value(action_payload["actions"][0])
Basic view submission payload parsing:
Define the view:
from blockkit import blocks, views, objects
modal = views.Modal(
title="User Data",
blocks=[
blocks.Section(objects.PlainText("Enter user information:")),
blocks.PlainTextInput(label="Username", block_id="user_data", action_id="username")
]
)
Parse the response:
from blockkit import blocks
value = blocks.PlainTextInput.parse(
view_payload,
block_id="user_data",
action_id="username"
)
Fixed blocks and view submission payload parsing:
Define the fixed block and view:
from blockkit import blocks, views, objects
from blockkit.fixed_blocks import FixedPlainTextInput
class UsernameInput(FixedPlainTextInput):
block_id = "user_data"
action_id = "username"
label = "Username"
modal = views.Modal(
title="User Data",
blocks=[
blocks.Section(objects.PlainText("Enter user information:")),
UsernameInput()
]
)
Parse the response:
value = UsernameInput.parse(view_payload)
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
slacktools-blockkit-0.10.0.tar.gz
(22.0 kB
view hashes)
Built Distribution
Close
Hashes for slacktools-blockkit-0.10.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48a8c60ac35c1d9b6b363ddac7fdd8b9082521814e3e7ede34e6160ea46e85f5 |
|
MD5 | 6ae17dc979bc0f1e36260f49ea5d2482 |
|
BLAKE2b-256 | 554e25ffc93340c4971b330e9d8d1191506c3985d31baf7c8ee7c8541dea71d8 |
Close
Hashes for slacktools_blockkit-0.10.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6284e61a18568fd5c4981be697da4a1a201114272dc4a90e5b1d47bd1811b167 |
|
MD5 | 43a27edbe9fe673c47fc8718dac4a3a2 |
|
BLAKE2b-256 | 0ac977a73334b8c9d5ef89b55bc463c7fe604d2f17601f9887de934aaf53b087 |