Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/accomplishes/core
🌟 Slack achievement and reward tracking for your team and its members
https://github.com/accomplishes/core
achievements nodejs rewards slack
Last synced: 6 days ago
JSON representation
🌟 Slack achievement and reward tracking for your team and its members
- Host: GitHub
- URL: https://github.com/accomplishes/core
- Owner: accomplishes
- License: mit
- Created: 2017-09-18T22:02:26.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-09-20T02:02:38.000Z (over 7 years ago)
- Last Synced: 2024-09-23T09:21:46.236Z (4 months ago)
- Topics: achievements, nodejs, rewards, slack
- Language: JavaScript
- Size: 85.9 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# accomplish [![NPM version](https://badge.fury.io/js/accomplish.svg)](https://npmjs.org/package/accomplish)
🌟 Slack achievement and reward tracking for your team and its members
## Prerequisites
Before getting started you will need to have [nodejs](https://nodejs.org/en/) *(>=6)* & [npm](https://github.com/npm/npm). You will also need to get a [Slack API](https://api.slack.com/custom-integrations/legacy-tokens) key for your team.> **Why a legacy token?** These allow you to interact with the Slack Realtime API with the required permissions to correctly track events.
## Installation
```sh
$ npm i -g accomplish
```> **Note:** On first run a .env file, data directory and config files will be created, as well as downloading the required emoji data and then closing. Please add your Slack/Pushover keys to the .env file before running again.
## Usage
**accomplish** is fire-and-forget - designed to sit and quietly do its thing, and as such once configured and run there isn't any further input from the user.```sh
$ accomplish
```Once run, the tool will run *setup*, *get team users* before moving on to waiting for incoming events from Slack.
> **Note:** You can add either a `-v` or `--verbose` flag to the command to get more detailed information.
## Configuration
There are two types of configuration files located in the `data` directory in the root of this project - `achievements/*.json` and `blacklist.json`. Additionally another directory, `storage` will be created called which contains the achievement progress of team members.### achievements/*.json
> Documentation coming soon### blacklist.json
Blacklist contains a list of `ids` or `usernames` you would like to be immune run this list against; some poeple may not want to be included. Any time a trigger is about to be run the incoming data is validated and one of the checks will be to ensure the user is not `restricted` or on the `blacklist`.``` json
[
"jholdroyd",
"U32N242K3"
]
```## Built With
* [Grunt](https://github.com/gruntjs/grunt) - Task runner
* [Slack](https://github.com/smallwins/slack) - Third-party Slack client
* [Chalk](https://github.com/chalk/chalk) - Terminal output formatting
* [Winston](https://github.com/winstonjs/winston) - Logging## Contributing
Please read [CONTRIBUTING.md](https://github.com/accomplishes/core/blob/master/CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.
## Versioning
We use [semver](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/accomplishes/core/tags).
## Authors
* **Jamie Holdroyd** - [Moltin](https://moltin.com)
See also the list of [contributors](https://github.com/accomplishes/core/contributors) who participated in this project.
## License
This project is licensed under the MIT License - see the [LICENSE.md](https://github.com/accomplishes/core/blob/master/LICENSE.md) file for details