Skip to content
This repository was archived by the owner on Oct 18, 2023. It is now read-only.

busbud/stairs

Folders and files

NameName
Last commit message
Last commit date
Jun 26, 2018
Jun 27, 2018
May 5, 2016
May 4, 2016
May 4, 2016
Jun 27, 2018
Dec 7, 2018
Sep 10, 2018
Dec 7, 2018
Dec 7, 2018
Jun 28, 2018
Jun 28, 2018
Dec 7, 2018

Repository files navigation

Busbud's bot for all things fitness, including stair climbing and bike riding achievements.

Usage

With stdbot (Flowdock example)

npm install --save busbud/stairs stdbot stdbot-flowdock
const FitnessBot = require('@busbud/stairs')
const Stdbot = require('stdbot')
const Flowdock = require('stdbot-flowdock')

FitnessBot({
  floors: process.env.STAIRS_FLOORS,
  floorHeight: process.env.STAIRS_FLOOR_HEIGHT,
  botName: process.env.FITNESS_BOT_NAME,
  db: process.env.DATABASE_URL,
  adapter: Stdbot(Flowdock({
    flows: process.env.FLOWDOCK_FLOWS.split(','),
    token: process.env.FLOWDOCK_TOKEN
  }))
})

With Hubot

npm install --save busbud/stairs

Add a scripts/fitness.js like:

const FitnessBot = require('@busbud/stairs')

const room = process.env.HUBOT_FITNESS_ROOM
const isRoom = room ? message => message.room === room : message => true

const fitnessBot = FitnessBot({
  floors: process.env.HUBOT_STAIRS_FLOORS,
  db: process.env.HUBOT_FITNESS_DB
})

module.exports = robot => {
  robot.listen(isRoom, res => {
    fitnessBot.onMessage({
      author: {
        id: res.message.user.id,
        name: res.message.user.name
      },
      text: res.message.text,
      thread: res.message.metadata && res.message.metadata.thread_id,
      send: res.send.bind(res),
      reply: res.reply.bind(res)
    })
  })
}