Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
49 lines (40 sloc) 1.24 KB
# Description:
# Get directions between two locations
#
# Dependencies:
# None
#
# Configuration:
# None
#
# Commands:
# hubot get directions "<origin>" "<destination>" -- Shows directions between these locations
#
# Author:
# sleekslush
parse_directions = (body) ->
directions = JSON.parse body
first_route = directions.routes[0]
if not first_route
return "Sorry, boss. Couldn't find directions"
final_directions = []
for leg in first_route.legs
do (leg) ->
final_directions.push "From: " + leg.start_address
final_directions.push "To: " + leg.end_address
for step in leg.steps
do (step) ->
instructions = step.html_instructions.replace /<[^>]+>/g, ''
final_directions.push instructions + " (#{step.distance.text})"
return final_directions.join("\n")
module.exports = (robot) ->
robot.respond /(get )?directions "((?:[^\\"]+|\\.)*)" "((?:[^\\"]+|\\.)*)"$/i, (msg) ->
[origin, destination] = msg.match[2..3]
msg
.http("http://maps.googleapis.com/maps/api/directions/json")
.query
origin: origin,
destination: destination,
sensor: false
.get() (err, res, body) ->
msg.send parse_directions body
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.