slacknimate

:dancers: Realtime text animation for Slack chatops


Keywords
slack, devops, chatops, monitoring, ascii-art, slack-api, text-animation
License
MPL-2.0
Install
brew install slacknimate

Documentation

slacknimate

text animation for Slack messages 👯

Useful for ChatOps: deployinator

...Or for comedy:

slacknimate_fine2

...Or maybe art:

slacknimate_nyan

Installation

Download a binary from the Releases Page and put it somewhere on your $PATH.

macOS Homebrew users, you can also just brew install slacknimate.

Authentication

Generate your Slack user token on this page.

You'll need to either pass it to the program via the --api-token flag or store it as SLACK_TOKEN environment variable.

If you want the message to come from a bot name/icon instead, see "Bots" section at the bottom of this README.

Usage

NAME:
   slacknimate - text animation for Slack messages

USAGE:
   slacknimate [options]

VERSION:
   1.0.0

COMMANDS:
   help, h	Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --api-token, -a      API token* [$SLACK_TOKEN]
   --delay, -d "1"      minimum delay between frames
   --channel, -c        channel/destination* [$SLACK_CHANNEL]
   --loop, -l           loop content upon reaching end
   --preview            preview on terminal instead of posting
   --help, -h           show help
   --version, -v        print the version

Simple animation loops

$ slacknimate -c "#general" --loop < examples/emoji.txt

slacknimate1

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!

slacknimate2

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

slacknimate3

Bots

In order for Slack message editing to work, the message must be posted as_user: true, which will show as coming from whomever owns the token. This is due to how the security model for Slack message editing works.

For bots, you must create a new bot in the team settings and substitute in the auth token for that bot.