GitXplorerGitXplorer
s

tipsbot

public
1 stars
0 forks
0 issues

Commits

List of commits on branch master.
Unverified
64e01e3edf8563841a86dea980cd6367d61ef838

1.11.0

ssimon-johansson committed 9 years ago
Unverified
1f6aa54e2025e93d23196fee1d3a65869708bcdf

Add latest fix to build

ssimon-johansson committed 9 years ago
Unverified
310bcf8d3e46f6643abd1a552b72ab0703fc689e

Fix to default cron time test

ssimon-johansson committed 9 years ago
Unverified
327a3e9edc2d44fc6e5dc6dfbab2f783efac471e

Fix to default cron time

ssimon-johansson committed 9 years ago
Unverified
7d18d2dbdfa66d3b90ed10760e0c4033fe403c81

Add npm script for deployment

ssimon-johansson committed 9 years ago
Unverified
a6f7869a269d8d4af9be862a3da4f1d209d324cb

Additions to the README

ssimon-johansson committed 9 years ago

README

The README file for this repository.

tipsbot

A Slack bot that gives you daily tips

semantic-release

Travis

dependencies devDependencies

Tipsbot comes preconfigured with tips from Pragmatic Programmer (great book, you should read it!) but allows you to supply your own tips if you so wish.

Installation

$ npm install -g tipsbot

Running Tipsbot

To run the Tipsbot you must have an API token to authenticate the bot on your slack channel. Once you get it you just have to run:

BOT_API_KEY=somesecretkey tipsbot

Configuration

The Tipsbot is configurable through environment variables. There are several variable available:

Environment variable Description
BOT_API_KEY (required) The API token needed by the bot to connect to your Slack organization
BOT_FILE_PATH (optional) Variable that allows you to use a different tips dataset, defaults to tips from the Pragmatic Programmer
BOT_NAME (optional) The name of your bot, defaults to 'Tipsbot'
BOT_CHANNEL (optional) The Slack-channel Tipsbot will post to, defaults to 'general'
BOT_START_INDEX (optional) The index for the first tips from the dataset, defaults to 0
BOT_SCHEDULE (optional) Cron string that specifies when to post tips, defaults to 0 9 * * 1,2,3,4,5 which is 09:00 on mon-fri
BOT_ICON_URL (optional) URL to an image that will be used for the bot's avatar, defaults to ''

Launching the bot from source

If you downloaded the source code of the bot you can run it using NPM with:

$ npm start

Don't forget to set your BOT_API_KEY environment variable before doing so. Alternatively you can also create a file called token.js in the root folder and put your token there (you can use the token.js.sample file as a reference).

Using Tipsbot programmatically

var tipsbot = require('tipsbot')

var bot = tipsbot.create({
    token: <STRING>,
    name: <STRING>,
    filePath: <STRING>,
    channel: <STRING>,
    schedule: <STRING>,
    startIndex: <NUMBER>,
    iconURL: <STRING>,
});

bot.run();

The options object supplied to the create method will override environment variables.

Format of JSON dataset

If you supply your own JSON file with tips then make sure if follows this structure:

[
    {
        heading: '<STRING>',
        details: '<STRING>'
    },
    ...
]

Deploy

Uses semantic-release to help with the versioning and deployment to npm. To deploy new versions to npm, to the following:

$ git add <FILES TO STAGE>
$ npm run commit #will run tests locally, if they pass semantic-release will start interactive commit process
$ git push #will run tests tests on Travis-CI, if they pass semantic-release will deploy a new version to npm

Shout out

A lot about Tipsbot have been stolen shamelessly from Luciano Mamminos awesome NorrisBot

License

Licensed under MIT License. © Simon Johansson.