47 releases (breaking)
0.41.0 | Jul 16, 2022 |
---|---|
0.39.0 | Jul 1, 2022 |
0.32.0 | Mar 12, 2022 |
0.22.0 | Dec 30, 2021 |
0.7.3 | Mar 13, 2021 |
#40 in #slack
134 downloads per month
560KB
14K
SLoC
Slack Morphism for Rust
Slack Morphism is a modern client library for Slack Web/Events API/Socket Mode and Block Kit.
Documentation
Please follow to the official website: https://slack-rust.abdolence.dev.
Examples
https://github.com/abdolence/slack-morphism-rust/tree/master/src/hyper/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_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 example
To run example use with environment variables:
# SLACK_... cargo run --example <client|events_api_server|socket_mode>
Routes for this example are available on http://:8080:
- /auth/install - to begin OAuth installation
- /auth/callback - a callback endpoint for Slack OAuth profile config
- /push - for Slack Push Events
- /interaction - for Slack Interaction Events
- /command - for Slack Command Events
Testing with ngrok
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
Licence
Apache Software License (ASL)
Author
Abdulla Abdurakhmanov
Dependencies
~19–32MB
~578K SLoC