• Stars
    star
    1,218
  • Rank 38,490 (Top 0.8 %)
  • Language
    Go
  • License
    MIT License
  • Created almost 9 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

CLI utility to post files and command output to slack

slackcat

Slackcat is a simple commandline utility to post snippets to Slack.

slackcat

Installing

Download the latest release for your platform:

curl -Lo slackcat https://github.com/bcicen/slackcat/releases/download/1.7.2/slackcat-1.7.2-$(uname -s)-amd64
sudo mv slackcat /usr/local/bin/
sudo chmod +x /usr/local/bin/slackcat

slackcat is also available via homebrew:

brew install slackcat

Building

To optionally build slackcat from source, ensure you have dep installed and run:

go get github.com/bcicen/slackcat && \
cd $GOPATH/src/github.com/bcicen/slackcat && \
make build

You must use GNU make for the build to work correctly. If your platform does not install GNU make as make (i.e. OpenBSD) then you will need to install gmake and run:

go get github.com/bcicen/slackcat && \
cd $GOPATH/src/github.com/bcicen/slackcat && \
gmake build

Configuration

Generate an initial config, or add a new team token with:

slackcat --configure

You'll be prompted for a team nickname and a new browser window will be opened for you to confirm the request via Slack. Provide the returned token to slackcat when prompted, and you're ready to go!

For configuring multiple teams and default channels, see Configuration Guide.

Usage

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 continuously:

$ tail -F -n0 /path/to/log | slackcat --channel general --stream
*slackcat* posted 5 message lines to general
*slackcat* posted 2 message lines to general
...

Options

Option Description
--tee, -t Print stdin to screen before posting
--stream, -s Stream messages to Slack continuously instead of uploading a single snippet
--noop Skip posting file to Slack. Useful for testing
--configure Configure Slackcat via oauth
--iconemoji, -i Specify emoji icon for message (e.g. "👍")
--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 syntax highlighting. Defaults to autodetect
--comment Initial comment for snippet
--username Stream messages as given bot user. Defaults to auth user
--thread Stream messages to thread after initial comment message

More Repositories

1

ctop

Top-like interface for container metrics
Go
15,543
star
2

grmon

Command line monitoring for goroutines
Go
1,897
star
3

jstream

Streaming JSON parser for Go
Go
561
star
4

wikitables

Import tables from any Wikipedia article as a dataset in Python
Python
290
star
5

docker-replay

Generate docker commands to rerun existing containers
Python
197
star
6

go-haproxy

Go library for interacting with HAProxy via command socket
Go
124
star
7

slack-progress

A realtime progress bar for Slack
Python
99
star
8

vim-vice

Dark and vibrant colorscheme for vim
Vim Script
95
star
9

tinycron

A very small replacement for cron
Go
84
star
10

go-units

Go library for converting between various units of measurement
Go
81
star
11

tcolors

Commandline color picker and palette builder
Go
51
star
12

xiny

Simple command line tool for unit conversions
Go
42
star
13

statsquid

🐳 Multi-host container stat aggregator and shipper for Docker
Python
36
star
14

haproxy-stats

haproxy-stats is a small Python library for fetching and parsing stats
Python
30
star
15

termui

Golang terminal dashboard (fork of gizak/termui)
Go
16
star
16

vim-jfmt

Automatically pretty-print and indent JSON files
Vim Script
13
star
17

vimcommands

Website for vimcommands.com
HTML
11
star
18

devpi-tools

Small Python library for interacting with devpi servers via web API
Python
10
star
19

somacli

🎵 Commandline SomaFM internet radio player
Shell
9
star
20

acrophone

Easily convert text to phonetic spelling
Go
8
star
21

cliglobe

A simple spinning commandline globe with gradient colors
Go
6
star
22

dsplice

Docker image merge tool
Python
6
star
23

bfstree

Go package providing breadth-first search functions for arbitrary structs
Go
5
star
24

docker-port-scan

Docker image build providing regular port scan reports via a web interface
Shell
5
star
25

color

Color package for Go
Go
5
star
26

uptime

Uptime is a concurrent, distributed URL checker
Python
4
star
27

slackn

Batch Nagios notifications for Slack
Python
3
star
28

haproxy-top

CLI tool for viewing real-time HAProxy metrics across multiple instances
Python
3
star
29

etcd-discovery

Simple container for running your own local etcd discovery service like https://discovery.etcd.io
Shell
3
star
30

dddnsupdate

dddnsupdate is a small CLI utility to dynamically nsupdate a bind server with discovered docker names and IPs
Python
2
star
31

tagshell

Execute ssh commands to multiple hosts in parallel based on arbitary tags
Python
2
star
32

tzdata

Embedded timezone database for Go
Go
2
star
33

dockertop

A top-like monitor for Docker containers written in Python
Python
2
star
34

multicrane

Multicrane - Superbly simple multi-host Docker orchestration via Crane
Python
2
star
35

haproxyview

Simple web interface for aggregating and displaying HAproxy servers and stats.
HTML
1
star
36

redis-scraper

Dump all lists in redis to flat files
Python
1
star
37

gem2deb

docker container to fetch a gem and build it as a deb package.
Shell
1
star
38

safertar

A safer way to extract tar archives using fakeroot and chroot
Shell
1
star
39

dockerfile-npm-lazy

npm_lazy caching npm registry layer in docker container
JavaScript
1
star
40

py2deb

Docker image to build a deb from Python package
Shell
1
star