slacknimate
Realtime text animation for Slack messages
π―
Primary use case: ChatOps
Alternative uses
While slacknimate is primarily intended for ChatOps, it has become popular for... other use cases.
...Such as comedy:
...Or maybe art:
Installation
Simply download a binary for your OS/architecture from the Releases
Page and put it somewhere on
your $PATH
.
Homebrew users, you can also just brew install slacknimate
.
Authentication
Generate your Slack app and generate an API token. Note that the app will need appropriate OAuth scopes to post messages to your desired destination.
You'll need to either pass it to the program via the --api-token
flag or store
it as SLACK_TOKEN
environment variable.
Usage
NAME:
slacknimate - text animation for Slack messages
USAGE:
slacknimate [options]
VERSION:
1.1.0-development
GLOBAL OPTIONS:
--token value, -a value Slack API token* [$SLACK_TOKEN]
--channel value, -c value Slack channel* [$SLACK_CHANNEL]
--username value Slack username [$SLACK_USERNAME]
--icon-url value Slack icon from url [$SLACK_ICON_URL]
--icon-emoji value Slack icon from emoji [$SLACK_ICON_EMOJI]
--delay value, -d value minimum delay between frames (default: 1)
--loop, -l loop content upon reaching EOF (default: false)
--preview preview on terminal only (default: false)
--help, -h show help (default: false)
--version, -v print the version (default: false)
You can also use Slacknimate directly via the Go package.
Simple animation loops
$ slacknimate -c "#general" --loop < examples/emoji.txt
Realtime process monitoring
Why spam a chatroom with periodic monitoring messages when you can have realtime status updates so that a message is never out of date?
See for example this example:
$ ./examples/process.sh 5 | slacknimate -c "#devops"
2016/02/23 19:03:14 initial frame G07AJU0SH/1456272194.000086: Processing items: 0/5
2016/02/23 19:03:15 updated frame G07AJU0SH/1456272194.000086: Processing items: 1/5
2016/02/23 19:03:16 updated frame G07AJU0SH/1456272194.000086: Processing items: 2/5
2016/02/23 19:03:17 updated frame G07AJU0SH/1456272194.000086: Processing items: 3/5
2016/02/23 19:03:18 updated frame G07AJU0SH/1456272194.000086: Processing items: 4/5
2016/02/23 19:03:19 updated frame G07AJU0SH/1456272194.000086: Processing items: 5/5
Done!
Preview in terminal
If you aren't certain about your source, you can preview what the animation
would look like in the terminal via the --preview
flag.
$ slacknimate --preview --loop -d 0.25 < examples/sample.txt