Slackcat is a simple commandline utility to post snippets to Slack.
Download the latest release for your platform:
brew install slackcat
or
curl -Lo slackcat https://github.com/vektorlab/slackcat/releases/download/v1.0/slackcat-1.0-darwin-amd64
sudo mv slackcat /usr/local/bin/
sudo chmod +x /usr/local/bin/slackcat
wget https://github.com/vektorlab/slackcat/releases/download/v1.0/slackcat-1.0-linux-amd64 -O slackcat
sudo mv slackcat /usr/local/bin/
sudo chmod +x /usr/local/bin/slackcat
Generate a new Slack token with:
slackcat --configure
A new browser window will be opened for you to confirm the request via Slack, and you'll be returned a token.
Create a Slackcat config file and you're ready to go!
echo '<your-slack-token>' > ~/.slackcat
For configuring multiple teams and default channels, see Configuration Guide.
Pipe command output as a text snippet:
$ echo -e "hi\nthere" | slackcat --channel general --filename hello
*slackcat* file hello uploaded to general
Post an existing file:
$ slackcat --channel general /home/user/bot.png
*slackcat* file bot.png uploaded to general
Stream input continously as a formatted message:
$ tail -F -n0 /path/to/log | slackcat --channel general --stream
*slackcat* posted 5 message lines to general
*slackcat* posted 2 message lines to general
...
Option | Description |
---|---|
--tee, -t | Print stdin to screen before posting |
--stream, -s | Stream messages to Slack continuously instead of uploading a single snippet |
--plain, -p | When streaming, write messages as plain text instead of code blocks |
--noop | Skip posting file to Slack. Useful for testing |
--configure | Configure Slackcat via oauth |
--channel, -c | Slack channel, group, or user to post to |
--filename, -n | Filename for upload. Defaults to given filename or current timestamp if reading from stdin |
--filetype | Specify filetype for synax highlighting. Defaults to autodetect |
--comment | Initial comment for snippet |