All Projects → netromdk → slacker

netromdk / slacker

Licence: MIT license
Slacker - Easy access to the Slack API and admin of workspaces/teams.

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to slacker

slack widgets
An abstraction of the JSON structure needed to create widgets in Slack message attachments
Stars: ✭ 14 (+0%)
Mutual labels:  slack-team, slack-commands
slacking
Modern Slack C++ 11 library for communicating with the Web Slack API
Stars: ✭ 58 (+314.29%)
Mutual labels:  slack-api
PocketMode
Prevent accidential touches on your Android smartphone
Stars: ✭ 29 (+107.14%)
Mutual labels:  utility-application
deslackify
A program to delete old slack messages.
Stars: ✭ 19 (+35.71%)
Mutual labels:  slack-api
gorilla-repl
A fork of Jony Epsilon's rich REPL for Clojure in the notebook style.
Stars: ✭ 22 (+57.14%)
Mutual labels:  repl
charm
A [ functional stack ] based language.
Stars: ✭ 26 (+85.71%)
Mutual labels:  repl
template-actionable-notifications
Sample Slack app to illustrate how incoming webhooks and interactive messages can be used to build a helpdesk integration
Stars: ✭ 31 (+121.43%)
Mutual labels:  slack-api
WinDev-Utility
A utility for windows developers
Stars: ✭ 17 (+21.43%)
Mutual labels:  utility-application
maverick
Web IDE and REPL for the Ink programming language, written in pure Ink on a self-hosted compiler toolchain
Stars: ✭ 26 (+85.71%)
Mutual labels:  repl
igcc
Interactive GCC - C/C++ REPL.
Stars: ✭ 38 (+171.43%)
Mutual labels:  repl
go-notebook
Go-Notebook is inspired by Jupyter Project (link) in order to document Golang code.
Stars: ✭ 33 (+135.71%)
Mutual labels:  repl
blac
bitFlyer Lightning API Console
Stars: ✭ 16 (+14.29%)
Mutual labels:  repl
bspl
Bit-Shift-Print Loop
Stars: ✭ 17 (+21.43%)
Mutual labels:  repl
node-tasks-app
Tasks App is a sample Task Management app built on the Slack Platform.
Stars: ✭ 59 (+321.43%)
Mutual labels:  slack-api
slack-ruby-block-kit
A ruby wrapper for Slack's Block Kit
Stars: ✭ 50 (+257.14%)
Mutual labels:  slack-api
crosis
A JavaScript client that speaks Replit's container protocol
Stars: ✭ 85 (+507.14%)
Mutual labels:  repl
moleculer-repl
REPL module for Moleculer framework
Stars: ✭ 24 (+71.43%)
Mutual labels:  repl
V-A-P-O-R-W-A-V-E
🏄 ALL ABOUT THAT AESTHETIC
Stars: ✭ 22 (+57.14%)
Mutual labels:  slack-commands
csharp
Run c# code from the command line, like python or javascript
Stars: ✭ 22 (+57.14%)
Mutual labels:  repl
ipld-explorer-cli
🔎 Explore the IPLD directed acyclic graph with your keyboard
Stars: ✭ 22 (+57.14%)
Mutual labels:  repl

Build Status

slacker

Slacker is a tool designed to make it easier to do admin tasks and general utility for several workspaces (teams). It supports a REPL for inputting and evaluating commands, along with a CLI for running a single command.

demo

Table of Contents

First Run

The first invocation of Slacker requires to setup a workspace using the --init argument:

% ./slacker.py --init
Input workspace token: ****************************************************************************
Added new workspace 'myworkspace' to config and made it active.
You can now run slacker normally.
myworkspace>

Slacker is ready for use afterwards with "myworkspace" as the active workspace. Note that it is recommended to employ a user token, not a bot token!

Tokens can be created here. Never share these tokens!

Commands

Displaying available commands:
  api.test            Checks that the Slack API is online.
  auth.test           Checks authentication and describes user identity.
  channels.list       Displays info about channels on Slack.
  chat.memessage      Post a me message to a channel on Slack.
  chat.postephemeral  Post ephemeral message to a channel on Slack that is only visible to assigned user.
  chat.postmessage    Post message to a channel on Slack.
  config              Shows current config state.
  emoji.list          Lists custom emojis in workspace
  exit                Exits Slacker.
  files.delete        Delete files uploaded to and stored on Slack.
  files.list          Displays info about files on Slack.
  help                Displays general help.
  log                 Displays current log level.
  users.list          Displays info about users on Slack.
  workspace           Displays predefined workspaces and which one is active.

CLI Usage

usage: slacker.py [options] [-- command [args..]]

Useful Slack utilities and REPL.

optional arguments:
  -h, --help     show this help message and exit
  -V, --version  show program's version number and exit
  -v, --verbose  Sets the log level to DEBUG for this session.
  -q, --quiet    Disable stdout logging
  --init         Interactively initialize config and add workspace and API
                 token.
  --check        Checks that all commands are valid.
  --no-tests     Do not do API and auth tests at startup.

Most commands support -h|--help to see how they work. By passing '--', it
signals that Slacker arguments end and a single command and arguments begin.
Slacker will exit after running that command.

Development Environment

Slacker is written in Python 3 and the required modules to be installed can be found in requirements.txt.

To setup a virtual development environment that doesn't pollute the general system it is expected that virtualenv for Python 3+ is installed.

Run make setup to install required modules to ".venv" in the root of the repository, and issue source .venv/bin/activate to activate the environment. From here, the python, python3, pip etc. will map to ".venv" and the modules installed into it.

Docker

A Dockerfile is provided to quickly get up an running with Slacker. To build the Docker image it is recommended to use the docker target in the Makefile make docker, which creates image slacker:local. Start the slacker container by executing docker_run.sh. By default the script will drop you into the REPL, but slacker commands can be given directly to the script.

% ./docker_run.sh -- files.list -c 10

Note: slacker writes a configuration file to disk (~/.slacker). In order to keep the configuration file between subsequent runs the local volume mount in the container is required.

Contributing

See CONTRIBUTING.md.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].