2022-03-17 21:11:26 +00:00
|
|
|
# slack-status-cli
|
2022-03-18 00:36:44 +00:00
|
|
|
:sparkle: Tooling to set your Slack status on the fly without having to click around
|
|
|
|
|
|
|
|
[![CICD](https://github.com/mcataford/slack-status-cli/actions/workflows/main.yml/badge.svg)](https://github.com/mcataford/slack-status-cli/actions/workflows/main.yml)
|
|
|
|
[![codecov](https://codecov.io/gh/mcataford/slack-status-cli/branch/main/graph/badge.svg?token=10VP1ZDBHR)](https://codecov.io/gh/mcataford/slack-status-cli)
|
|
|
|
[![python-support](https://img.shields.io/badge/python-%5E3.7-brightgreen)]()
|
2022-03-18 00:48:42 +00:00
|
|
|
[![latest-release](https://img.shields.io/github/v/release/mcataford/slack-status-cli?include_prereleases&label=latest%20release&sort=semver)]()
|
2022-03-18 00:36:44 +00:00
|
|
|
|
|
|
|
## Overview
|
|
|
|
|
|
|
|
Clicking around Slack to update statuses is not only annoying, but if you use statuses as part of your remote workflow
|
|
|
|
to broadcast what you are up to when jumping into new things, you quickly find yourself spending minutes of you day
|
|
|
|
clicking around and setting the same statuses over and over again since the UI isn't great at remembering them.
|
|
|
|
|
|
|
|
Enter `slack-status-cli`. With it, you can set statuses (with or without expiration dates) without leaving the terminal.
|
|
|
|
More importantly, you can also set presets and defaults to save time on statuses you reuse all the time.
|
|
|
|
|
|
|
|
## Configuration
|
|
|
|
|
|
|
|
You can use `slack-status-cli` without a configuration file and provide everything via arguments (see `slack-status-cli
|
|
|
|
-h` for the list of flags you can pass in), or set up a file under `~/.config/slack-status-cli` that follows the format:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"presets": {
|
|
|
|
"pairing": { "text": "Pairing", "icon": ":pear:" }
|
|
|
|
},
|
|
|
|
"defaults": { "duration": "1h", "icon": ":calendar:" }
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
`presets` allows you to set up a map of labels (used to select the preset) to values (defining the status text, icon and
|
|
|
|
duration), `defaults` allows you to set up sane defaults used in all statuses if the specified fields are not provided
|
|
|
|
(in the above, all statuses would have a duration of one hour if not specified, and a default :calendar: icon -- presets
|
|
|
|
and/or CLI args will override these defaults if given).
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
You can clone this repository and build from source. This project uses `poetry`, as such `poetry build` will prepare a
|
2022-03-18 00:48:42 +00:00
|
|
|
Wheel that you can install directly. Build artifacts for released versions are also available under
|
|
|
|
[releases](https://github.com/mcataford/slack-status-cli/releases).
|