A modern async client library for Rust, supports Slack Web / Events API/Socket Mode and Block Kit.
See the codeSlack Morphism is a modern client library for Slack Web/Events API/Socket Mode and Block Kit.
Please follow to the official website: https://slack-rust.abdolence.dev.
https://github.com/abdolence/slack-morphism-rust/tree/master/examples
The examples require to work the following environment variables (from your Slack bot profile in api.slack.com):
SLACK_TEST_TOKEN - for Slack client exampleSLACK_TEST_APP_TOKEN - for Slack client with Socket Mode exampleSLACK_TEST_CHANNEL - the channel to post to, for the blocks_showcase exampleSLACK_CLIENT_ID, SLACK_CLIENT_SECRET, SLACK_BOT_SCOPE, SLACK_REDIRECT_HOST - for OAuth routes for Events API exampleSLACK_SIGNING_SECRET for all routes for Events API exampleTo run example use with environment variables:
# SLACK_... cargo run --example <client|events_api_server|axum_events_api_server|socket_mode|blocks_showcase> --all-features
blocks_showcase posts a single message covering every Block Kit block family
(header, section, image, context, actions, divider, rich text, table, markdown,
alert, card, task card) and prints a modal view for pasting into
Block Kit Builder.
Routes for this example are available on http://:8080:
For development/testing purposes you can use ngrok:
ngrok http 8080
and copy the URL it gives for you to the example parameters for SLACK_REDIRECT_HOST.
Example testing with ngrok:
SLACK_CLIENT_ID=<your-client-id> \
SLACK_CLIENT_SECRET=<your-client-secret> \
SLACK_BOT_SCOPE=app_mentions:read,incoming-webhook \
SLACK_REDIRECT_HOST=https://<your-ngrok-url>.ngrok.io \
SLACK_SIGNING_SECRET=<your-signing-secret> \
cargo run --example events_api_server --all-features
Dates and times in the models are exposed through the type aliases SlackUtcDateTime and
SlackCivilDate, which are backed by jiff
(jiff::Timestamp and jiff::civil::Date).
The deprecated obsolete-chrono feature switches both aliases back to the chrono types used
before (chrono::DateTime<chrono::Utc> and chrono::NaiveDate) for an easier migration.
Note that this feature is not additive: enabling it anywhere in a dependency graph changes the
types for every crate in that graph, so it is intended as a temporary migration aid only.
Apache Software License (ASL)
Abdulla Abdurakhmanov
with the great help of contributors, particularly:
and many others
(top 30 of 54)
Rust
100.0%
A modern async client library for Rust, supports Slack Web / Events API/Socket Mode and Block Kit.
See the codeSlack Morphism is a modern client library for Slack Web/Events API/Socket Mode and Block Kit.
Please follow to the official website: https://slack-rust.abdolence.dev.
https://github.com/abdolence/slack-morphism-rust/tree/master/examples
The examples require to work the following environment variables (from your Slack bot profile in api.slack.com):
SLACK_TEST_TOKEN - for Slack client exampleSLACK_TEST_APP_TOKEN - for Slack client with Socket Mode exampleSLACK_TEST_CHANNEL - the channel to post to, for the blocks_showcase exampleSLACK_CLIENT_ID, SLACK_CLIENT_SECRET, SLACK_BOT_SCOPE, SLACK_REDIRECT_HOST - for OAuth routes for Events API exampleSLACK_SIGNING_SECRET for all routes for Events API exampleTo run example use with environment variables:
# SLACK_... cargo run --example <client|events_api_server|axum_events_api_server|socket_mode|blocks_showcase> --all-features
blocks_showcase posts a single message covering every Block Kit block family
(header, section, image, context, actions, divider, rich text, table, markdown,
alert, card, task card) and prints a modal view for pasting into
Block Kit Builder.
Routes for this example are available on http://:8080:
For development/testing purposes you can use ngrok:
ngrok http 8080
and copy the URL it gives for you to the example parameters for SLACK_REDIRECT_HOST.
Example testing with ngrok:
SLACK_CLIENT_ID=<your-client-id> \
SLACK_CLIENT_SECRET=<your-client-secret> \
SLACK_BOT_SCOPE=app_mentions:read,incoming-webhook \
SLACK_REDIRECT_HOST=https://<your-ngrok-url>.ngrok.io \
SLACK_SIGNING_SECRET=<your-signing-secret> \
cargo run --example events_api_server --all-features
Dates and times in the models are exposed through the type aliases SlackUtcDateTime and
SlackCivilDate, which are backed by jiff
(jiff::Timestamp and jiff::civil::Date).
The deprecated obsolete-chrono feature switches both aliases back to the chrono types used
before (chrono::DateTime<chrono::Utc> and chrono::NaiveDate) for an easier migration.
Note that this feature is not additive: enabling it anywhere in a dependency graph changes the
types for every crate in that graph, so it is intended as a temporary migration aid only.
Apache Software License (ASL)
Abdulla Abdurakhmanov
with the great help of contributors, particularly:
and many others
(top 30 of 54)
Rust
100.0%