Pipe text to HipChat
Pipe things to HipChat from the command-line!
Inspired by Slackcat!
pip3 install hipcat
Go to https://www.hipchat.com/account/api and create a new token. It only needs the ‘Send Message’ scope, but this may change in future.
Create a file at ~/.hipcat.ini that looks a bit like this:
[hipchat] access_token = <put-your-token here>
You can get help by running hipcat --help, but the basics look like this:
# Pipe output from one command to HipChat: echo 'This is my message' | hipcat 'Room Name'
If you don’t want to pass the message via a pipe, you can instead provide it as a parameter:
# Run a long running command and then notify on HipChat my-long-task && hipcat 'Notifications' -m "The long-running task is done"
If the text you are sending to HipChat is formatted, use the -q flag to prefix with /quote, and if it should be syntax-highlighted code, use the -c flag to prefix with /code.
You can send a direct message by using the ‘mention name’ of a user instead of a room name:
```bash echo “You are great” | hipcat ‘@FriendlyDave’
The message you are sending may also be treated as a room notification via the --notification flag. The following additional options and flags are then recognized by hipcat:
- --color to specify background color for the message. Valid values: yellow, green, red, purple, gray, random. Defaults to yellow.
- --sender to specify a label to be shown in addition to the sender’s name. Defaults to hipcat if --notify (see below) is specified as well.
- --notify to ensure this message triggers a user notification.
# Send a message "Message" with a purple background, from "BOT" and with a # user notification: hipcat 'Notifications' --notification --notify -m "Message" --color=purple --sender="BOT"
Contributing to hipcat
You want to contribute? Love you!
There’s some stuff you should know:
- Please don’t backport it to Python 2. Yes, I know it’s easy. We should all be writing Python 3 now.
- Please treat other contributors and commenters with respect.
- Please ensure that any changes follow PEP-8.
- When I add tests (there aren’t any yet!) I plan to use py.test. If you want to help by addind tests, let’s talk about it first.
- Add a flag to send the output to HipChat line-by-line rather than at the end.
- Allow message posting to individuals as well as rooms.
- Allow uploading content as a file rather than inline text.
- Err… post a GitHub issue if you want to see a new feature, and we’ll talk!
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.