{"id":14128657,"url":"https://github.com/netromdk/slacker","last_synced_at":"2025-10-09T09:21:40.030Z","repository":{"id":75034324,"uuid":"118806258","full_name":"netromdk/slacker","owner":"netromdk","description":"Slacker - Easy access to the Slack API and admin of workspaces/teams.","archived":false,"fork":false,"pushed_at":"2019-04-23T18:10:19.000Z","size":633,"stargazers_count":14,"open_issues_count":7,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-09T17:05:41.974Z","etag":null,"topics":["python","python3","repl","slack","slack-api","slack-client","slack-commands","slack-team","tool","utility-application"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/netromdk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2018-01-24T18:38:47.000Z","updated_at":"2021-12-15T09:39:56.000Z","dependencies_parsed_at":"2023-10-23T10:45:35.800Z","dependency_job_id":null,"html_url":"https://github.com/netromdk/slacker","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/netromdk/slacker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netromdk%2Fslacker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netromdk%2Fslacker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netromdk%2Fslacker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netromdk%2Fslacker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/netromdk","download_url":"https://codeload.github.com/netromdk/slacker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netromdk%2Fslacker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269366877,"owners_count":24405255,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-08T02:00:09.200Z","response_time":72,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","python3","repl","slack","slack-api","slack-client","slack-commands","slack-team","tool","utility-application"],"created_at":"2024-08-15T16:02:00.484Z","updated_at":"2025-10-09T09:21:35.011Z","avatar_url":"https://github.com/netromdk.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/netromdk/slacker.svg?branch=master)](https://travis-ci.org/netromdk/slacker)\n\n# slacker\nSlacker 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.\n\n![demo](gfx/demo.gif)\n\n# Table of Contents\n* [First Run](#first-run)\n* [Commands](#commands)\n* [CLI Usage](#cli-usage)\n* [Development Environment](#development-environment)\n* [Contributing](#contributing)\n\n# First Run\nThe first invocation of Slacker requires to setup a workspace using the `--init` argument:\n```\n% ./slacker.py --init\nInput workspace token: ****************************************************************************\nAdded new workspace 'myworkspace' to config and made it active.\nYou can now run slacker normally.\nmyworkspace\u003e\n```\n\nSlacker 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!_\n\nTokens can be created [here](https://api.slack.com/custom-integrations/legacy-tokens). _Never share these tokens!_\n\n# Commands\n```\nDisplaying available commands:\n  api.test            Checks that the Slack API is online.\n  auth.test           Checks authentication and describes user identity.\n  channels.list       Displays info about channels on Slack.\n  chat.memessage      Post a me message to a channel on Slack.\n  chat.postephemeral  Post ephemeral message to a channel on Slack that is only visible to assigned user.\n  chat.postmessage    Post message to a channel on Slack.\n  config              Shows current config state.\n  emoji.list          Lists custom emojis in workspace\n  exit                Exits Slacker.\n  files.delete        Delete files uploaded to and stored on Slack.\n  files.list          Displays info about files on Slack.\n  help                Displays general help.\n  log                 Displays current log level.\n  users.list          Displays info about users on Slack.\n  workspace           Displays predefined workspaces and which one is active.\n```\n\n# CLI Usage\n```\nusage: slacker.py [options] [-- command [args..]]\n\nUseful Slack utilities and REPL.\n\noptional arguments:\n  -h, --help     show this help message and exit\n  -V, --version  show program's version number and exit\n  -v, --verbose  Sets the log level to DEBUG for this session.\n  -q, --quiet    Disable stdout logging\n  --init         Interactively initialize config and add workspace and API\n                 token.\n  --check        Checks that all commands are valid.\n  --no-tests     Do not do API and auth tests at startup.\n\nMost commands support -h|--help to see how they work. By passing '--', it\nsignals that Slacker arguments end and a single command and arguments begin.\nSlacker will exit after running that command.\n```\n\n# Development Environment\nSlacker is written in [Python 3](https://www.python.org/) and the required modules to be installed can be found in [requirements.txt](requirements.txt).\n\nTo setup a virtual development environment that doesn't pollute the general system it is expected that [virtualenv](https://virtualenv.pypa.io/en/stable/) for Python 3+ is installed.\n\nRun `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.\n\n# Docker\nA 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.\n\n```\n% ./docker_run.sh -- files.list -c 10\n```\n\n\u003e **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.\n\n# Contributing\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetromdk%2Fslacker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetromdk%2Fslacker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetromdk%2Fslacker/lists"}