Add README/documentation

This commit is contained in:
Basti 2018-04-22 13:14:20 +02:00
parent b852bd24af
commit 417eb42905
2 changed files with 56 additions and 15 deletions

56
README.md Normal file
View File

@ -0,0 +1,56 @@
# hubot-kredits
This repository provides scripts for integrating Kosmos Kredits in
[Hubot](http://hubot.github.com/) chatbots. The bot will watch for
project-related things happening on the Internet and automatically create
proposals for issuing Kredits for project contributions.
## Configuration
As usual in Hubot, you can add all config as environment variables.
| Key | Description |
| --- | --- |
| `KREDITS_WEBHOOK_TOKEN` | A string for building your secret webhook URLs |
| `KREDITS_ROOM` | The bot will talk to you in this room |
| `KREDITS_WALLET_PATH` | Path to an Etherum wallet JSON file |
| `KREDITS_WALLET_PASSWORD` | Wallet password |
| `KREDITS_PROVIDER_URL` | Ethereum JSON-RPC URL (default `http://localhost:7545`) |
| `KREDITS_NETWORK_ID` | The ethereum network ID to use (default 100 = local) |
## Integrations
### GitHub
The GitHub integration will watch for closed issues and merged pull requests,
which carry a kredits label: `kredits-1`, `kredits-2`, `kredits-3` for small,
medium and large contributions. If there are multiple people assigned, it will
issue propsals for all of them.
#### Setup
Point a GitHub organization webhook to the following URL:
https://your-hubot.example.com/incoming/kredits/github/{webhook_token}
#### Config
| Key | Description |
| --- | --- |
| `KREDITS_GITHUB_REPO_BLACKLIST` | Repos which you do not want to issue kredits for. Format: `orgname/reponame`, e.g. `67P/test-one-two` |
### MediaWiki
The MediaWiki integration will periodically check for wiki page creations and
edits. It will create kredits proposals based on amount of text added.
#### Setup
No setup needed, except for configuring the wiki URL. The bot will poll your
wiki's API on its own.
#### Config
| Key | Description |
| --- | --- |
| `KREDITS_MEDIAWIKI_URL` | Your wiki URL, e.g. `https://wiki.kosmos.org/` |

View File

@ -1,18 +1,3 @@
// Description:
// Kosmos Kredits chat integration
//
// Configuration:
// KREDITS_WEBHOOK_TOKEN: A string for building your secret webhook URL
// KREDITS_ROOM: Kredit Proposals are posted to this chatroom
// KREDITS_WALLET_PATH: Path to a etherum wallet JSON file
// KREDITS_WALLET_PASSWORD: Wallet password
// KREDITS_PROVIDER_URL: Ethereum JSON-RPC URL (default 'http://localhost:7545')
// KREDITS_NETWORK_ID: The ethereum network ID to use (default 100 = local)
// IPFS_API_HOST: Host/domain (default 'localhost')
// IPFS_API_PORT: Port number (default '5001')
// IPFS_API_PROTOCOL: Protocol, e.g. 'http' or 'https' (default 'http')
//
const fs = require('fs');
const util = require('util');
const fetch = require('node-fetch');