#slack #cli #tangerino

bin+lib orangino

A Tangerino plugin for Slack to punch in and out from your CLI, while letting your team know right away

2 releases

0.1.1 Jun 12, 2020
0.1.0 Jun 11, 2020

#46 in #slack

34 downloads per month

MIT/Apache

195KB
366 lines

orangino logo

ORANGINO

An amazing Tangerino plugin for Slack to punch in and out from your CLI, while automatically letting your team know if you're available or not.


Orangino uses the Reqwest crate to interact with the Tangerino API, while binding with Python to benefit from the official Slack client to publish messages to the channel of your choice.

Installation

Package Managers

# Cargo
cargo install orangino

Configuration

Orangino has a configuration file that allows you to change default behaviour. The file must be named .orangino.toml. Currently, Orangino looks for this file in your home directory (/home/marcelo on Linux, /Users/Marcelo on macOs, C:\Users\Alice on Windows)

How to use Orangino

To have Tangerino punch your card, you just need to call it:

$ orangino

Development directions ▶️

You will need:

  1. A Slack app installed on your workspace with the following features and permissions:
    • Incoming webhooks
    • Bot
      • chat:write
      • incoming-webhook
      • pins:read
      • pins:write
  2. Python version 3.5 up installed.
  3. Rust's nightly version installed.
  4. A .orangino.toml file with your credentials, following the .orangino.example.toml model on your home path:
employer_code = "12345"
pin = "9876"
tangerino_basic_token = "Basic xeAxZyEwTOsPZKdlIA=="

slack_channel = "#random"
slack_api_token = "xoxp-22f3f6aa-1a75-452c-b023-5365db9409ae"
greetings_message = "Hello world!"
goodbye_message = "Goodbye world!"

  1. To install the dependencies: pip install -r requirements.txt && cargo build

You are good to go now, make changes to the app and run it: cargo run

Dependencies

~13–27MB
~415K SLoC