#slack #channel #send #send-message #text #attachment #block

app slack-cli

slack cli Project homepage: https://github.com/isaacadams/slack-api-client

2 releases

new 0.1.1 Dec 19, 2024
0.1.0 Dec 18, 2024

#295 in Web programming

MIT/Apache

29KB
329 lines

Slack CLI

This is a CLI tool for sending messages to Slack channels. It supports sending text messages, blocks, and attachments using the Slack API.

Installation

Make sure the SLACK_TOKEN environment variable is set with your Slack bot token.

export SLACK_TOKEN=xoxb-your-slack-bot-token

via cargo install

cargo install slack-cli
slack --help

via source

  1. Clone the repository.
  2. Install dependencies and compile the code using cargo build --release.
  3. cargo run -p slack-cli

Usage

General Command

slack <COMMAND> [OPTIONS]

Commands

slack send <message>

Send a message to a Slack channel.

Arguments
  • --channel (-c) - The Slack channel to send the message to. Accepts either the channel name (e.g., #general) or the channel ID.
  • --kind (-k) - The type of message to send. Options are:
    • text - A simple text message.
    • block - A message with block elements (provide a JSON object).
    • attachment - A message with attachments (provide a JSON object).
  • <message> - The content of the message. For block or attachment, provide a valid JSON object.
Example Usage

Send a text message:

slack send --channel general --kind text "Hello, Slack!"
slack send --channel=#general --kind text "Hello, Slack!"
slack send --channel "#general" --kind text "Hello, Slack!"

Send a block message:

slack send --channel general --kind block '[{"type": "section", "text": {"type": "mrkdwn", "text": "*Hello, Slack!*"}}]'

Send an attachment message:

slack send --channel general --kind attachment '[{"color":"#f2c744","blocks":[{"type":"section","text":{"type":"mrkdwn","text":"*Hello, Slack!*"}}]}]'

Environment Variables

  • SLACK_TOKEN: Required. The token for authenticating with the Slack API. Set this in your environment or use a .env file for local development.

Error Handling

Ensure that all required options are provided and that the SLACK_TOKEN environment variable is set. The CLI will display meaningful error messages if these requirements are not met.

Dependencies

~8–19MB
~256K SLoC