Giter Club home page Giter Club logo

hubot-flowdock's Introduction

A Hubot adapter for Flowdock

Flowdock is a web based collaboration and chat app. It integrates nicely with GitHub, Rally, Pivotal Tracker, Twitter, JIRA, Confluence, most CI systems and even email. Read about how to do ChatOps with Hubot.

You should report any issues or submit any pull requests to the Flowdock adapter repository.

Compatibility with Hubot

  • 0.6.x => Hubot >=2.5.0
  • 0.5.x => Hubot >=2.4.8
  • 0.4.x => Hubot 2.4.2 - 2.4.8
  • 0.3.x => Hubot 2.3.x
  • 0.2.5 => Hubot 2.2.x

Compatibility with NodeJS

  • Preferably use NodeJS 0.8.x or later

Getting Started

First, create your own hubot template by using the getting started instructions of the hubot repository.

Then you will need to edit the package.json for your hubot and add the hubot-flowdock adapter dependency.

"dependencies": {
  "hubot-flowdock": ">= 0.0.1",
  "hubot": ">= 2.0.0",
  ...
}

Then save the file, and commit the changes to your hubot's git repository.

If deploying to Heroku you will need to edit the Procfile and change the -a campfire option to -a flowdock. Or if you're deploying locally you will need to use -a flowdock when running your hubot.

Bot name

Note that by default, hubot will think its name is "Hubot" and will only respond to that name. You can configure what name hubot thinks it has, with environment variable HUBOT_NAME or with the -n flag when starting the bot. Note that you will run into problems if the name that hubot internally uses is different from the actual display name of the user that hubot uses to connect to Flowdock with. The Flowdock adapter will however try to mitigate the effects of wrong name, but you should still configure it properly.

Join flows

Note that hubot cannot join any flows on its own. You need to either log into Flowdock with the Hubot user and join some Flows, or add the bot to the desired flows using another user.

Adding / removing from flows

Hubot will automatically reconnect when you add or remove it from a flow.

Configuring the Adapter

The Flowdock adapter requires either a user's personal api token (obtainable from Flowdock account page) as environment variable

HUBOT_FLOWDOCK_API_TOKEN

or a user's email and password as environment variables:

HUBOT_FLOWDOCK_LOGIN_EMAIL
HUBOT_FLOWDOCK_LOGIN_PASSWORD

Optional configuration:

# Heroku specific: to enable the keep-alive functionality for Hubot > 2.1.4.
# More info at https://github.com/github/hubot/pull/270.
HEROKU_URL

# Bot name, optionally you can give it with `-n Name` when starting the bot
HUBOT_NAME

# By default, Hubot will not respond to (or even see) chat messages sent using
# a flow api token and external_user_name. If you are really sure this is something
# you need and realize that this allows ANYONE to send anonymous commands to
# your Hubot if they know your flow api token, you can allow them by setting
# the following env to 1.
HUBOT_FLOWDOCK_ALLOW_ANONYMOUS_COMMANDS=1

# You can ignore users (for example if you have other bots) with the following
# environment variable by giving a comma separated list of user ids.
HUBOT_FLOWDOCK_IGNORED_USERS=123,456,789

Name

Remember to set the bot's name to match the Flowdock login's display name. See "Bot name" above. You will see warnings in the logs when starting hubot if the name does not match the Flowdock login.

Flowdock Login Email

This is the email address of the account which your hubot will be using.

Flowdock Login Password

This is the password of the account which your hubot will be using. Note: if you use third party authentication (e.g. Google), you need to set a password for your account manually.

Heroku Hostname

Your Hubot instance's hostname in Heroku.

Configuring the variables on Heroku

% heroku config:add HUBOT_FLOWDOCK_LOGIN_EMAIL="..."

% heroku config:add HUBOT_FLOWDOCK_LOGIN_PASSWORD="..."

Configuring the variables on UNIX

% export HUBOT_FLOWDOCK_LOGIN_EMAIL="..."

% export HUBOT_FLOWDOCK_LOGIN_PASSWORD="..."

API

Flows

If you need to access data about flows, you can find them in robot.adapter.flows.

Comments vs. normal messages

By default hubot will always respond to the same thread that the message that caused the response was in. In scripts you can override this by setting msg.envelope.newMessage = true.

robot.messageRoom

To send a message to a particular flow, use robot.messageRoom(room, message), where room can be one of:

  • ID of the flow
  • Organization and flow joined by a slash, e.g. acme/someflow
  • Flow name

It's advised to use the proper flow id as the room parameter. However, if you use the flow name, there are guarantees that those are really unique especially if you run your bot in multiple organizations.

Extending hubot-flowdock

Undo or message deletion

A couple of scripts exist if you want to add an undo or message deletion capabilities to hubot:

They both allow you to tell hubot to delete some of its previous messages from Flowdock. This can be useful if they contain secrets or inappropriate content and you want to remove them. See the source or readme of the scripts for usage. For a brief discussion about the background see #67.

License

MIT

hubot-flowdock's People

Contributors

akobiakov avatar arttu avatar brentc avatar bsyk avatar febbraro avatar homeyer avatar johnhammerlund avatar lautis avatar massive avatar mrala avatar mumakil avatar raine avatar rob-ot avatar robertfwest avatar russplaysguitar avatar sopel avatar stevenuttall avatar technicalpickles avatar vanchagreen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hubot-flowdock's Issues

Hubot with Flowdock adapter launches but does not respond

I get this behavior from OS X 10.9.2 (locally) and Windows 2012 (running on Azure). In both cases, I'm running:

Node 0.10.26
Hubot: 2.7.1
Flowdock-hubot: 0.6.0

Env. Vbl:
PORT = 8181

I created a new gmail account with a first name of Hubot, added the user to my Flowdock organization with an alias of Hubot. I logged in as the user and verified that it could join a room.

I setup the environment variables (I neglected to do this the first time and got an exception to that effect), and I launch hubot bin\hubot.cmd -a flowdock. Hubot inits, and I can immediately hit http://localhost:8181/hubot/help and get a response.

There are no errors in the console/command prompt and no other content seems to be logged that I can find. Hubot seems to be functional, but there is no activity inside Flowdock. The user does not appear online and no variation of Hubot help will elicit a response. I get the same behavior in OS X as I do on Windows.

My hubot-scripts.json is empty. Here is my package.json:

 {
  "name": "Hubot",
  "version": "2.7.1",

  "author": "GitHub Inc.",

  "keywords": [
    "github",
    "hubot",
    "campfire",
    "bot"
  ],

  "description": "A simple helpful robot for your Company",

  "licenses": [{
    "type": "MIT",
    "url": "https://github.com/github/hubot/raw/master/LICENSE"
  }],

  "repository" : {
    "type": "git",
    "url": "https://github.com/github/hubot.git"
  },

  "dependencies": {
    "coffee-script": "1.6.2",
    "hubot-flowdock": ">= 0.6.0",
    "hubot":         ">= 2.6.0 < 3.0.0",
        "hubot-scripts": ">= 2.5.0 < 3.0.0"
  },

  "engines": {
    "node": ">= 0.8.x",
    "npm":  ">= 1.1.x"
  }
}

unable to start hubot with flowdock adapter

When installing a fresh hubot & hubot-flowdock, I'm unable to start the bot.

$ git clone git://github.com/github/hubot.git hubot.new
$ cd hubot.new
$ vi package.json # add dependecy  "hubot-flowdock": ">= 0.0.1"
$ npm install
$ bin/hubot -a flowdock -d

Output:

[Fri, 10 Feb 2012 18:38:12 GMT] ERROR Cannot load adapter flowdock - Error: Cannot find module 'hubot'
[Fri, 10 Feb 2012 18:38:12 GMT] INFO Loading scripts from /home/tedconf/src/hubot.new/scripts
[Fri, 10 Feb 2012 18:38:12 GMT] INFO Loading scripts from /home/tedconf/src/hubot.new/src/scripts
TypeError: Cannot call method 'run' of null
    at Robot.run (/home/tedconf/src/hubot.new/src/robot.coffee:281:27)
    at Object.<anonymous> (/home/tedconf/src/hubot.new/bin/hubot:81:11)
    at Object.<anonymous> (/home/tedconf/src/hubot.new/bin/hubot:83:4)
    at Module._compile (module.js:411:26)
    at Object.run (/usr/lib/node_modules/coffee-script/lib/coffee-script.js:57:25)
    at /usr/lib/node_modules/coffee-script/lib/command.js:147:29
    at /usr/lib/node_modules/coffee-script/lib/command.js:115:26
    at [object Object].<anonymous> (fs.js:107:5)
    at [object Object].emit (events.js:61:17)
    at afterRead (fs.js:878:12)

Not sure what to do next. The hubot will start OK when using the shell adapter.

Support "undo"

I'm not sure this is possible, but it'd be great to tell hubot to delete it's last message.

Add "join a flow" to docs

I had to manually join a flow before I was able to progress past #70. This should be in the documentation somewhere.

Mac Flowdock adapter install

I'm trying to install the flowdock adapter on hubot running on a Mac. When I try to npm install hubot-flowdock I get the following:

npm WARN package.json [email protected] No repository field.
npm http GET https://registry.npmjs.org/hubot-flowdock
npm http 304 https://registry.npmjs.org/hubot-flowdock
npm http GET https://registry.npmjs.org/flowdock
npm http 304 https://registry.npmjs.org/flowdock
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] 'repositories' (plural) Not supported.
npm WARN package.json Please pick one as the 'repository' field
npm http GET https://registry.npmjs.org/buffertools/1.1.0
npm http GET https://registry.npmjs.org/request/2.12.0
npm http 304 https://registry.npmjs.org/buffertools/1.1.0
npm http 304 https://registry.npmjs.org/request/2.12.0

> [email protected] install /Users/tfall/Code/hubot/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/buffertools
> node-gyp rebuild

gyp http GET http://nodejs.org/dist/v0.10.9/node-v0.10.9.tar.gz
gyp http 200 http://nodejs.org/dist/v0.10.9/node-v0.10.9.tar.gz
gyp WARN install got an error, rolling back install
gyp ERR! configure error 
gyp ERR! stack Error: incorrect header check
gyp ERR! stack     at Zlib._binding.onerror (zlib.js:295:17)
gyp ERR! System Darwin 12.3.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/tfall/Code/hubot/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/buffertools
gyp ERR! node -v v0.10.9
gyp ERR! node-gyp -v v0.9.6
gyp ERR! not ok 
npm ERR! weird error 1
npm ERR! not ok code 0

Windows support?

NPM packages has supported OS as os: [ 'linux', 'darwin' ] - but I can't see anything in the package that wouldn't work on windows?

robot.messageRoom support

Hi,

I can see from browsing commits that support's been added for robot.messageRoom, but I can't seem to get it to work. Is there something special that needs to be done?

I've tried robot.messageRoom 'main', 'hello world' and robot.messageRoom '<very long flow ID>', 'hello world', but neither of these have worked.

Thanks

Hubot Rooms Support

Hubot now has support to sending messages to specific rooms.
Many hubot scripts do not work without this support.

Hubot user logged in but does not reply

Hi. I have deployed hubot to heroku and made all the config for the flowdock adapter.
The app starts up just fine with the log:

2012-01-03T00:11:27+00:00 heroku[app.1]: Starting process with command bin/hubot -a flowdock -n Hubot --alias '/'
2012-01-03T00:11:27+00:00 app[app.1]: bin/hubot: 3: npm: not found
2012-01-03T00:11:27+00:00 app[app.1]: [Tue, 03 Jan 2012 00:11:27 GMT] INFO Loading adapter flowdock
2012-01-03T00:11:27+00:00 app[app.1]: [Tue, 03 Jan 2012 00:11:27 GMT] INFO Loading scripts from /app/scripts
2012-01-03T00:11:27+00:00 app[app.1]: [Tue, 03 Jan 2012 00:11:27 GMT] INFO Loading scripts from /app/src/scripts
2012-01-03T00:11:27+00:00 app[app.1]: [Tue, 03 Jan 2012 00:11:27 GMT] INFO Loading hubot-scripts from /app/node_modules/hubot-scripts/src/scripts
2012-01-03T00:11:27+00:00 app[app.1]: [Tue, 03 Jan 2012 00:11:27 GMT] INFO Successfully connected to Redis
2012-01-03T00:11:27+00:00 heroku[app.1]: State changed from starting to up

The hubot user is logged in, but does not reply to anything. Nothing shows up in the logs either.

In my packages.json I have:

{
"name": "hosted-hubot",
"version": "0.2.0",
"author": "GitHub Inc.",
"keywords": "github hubot campfire bot",
"description": "A simple helpful Robot for your Company",
"licenses": [{
"type": "MIT",
"url": "http://github.com/github/hubot/raw/master/LICENSE"
}],

"repository" : {
"type" : "git",
"url" : "http://github.com/github/hubot.git"
},

"dependencies": {
"hubot-flowdock": "0.1.2",
"hubot": "2.0",
"hubot-scripts": "2.0.4",
"optparse": "1.0.3"
}
}

I just can't get this to work, and was wondering if someone else had has this problem?

Hubot crashes on startup

I have been able to reproduce this same error on Heroku and my linux box.

From Heroku:

2013-04-21T16:34:16.942603+00:00 app[web.1]: TypeError: Uncaught, unspecified "error" event.
2013-04-21T16:34:16.942603+00:00 app[web.1]:   at Request.self.callback (/app/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/request/main.js:122:22)
2013-04-21T16:34:16.942603+00:00 app[web.1]:   at Session.EventEmitter.emit (events.js:74:15)
2013-04-21T16:34:16.942603+00:00 app[web.1]:   at Request.<anonymous> (/app/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/request/main.js:661:16)
2013-04-21T16:34:16.942603+00:00 app[web.1]:   at TypeError (<anonymous>:null:null)
2013-04-21T16:34:16.942603+00:00 app[web.1]:   at Request.EventEmitter.emit (events.js:98:17)
2013-04-21T16:34:16.914958+00:00 app[web.1]:
2013-04-21T16:34:16.942603+00:00 app[web.1]:   at Request._callback (/app/node_modules/hubot-flowdock/node_modules/flowdock/lib/flowdock.js:49:17)
2013-04-21T16:34:16.942603+00:00 app[web.1]:   at Request.EventEmitter.emit (events.js:117:20)
2013-04-21T16:34:16.942603+00:00 app[web.1]:   at IncomingMessage.<anonymous> (/app/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/request/main.js:623:14)
2013-04-21T16:34:16.943052+00:00 app[web.1]:
2013-04-21T16:34:16.943052+00:00 app[web.1]:   at _stream_readable.js:883:14
2013-04-21T16:34:16.943052+00:00 app[web.1]:   at process._tickCallback (node.js:415:13)
2013-04-21T16:34:16.942603+00:00 app[web.1]:   at IncomingMessage.EventEmitter.emit (events.js:117:20)

From Linux

[XXX@XXX robothuman]$ bin/hubot -a flowdock -n Hubot
[Sun Apr 21 2013 17:03:40 GMT+0000 (UTC)] INFO /home/vox/webapps/hubot/hubot/robothuman/scripts/pugme.coffee is using deprecated documentation syntax

TypeError: Uncaught, unspecified "error" event.
  at TypeError (<anonymous>:null:null)
  at Session.EventEmitter.emit (events.js:74:15)
  at Request._callback (/home/vox/webapps/hubot/hubot/robothuman/node_modules/hubot-flowdock/node_modules/flowdock/lib/flowdock.js:49:17)
  at Request.self.callback (/home/vox/webapps/hubot/hubot/robothuman/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/request/main.js:122:22)
  at Request.EventEmitter.emit (events.js:98:17)
  at Request.<anonymous> (/home/vox/webapps/hubot/hubot/robothuman/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/request/main.js:661:16)
  at Request.EventEmitter.emit (events.js:117:20)
  at IncomingMessage.<anonymous> (/home/vox/webapps/hubot/hubot/robothuman/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/request/main.js:623:14)
  at IncomingMessage.EventEmitter.emit (events.js:117:20)
  at _stream_readable.js:883:14
  at process._tickCallback (node.js:415:13)

I have added username, password and heroku url configurations. I have updated node and npm to their latest versions. It looks like it is not handling an error from Flowdock properly. I have used 2 separate flowdock accounts, but they both receive the same error.

Any ideas?

Hubot can hear itself in Flowdock?

I have a script that's listening for a certain string (using robot.hear), and then sending a message back (using msg.send) that also happens to contains that string.

However, Hubot in Flowdock hears itself, and hence just endless repeats the same message.

I just wanted to confirm - is this intended behaviour?

Is there any way to stop Hubot from hearing itself?

(The IRC adapter has an ignore array - nandub/hubot-irc#106).

Cannot start hubot

 node: 0.10.0
 npm: 1.2.14
 hubot: 2.4.8

I've done the following:

Cloned the latest hubot.

Added

 "hubot-flowdock": ">= 0.0.1",

just underneath dependencies in my package.json

run npm install

then running ./bin/hubot -a flowdock -d

Produces the following error:

ERROR Cannot load adapter flowdock - Error: Cannot find module 'hubot'

What am I missing? How can I run my hubot flowdock? I've found a lot of results for this exact problem on google, but could not find any conclusive solution.

For completeness, the following is my package.json

 {
   "name":        "hubot",
   "version":     "2.4.8",

   "author":      "hubot",

   "keywords":    ["github","hubot","campfire","bot"],
   "description": "A simple helpful Robot for your Company",

   "licenses":     [{
     "type":       "MIT",
     "url":        "http://github.com/github/hubot/raw/master/LICENSE"
    }],

    "repository" : {
      "type": "git",
      "url":  "https://github.com/github/hubot.git"
    },

    "dependencies": {
      "hubot-flowdock":  ">= 0.0.1",
      "coffee-script":      "1.6.1",
      "optparse":           "1.0.4",
      "scoped-http-client": "0.9.8",
      "log":                "1.3.1",
      "connect":            "2.7.3",
      "connect_router":     "1.8.7"
    },

    "engines": {
       "node": ">= 0.8.x",
       "npm":  ">= 1.1.x"
     },

     "main": "./index",

     "bin": {
       "hubot": "./bin/hubot"
     }
  }

And the output of npm list

 [email protected] /Users/gb/workspace/hubot
 ├── [email protected]
 ├─┬ [email protected]
 │ ├── [email protected]
 │ ├── [email protected]
 │ ├── [email protected]
 │ ├── [email protected]
 │ ├── [email protected]
 │ ├── [email protected]
 │ ├── [email protected]
 │ ├── [email protected]
 │ ├── [email protected]
 │ └─┬ [email protected]
 │   ├── [email protected]
 │   └── [email protected]
 ├── [email protected]
 ├─┬ [email protected]
 │ └─┬ [email protected]
 │   ├── [email protected]
 │   └─┬ [email protected]
 │     ├─┬ [email protected]
 │     │ ├── [email protected]
 │     │ └─┬ [email protected]
 │     │   └── [email protected]
 │     └── [email protected]
 ├── [email protected]
 ├── [email protected]
 └── [email protected]

Additional sidenote: just running ./bin/hubot runs Hubot successfully minus the flowdock adapter...

Hubot doesnt work

Hello,

I tried to install a fresh hubot on heroku but it didn't work.

When it is starting in heroku logs i see :

2013-07-01T23:46:25.321692+00:00 heroku[web.1]: Starting process with command `bin/hubot -a flowdock -n Hubot`
2013-07-01T23:46:25.961416+00:00 app[web.1]: bin/hubot: 3: npm: not found
2013-07-01T23:46:27.498825+00:00 heroku[web.1]: State changed from starting to up
2013-07-01T23:46:27.305066+00:00 app[web.1]: [Mon Jul 01 2013 23:46:27 GMT+0000 (UTC)] WARNING The HUBOT_AUTH_ADMIN environment variable not set
2013-07-01T23:46:27.727241+00:00 app[web.1]: [Mon Jul 01 2013 23:46:27 GMT+0000 (UTC)] INFO Disabling brain auto-saving
2013-07-01T23:46:27.751827+00:00 app[web.1]: [Mon Jul 01 2013 23:46:27 GMT+0000 (UTC)] ERROR Unable to load /app/node_modules/hubot-scripts/src/scripts/tweet: Error: Cannot find module 'ntwitter'
2013-07-01T23:46:27.751827+00:00 app[web.1]:   at Function.Module._resolveFilename (module.js:338:15)
2013-07-01T23:46:27.751827+00:00 app[web.1]:   at Function.Module._load (module.js:280:25)
2013-07-01T23:46:27.751827+00:00 app[web.1]:   at Module.require (module.js:364:17)
2013-07-01T23:46:27.751827+00:00 app[web.1]:   at require (module.js:380:17)
2013-07-01T23:46:27.751827+00:00 app[web.1]:   at Object.<anonymous> (/app/node_modules/hubot-scripts/src/scripts/tweet.coffee:4:14)
2013-07-01T23:46:27.751827+00:00 app[web.1]:   at Object.<anonymous> (/app/node_modules/hubot-scripts/src/scripts/tweet.coffee:64:4)
2013-07-01T23:46:27.751827+00:00 app[web.1]:   at Module._compile (module.js:456:26)
2013-07-01T23:46:27.751827+00:00 app[web.1]:   at Object.loadFile (/app/node_modules/hubot/node_modules/coffee-script/lib/coffee-script/coffee-script.js:179:19)
2013-07-01T23:46:27.751827+00:00 app[web.1]:   at Module.load (module.js:356:32)
2013-07-01T23:46:27.752017+00:00 app[web.1]:   at Function.Module._load (module.js:312:12)
2013-07-01T23:46:27.752017+00:00 app[web.1]:   at Module.require (module.js:364:17)
2013-07-01T23:46:27.752017+00:00 app[web.1]:   at require (module.js:380:17)
2013-07-01T23:46:27.752017+00:00 app[web.1]:   at Robot.loadFile (/app/node_modules/hubot/src/robot.coffee:133:11)
2013-07-01T23:46:27.752017+00:00 app[web.1]:   at Robot.loadHubotScripts (/app/node_modules/hubot/src/robot.coffee:169:28)
2013-07-01T23:46:27.752017+00:00 app[web.1]:   at /app/node_modules/hubot/bin/hubot:98:15, <js>:101:30
2013-07-01T23:46:27.752017+00:00 app[web.1]:   at fs.js:266:14
2013-07-01T23:46:27.752017+00:00 app[web.1]:   at Object.oncomplete (fs.js:107:15)
2013-07-01T23:46:27.752017+00:00 app[web.1]:
2013-07-01T23:46:29.055253+00:00 heroku[web.1]: Process exited with status 1
2013-07-01T23:46:29.068622+00:00 heroku[web.1]: State changed from up to crashed

here is what i have in my package json

{
  "name":        "hosted-hubot",
  "version":     "2.5.5",

  "author":      "GitHub Inc.",

  "keywords":    [
    "github",
    "hubot",
    "campfire",
    "bot"
  ],

  "description": "A simple helpful robot for your Company",

  "licenses": [{
    "type": "MIT",
    "url": "http://github.com/github/hubot/raw/master/LICENSE"
  }],

  "repository" : {
    "type": "git",
    "url":  "https://github.com/github/hubot.git"
  },

  "dependencies": {
    "hubot-flowdock": "0.5.x",
    "hubot":         "2.5.x",
    "hubot-scripts": "2.4.6"
  },

  "engines": {
    "node": ">= 0.8.x",
    "npm":  ">= 1.1.x"
  }
}

Hubot Crash After One Response

I'm running a hubot instance with hubot-flowdock, and I can successfully log in to flows and hubot to respond twice. However, after this it crashes with the following error:

Error: Uncaught, unspecified 'error' event.
  at Session.EventEmitter.emit (events.js:68:15)
  at Request.Session.send [as _callback] (/home/tfall/hubot/node_modules/hubot-flowdock/node_modules/flowdock/lib/flowdock.js:106:17)
  at Request.init.self.callback (/home/tfall/hubot/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/request/main.js:122:22)
  at Request.EventEmitter.emit (events.js:91:17)
  at Request.<anonymous> (/home/tfall/hubot/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/request/main.js:661:16)
  at Request.EventEmitter.emit (events.js:115:20)
  at IncomingMessage.Request.start.self.req.self.httpModule.request.buffer (/home/tfall/hubot/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/request/main.js:623:14)
  at IncomingMessage.EventEmitter.emit (events.js:115:20)
  at IncomingMessage._emitEnd (http.js:366:10)
  at HTTPParser.parserOnMessageComplete [as onMessageComplete] (http.js:149:23)
  at CleartextStream.socketOnData [as ondata] (http.js:1366:20)
  at CleartextStream.CryptoStream._push (tls.js:485:27)
  at SecurePair.cycle (tls.js:839:20)
  at EncryptedStream.CryptoStream.write (tls.js:220:13)
  at Socket.ondata (stream.js:38:26)
  at Socket.EventEmitter.emit (events.js:88:17)
  at TCP.onread (net.js:403:14)

It may also be relevant that the command ping gives two pongs in chat.

Edit: hubot always gives two responses to every command.

Use real user objects and find another way to pass metadata

Currently the adapter creates a new author object on the fly for incoming messages and adds metadata to that object so that flow and thread information can be passed. This breaks scripts that expect the message.author to be the same instance that's stored in hubot's brain. Also a better way to add metadata like room/flow, thread info etc needs to be found.

TypeError: Cannot call method 'replace' of undefined

I've got my hubot running on a heroku box, it logs in but cannot respond to any command because it crashes. The error log is below, it looks like the flow variable isn't being set somehow?

           uri.path = "/flows/" + (flow.replace(':', '/')) + "/messages";
     /app/node_modules/hubot-flowdock/node_modules/flowdock/lib/flowdock.js:71

                                        ^
     TypeError: Cannot call method 'replace' of undefined
         at Session.send (/app/node_modules/hubot-flowdock/node_modules/flowdock/lib/flowdock.js:71:36)
         at Flowdock.send (/app/node_modules/hubot-flowdock/src/flowdock.coffee:25:32)
         at Session.message (/app/node_modules/hubot-flowdock/node_modules/flowdock/lib/flowdock.js:102:19)
         at IncomingMessage.EventEmitter.emit (events.js:126:20)
         at IncomingMessage.ScopedClient.request (/app/node_modules/hubot/node_modules/scoped-http-client/lib/index.js:61:20)
         at module.exports (/app/scripts/pugme.coffee:18:29)
         at HTTPParser.parserOnMessageComplete [as onMessageComplete] (http.js:149:23)
         at IncomingMessage._emitEnd (http.js:366:10)
         at Response.send (/app/node_modules/hubot/src/response.coffee:20:47)
         at Socket.socketOnData [as ondata] (http.js:1367:20)

( my packages.json )

  "engines": {
    "node": "0.8.x",
    "npm": "1.1.x"
  },

  "dependencies": {
    "hubot-flowdock": ">= 0.0.1",
    "hubot": ">= 2.0.0",
    "hubot-scripts": ">= 2.0.2",
  }

robot.messageRoom has stopped working

Hi,

Our Hubot has lost the ability to use robot.messageRoom sometime in the last week. Has something changed at the Flowdock end?

The syntax used previously was robot.messageRoom(room, message), where room is in the form orgName/roomName, e.g. acme/main.

zero found flows not handled appropriately

I'm setting up a new hubot and apparently I'm having troubles with the flows, since it found zero. This is not handled well:

[Fri Jan 16 2015 10:46:57 GMT+0100 (CET)] INFO Found 0 flows.
[Fri Jan 16 2015 10:46:57 GMT+0100 (CET)] INFO Connecting to Flowdock as user undefined (id 123993).
[Fri Jan 16 2015 10:46:57 GMT+0100 (CET)] ERROR TypeError: Cannot call method 'toLowerCase' of undefined
  at Flowdock.run (/home/markus/src/machtbot/node_modules/hubot-flowdock/src/flowdock.coffee:147:10, <js>:223:67)
  at Request.Session.flows [as _callback] (/home/markus/src/machtbot/node_modules/hubot-flowdock/node_modules/flowdock/lib/flowdock.js:69:53)
  at Request.init.self.callback (/home/markus/src/machtbot/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/request/main.js:122:22)

Referencing hubot in all rooms?

Hello - thank you for making this adapter for hubot. It works for me. But it answers to "hubot xxx" only in the "Main" flowdock flow. Is there a way to make it answer in other flows? --Rick

Occassional Crashes

Our Hubot occasionally crashes with this error. I have not figured out what the circumstances are that cause it.

ERROR TypeError: Object #<Stream> has no method 'off'
  at Flowdock.reconnect (/webserver/kourou/koubot/node_modules/hubot-flowdock/src/flowdock.coffee:80:5, <js>:124:19)
  at Stream.<anonymous> (/webserver/kourou/koubot/node_modules/hubot-flowdock/src/flowdock.coffee:95:9, <js>:164:17)
  at Stream.emit (events.js:95:17)
  at JSONStream.<anonymous> (/webserver/kourou/koubot/node_modules/hubot-flowdock/node_modules/flowdock/lib/stream.js:67:28)
  at JSONStream.emit (events.js:95:17)
  at JSONStream.write (/webserver/kourou/koubot/node_modules/hubot-flowdock/node_modules/flowdock/lib/json_stream.js:30:14)
  at Request.ondata (stream.js:51:26)
  at Request.emit (events.js:95:17)
  at IncomingMessage.<anonymous> (/webserver/kourou/koubot/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/request/main.js:619:14)
  at IncomingMessage.emit (events.js:95:17)
  at IncomingMessage.<anonymous> (_stream_readable.js:748:14)
  at IncomingMessage.emit (events.js:92:17)
  at emitReadable_ (_stream_readable.js:410:10)
  at emitReadable (_stream_readable.js:406:5)
  at readableAddChunk (_stream_readable.js:168:9)
  at IncomingMessage.Readable.push (_stream_readable.js:130:10)
  at HTTPParser.parserOnBody [as onBody] (http.js:142:22)
  at CleartextStream.socketOnData [as ondata] (http.js:1583:20)
  at CleartextStream.read [as _read] (tls.js:511:12)
  at CleartextStream.Readable.read (_stream_readable.js:323:10)
  at EncryptedStream.write [as _write] (tls.js:366:25)
  at doWrite (_stream_writable.js:226:10)
  at writeOrBuffer (_stream_writable.js:216:5)
  at EncryptedStream.Writable.write (_stream_writable.js:183:11)
  at write (_stream_readable.js:585:24)
  at flow (_stream_readable.js:594:7)
  at Socket.pipeOnReadable (_stream_readable.js:626:5)
  at Socket.emit (events.js:92:17)
  at emitReadable_ (_stream_readable.js:410:10)
  at emitReadable (_stream_readable.js:406:5)
  at readableAddChunk (_stream_readable.js:168:9)
  at Socket.Readable.push (_stream_readable.js:130:10)
  at TCP.onread (net.js:528:21)

TypeError: Object #<Object> has no method 'isArray'

Hey,

I receive this error everytime I try to run hubot. I've set up Hubot on Heroku, and also tried to reinstall the whole system, but I continue getting this exception, here is a little dump hope this can help you.

2012-03-05T17:08:46+00:00 heroku[web.1]: Starting process with command `bin/hubot -a flowdock -n Hubot`
2012-03-05T17:08:46+00:00 app[web.1]: bin/hubot: 3: npm: not found
2012-03-05T17:08:47+00:00 app[web.1]: [Mon, 05 Mar 2012 17:08:47 GMT] INFO Loading scripts from /app/scripts
2012-03-05T17:08:47+00:00 app[web.1]: [Mon, 05 Mar 2012 17:08:47 GMT] INFO Loading scripts from /app/src/scripts
2012-03-05T17:08:48+00:00 app[web.1]: [Mon, 05 Mar 2012 17:08:48 GMT] INFO Loading hubot-scripts from /app/node_modules/hubot-scripts/src/scripts
2012-03-05T17:08:48+00:00 app[web.1]:
2012-03-05T17:08:48+00:00 app[web.1]:                 ^
2012-03-05T17:08:48+00:00 app[web.1]:       if (!util.isArray(flows)) flows = [flows];
2012-03-05T17:08:48+00:00 app[web.1]: /app/node_modules/hubot-flowdock/node_modules/flowdock/lib/flowdock.js:60
2012-03-05T17:08:48+00:00 app[web.1]: TypeError: Object #<Object> has no method'isArray'
2012-03-05T17:08:48+00:00 app[web.1]:     at /app/node_modules/hubot-flowdock/src/flowdock.coffee:93:22
2012-03-05T17:08:48+00:00 app[web.1]:     at Request.<anonymous> (/app/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/request/main.js:459:16)
2012-03-05T17:08:48+00:00 app[web.1]:     at Request.callback (/app/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/request/main.js:118:22)
2012-03-05T17:08:48+00:00 app[web.1]:     at Request._callback (/app/node_modules/hubot-flowdock/node_modules/flowdock/lib/flowdock.js:54:16)
2012-03-05T17:08:48+00:00 app[web.1]:     at IncomingMessage.emit (events.js:81:20)
2012-03-05T17:08:48+00:00 app[web.1]:     at Flowdock.connect (/app/node_modules/hubot-flowdock/src/flowdock.coffee:54:30)
2012-03-05T17:08:48+00:00 app[web.1]:     at Session.stream (/app/node_modules/hubot-flowdock/node_modules/flowdock/lib/flowdock.js:60:17)
2012-03-05T17:08:48+00:00 app[web.1]:     at Request.emit (events.js:64:17)
2012-03-05T17:08:48+00:00 app[web.1]:     at IncomingMessage.<anonymous> (/app/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/request/main.js:418:14)
2012-03-05T17:08:48+00:00 app[web.1]:     at HTTPParser.onMessageComplete (http.js:133:23)
2012-03-05T17:08:49+00:00 heroku[web.1]: Process exited with status 1
2012-03-05T17:08:49+00:00 heroku[web.1]: State changed from starting to crashed

v0.2.3 explodes with "Object #<Object> has no method 'isArray'"

Version 0.2.2 works.

The relevant log segment:

2012-03-03T09:43:10+00:00 app[app.1]: /app/node_modules/hubot-flowdock/node_modules/flowdock/lib/flowdock.js:60
2012-03-03T09:43:10+00:00 app[app.1]:       if (!util.isArray(flows)) flows = [flows];
2012-03-03T09:43:10+00:00 app[app.1]:                 ^
2012-03-03T09:43:10+00:00 app[app.1]: TypeError: Object #<Object> has no method 'isArray'
2012-03-03T09:43:10+00:00 app[app.1]:     at Session.stream (/app/node_modules/hubot-flowdock/node_modules/flowdock/lib/flowdock.js:60:17)
2012-03-03T09:43:10+00:00 app[app.1]:     at Flowdock.connect (/app/node_modules/hubot-flowdock/src/flowdock.coffee:54:30)
2012-03-03T09:43:10+00:00 app[app.1]:     at /app/node_modules/hubot-flowdock/src/flowdock.coffee:93:22
2012-03-03T09:43:10+00:00 app[app.1]:     at Request._callback (/app/node_modules/hubot-flowdock/node_modules/flowdock/lib/flowdock.js:54:16)
2012-03-03T09:43:10+00:00 app[app.1]:     at Request.callback (/app/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/request/main.js:118:22)
2012-03-03T09:43:10+00:00 app[app.1]:     at Request.<anonymous> (/app/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/request/main.js:459:16)
2012-03-03T09:43:10+00:00 app[app.1]:     at Request.emit (events.js:64:17)
2012-03-03T09:43:10+00:00 app[app.1]:     at IncomingMessage.<anonymous> (/app/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/request/main.js:418:14)
2012-03-03T09:43:10+00:00 app[app.1]:     at IncomingMessage.emit (events.js:81:20)
2012-03-03T09:43:10+00:00 app[app.1]:     at HTTPParser.onMessageComplete (http.js:133:23)
2012-03-03T09:43:11+00:00 heroku[app.1]: Process exited with status 1
2012-03-03T09:43:11+00:00 heroku[app.1]: State changed from up to crashed

hubot fails to launch with flowdock plugin

node: 0.6.x, 0.8.x
npm: 1.0.x, 1.1.x
hubot: 2.2.0

Error:

2012-09-25T21:55:56+00:00 heroku[web.1]: Starting process with command `bin/hubot -a flowdock -n Hubot`
2012-09-25T21:55:56+00:00 app[web.1]: bin/hubot: 3: npm: not found
2012-09-25T21:55:57+00:00 app[web.1]: TypeError: Cannot call method 'on' of null
2012-09-25T21:55:57+00:00 app[web.1]: [Tue Sep 25 2012 21:55:57 GMT+0000 (UTC)] ERROR Cannot load adapter flowdock - TypeError: Cannot read property 'prototype' of undefined
2012-09-25T21:55:57+00:00 app[web.1]:     at Object.<anonymous> (/app/node_modules/hubot/bin/hubot:105:19)
2012-09-25T21:55:57+00:00 app[web.1]:     at Object.<anonymous> (/app/node_modules/hubot/bin/hubot:109:4)
2012-09-25T21:55:57+00:00 app[web.1]:     at Module._compile (module.js:449:26)
2012-09-25T21:55:57+00:00 app[web.1]:     at Object.exports.run (/app/node_modules/hubot/node_modules/coffee-script/lib/coffee-script/coffee-script.js:79:25)
2012-09-25T21:55:57+00:00 app[web.1]:     at compileScript (/app/node_modules/hubot/node_modules/coffee-script/lib/coffee-script/command.js:177:29)
2012-09-25T21:55:57+00:00 app[web.1]:     at fs.readFile (fs.js:176:14)
2012-09-25T21:55:57+00:00 app[web.1]:     at fs.stat.notSources.(anonymous function) (/app/node_modules/hubot/node_modules/coffee-script/lib/coffee-script/command.js:152:18)
2012-09-25T21:55:57+00:00 app[web.1]:     at Object.oncomplete (fs.js:297:15)
2012-09-25T21:55:58+00:00 heroku[web.1]: Process exited with status 1

No mods to the flowdock adapter or hubot. API change maybe?

Flowdock adaptor broken?

hubot became unresponsive when I did an npm update which picked up hubot-flowdock 0.7.5. No errors on the console, just did not respond. I rolled back to 0.7.4 and everything is happy again.
Was there some kind of fundamental change in 0.7.5 or node-flowdock 0.9? I can't really tell from the commit logs.

[Wed Mar 11 2015 05:26:38 GMT-0400 (EDT)] INFO Found 2 flows.
[Wed Mar 11 2015 05:26:38 GMT-0400 (EDT)] INFO Connecting to Flowdock as user koubot (id 94314).
[Wed Mar 11 2015 05:26:38 GMT-0400 (EDT)] INFO Flowdock: connecting
[Wed Mar 11 2015 05:26:38 GMT-0400 (EDT)] INFO Flowdock: connected and streamin

robot.messageRoomn fails

Sending messages to rooms does not work for me anymore.

robot.messageRoom "company/roomName", "message body" throws an error:

TypeError: Cannot read property 'metadata' of undefined
  at Flowdock.send (/home/sodoku/Projekte/imagineasy/hubot/easybib-hubot/node_modules/hubot-flowdock/src/flowdock.coffee:13:5, 
<js>:31:55)
  at Robot.messageRoom (/home/sodoku/Projekte/imagineasy/hubot/easybib-hubot/node_modules/hubot/src/robot.coffee:409:19, 
    <js>:379:42)
  at /home/sodoku/Projekte/imagineasy/hubot/easybib-hubot/scripts/helloops.coffee:34:7, 
        <js>:23:13
  at callbacks (/home/sodoku/Projekte/imagineasy/hubot/easybib-hubot/node_modules/hubot/node_modules/express/lib/router/index.js:161:37)
  at param (/home/sodoku/Projekte/imagineasy/hubot/easybib-hubot/node_modules/hubot/node_modules/express/lib/router/index.js:135:11)
  at pass (/home/sodoku/Projekte/imagineasy/hubot/easybib-hubot/node_modules/hubot/node_modules/express/lib/router/index.js:142:5)
  at Router._dispatch (/home/sodoku/Projekte/imagineasy/hubot/easybib-hubot/node_modules/hubot/node_modules/express/lib/router/index.js:170:5)
  at Object.router (/home/sodoku/Projekte/imagineasy/hubot/easybib-hubot/node_modules/hubot/node_modules/express/lib/router/index.js:33:10)
  at next (/home/sodoku/Projekte/imagineasy/hubot/easybib-hubot/node_modules/hubot/node_modules/express/node_modules/connect/lib/proto.js:190:15)
  at IncomingForm.
            <anonymous> (/home/sodoku/Projekte/imagineasy/hubot/easybib-hubot/node_modules/hubot/node_modules/express/node_modules/connect/lib/middleware/multipart.js:119:31)
  at IncomingForm.emit (events.js:92:17)
  at IncomingForm._maybeEnd (/home/sodoku/Projekte/imagineasy/hubot/easybib-hubot/node_modules/hubot/node_modules/express/node_modules/connect/node_modules/formidable/lib/incoming_form.js:533:8)
  at MultipartParser.parser.onEnd (/home/sodoku/Projekte/imagineasy/hubot/easybib-hubot/node_modules/hubot/node_modules/express/node_modules/connect/node_modules/formidable/lib/incoming_form.js:399:10)
  at callback (/home/sodoku/Projekte/imagineasy/hubot/easybib-hubot/node_modules/hubot/node_modules/express/node_modules/connect/node_modules/formidable/lib/multipart_parser.js:102:31)
  at MultipartParser.write (/home/sodoku/Projekte/imagineasy/hubot/easybib-hubot/node_modules/hubot/node_modules/express/node_modules/connect/node_modules/formidable/lib/multipart_parser.js:261:15)
  at IncomingForm.write (/home/sodoku/Projekte/imagineasy/hubot/easybib-hubot/node_modules/hubot/node_modules/express/node_modules/connect/node_modules/formidable/lib/incoming_form.js:141:34)
  at IncomingMessage.
                <anonymous> (/home/sodoku/Projekte/imagineasy/hubot/easybib-hubot/node_modules/hubot/node_modules/express/node_modules/connect/node_modules/formidable/lib/incoming_form.js:110:12)
  at IncomingMessage.emit (events.js:95:17)
  at IncomingMessage.
                    <anonymous> (_stream_readable.js:764:14)
  at IncomingMessage.emit (events.js:92:17)
  at emitReadable_ (_stream_readable.js:426:10)
  at emitReadable (_stream_readable.js:422:5)
  at readableAddChunk (_stream_readable.js:165:9)
  at IncomingMessage.Readable.push (_stream_readable.js:127:10)
  at HTTPParser.parserOnBody [as onBody] (http.js:142:22)
  at Socket.socket.ondata (http.js:1970:22)
  at TCP.onread (net.js:527:27)

Add ability to ignore a user

It would be nice to have the ability to ignore certain users (a bot in our case) - we don't want to respond or reply to messages from that user.

Some other Hubot adapters (e.g. IRC) have this ability to ignore specific users:

nandub/hubot-irc#106

Would it be possible to add this to hubot-flowdock as well?

Maybe set bot name automatically

From #55:

Hubot will not work correctly if the bot is configured to use different name than the one the user who's credentials are used. We should investigate if we could use the api responses to set the name automatically to remove need for configuration and to prevent mistakes.

Support 1:1 chats

Hi,

Are you planning on supporting 1:1 chats with hubot over the hubot-flowdock adapter?

Cheers,

--larsw

Hubot can't 'see' comments/commands in threads

We use Flowdock's threads in our flows but have noticed that commands to hubot are ignored when they're part of a thread. If we make the same command outside a thread hubot responds.

TypeError: Object #<Flowdock> has no method 'emit'

I'm trying to set up Hubot on Heroku, and Heroku crashes on launch every time with the error above.

I've followed these instructions up until the parts about Campfire: https://github.com/github/hubot/wiki/Deploying-Hubot-onto-Heroku

I then followed these instructions: https://github.com/github/hubot/wiki/Adapter:-Flowdock

I've tried making sure that I'm using the latest version of the adapter (0.2.5) by specifying as much in my package.json, rather than using the '>= 0.0.1' specified in the instructions linked above.

Here's my full trace:

TypeError: Object #<Flowdock> has no method 'emit'
     at Flowdock.run (/app/node_modules/hubot-flowdock/src/flowdock.coffee:94:19)
     at Robot.run (/app/node_modules/hubot/src/robot.coffee:225:27)
     at Object.<anonymous> (/app/node_modules/hubot/bin/hubot:105:11)
     at Object.<anonymous> (/app/node_modules/hubot/bin/hubot:108:4)
     at Module._compile (module.js:404:26)
     at Object.run (/app/node_modules/hubot/node_modules/coffee-script/lib/coffee-script/coffee-script.js:66:25)
     at /app/node_modules/hubot/node_modules/coffee-script/lib/coffee-script/command.js:147:29
     at /app/node_modules/hubot/node_modules/coffee-script/lib/coffee-script/command.js:115:19
     at [object Object].<anonymous> (fs.js:107:5)
     at [object Object].emit (events.js:61:17)

Any help would be appreciated. Thanks!

TypeError: Cannot call method 'on' of null

On startup, I'm getting:

[Thu Apr 05 2012 17:54:08 GMT-0400 (EDT)] ERROR Cannot load adapter flowdock - Error: Cannot find module 'hubot'
TypeError: Cannot call method 'on' of null
at Object. (/var/www/flowdock-hubot/bin/hubot:105:19)
at Object. (/var/www/flowdock-hubot/bin/hubot:109:4)
at Module._compile (module.js:441:26)
at Object.run (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/coffee-script.js:68:25)
at /usr/local/lib/node_modules/coffee-script/lib/coffee-script/command.js:135:29
at /usr/local/lib/node_modules/coffee-script/lib/coffee-script/command.js:110:18
at [object Object]. (fs.js:115:5)
at [object Object].emit (events.js:64:17)
at afterRead (fs.js:1117:12)
at Object.wrapper as oncomplete

This seems to be similar to another adapter, with a patch: hipsterjazzbo/hubot-hipchat@8963590

I applied the same change, but cannot verify if it's working -- hubot starts up, but has no console output and does not appear to connect to the flow.

Hubot recieve messages but doesn't reply

Hubot recieve messages but doesn't reply

I have the following package.json:
"dependencies": {
"hubot-flowdock": ">=0.4.0",
"hubot": ">= 2.4.6",
"coffee-script": "~> 1.4.0",
"optparse": "1.0.3",
"scoped-http-client": "0.9.7",
"log": "1.3.0",
"connect": "2.3.4",
"connect_router": "1.8.6"
},

I've been sent messages to hubot:
@hubot, help
@hubot: help
hubot help
hubot: help
....

Hubot doesn't reply.

msg.send sends a reply message, and not a normal message into Flowdock

I'm using Hubot 2.8.1 with Hubot-Flowdock 0.6.5.

I'm using msg.send to send a message into a room with the hubot-flowdock adapter.

However, the message I send seems to sent as a reply message (i.e. nested), as opposed to just a normal message sent straight into the room:

screen shot 2014-09-24 at 10 42 00 am

I can understand is msg.reply would set it as a reply message, but is it possible to have msg.send just send a normal message into the room?

This also causes issue for users that are connected to Flowdock using IRC, as there, Flowdock will print the original entire line again, followed by >>, followed by the next message. This is quite spammy.

Even if this wasn't the default behaviour of msg.send (although I feel that it should be, since msg.reply can be used for replies), is it possible to have some way of just sending a vanilla message into a Flowdock room?

Allow Hubot in multiple flows

We have several different flows and while hubot has joined multiple flows, he only listens to one. Is there a way for hubot to listen to multiple flows?

Hubot Broken

2013-10-29T19:54:18.283282+00:00 app[web.1]: at TypeError (:null:null)
2013-10-29T19:54:18.283282+00:00 app[web.1]: at Session.EventEmitter.emit (events.js:74:15)
2013-10-29T19:54:18.283282+00:00 app[web.1]: TypeError: Uncaught, unspecified "error" event.
2013-10-29T19:54:18.283282+00:00 app[web.1]: at Request.self.callback (/app/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/request/main.js:122:22)
2013-10-29T19:54:18.283282+00:00 app[web.1]: at Request.EventEmitter.emit (events.js:98:17)
2013-10-29T19:54:18.283282+00:00 app[web.1]: at Request._callback (/app/node_modules/hubot-flowdock/node_modules/flowdock/lib/flowdock.js:68:17)
2013-10-29T19:54:18.283282+00:00 app[web.1]: at Request. (/app/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/request/main.js:661:16)
2013-10-29T19:54:18.283282+00:00 app[web.1]: at IncomingMessage.EventEmitter.emit (events.js:117:20)
2013-10-29T19:54:18.283282+00:00 app[web.1]: at IncomingMessage. (/app/node_modules/hubot-flowdock/node_modules/flowdock/node_modules/request/main.js:623:14)
2013-10-29T19:54:18.283454+00:00 app[web.1]: at process._tickCallback (node.js:415:13)
2013-10-29T19:54:18.283282+00:00 app[web.1]: at Request.EventEmitter.emit (events.js:117:20)
2013-10-29T19:54:18.283454+00:00 app[web.1]:
2013-10-29T19:54:18.283454+00:00 app[web.1]: at _stream_readable.js:920:16

robot messageRoom not working

Hi,
I've wanted to try out the messageRoom functionality. Unfortunately I'm having problems with it, either my script is wrong, or I'm using it wrong.The script I wrote essentially does nothing (apart from logging to console). All i get is an entry in the logs: 2014-12-10_12:38:28.19080 [Wed Dec 10 2014 12:38:28 GMT+0000 (UTC)] DEBUG Message 'hubot test222222' matched regex //^[@]?hubot[:,]?\s*(?:test222222)/i/ 2014-12-10_12:38:28.19116 sent message. Any help would be appreciated.
The script:

module.exports = (robot) ->
    robot.respond /test222222/i, (msg) ->
        room = '624dbb2a-64c4-4e74-8bda-05ce7d4856ab'
        robot.messageRoom room, 'Hello'
        console.log 'sent message'

I got the room id, by doing a call to the flowdock api, like this:

curl -X GET https://<user>:<pass>@api.flowdock.com/flows

My setup:

"dependencies": {
    "coffee-script":      "1.6.3",
    "hubot-flowdock":     "0.6.0",
    "optparse":           "1.0.4",
    "scoped-http-client": "0.9.8",
    "log":                "1.4.0",
    "express":            "3.3.4",
    "aws-sdk" :           "2.0.29"
  },

hubot version - 2.4.6

Add the ability to comment on messages

We would prefer to have our Hubot use comments when responding to commands to have the bot's responses be a part of the conversation archive.

I have a PR ready for this, but it depends on flowdock/node-flowdock#5 or node-flowdock being refactored (as mentioned in the comments of that PR)...

Error can not load adaptor

Hello,

i am using following dependencies

"dependencies": {
"hubot-flowdock": ">= 0.3.x",
"hubot": "2.3.2",
"hubot-scripts": ">= 2.1.0",
"optparse": "1.0.3"
},

after doing npm install

when i do hubot -a flowdock -d i am getting the below error. Could someone please help

[Tue May 06 2014 09:53:31 GMT+0530 (India Standard Time)] ERROR Cannot load adap
ter flowdock - Error: Cannot find module 'hubot-flowdock'

let me know if you need more information

Forcing URLs as images

I have some URLs that return images, but don't have a .png or .jpg in them (http://someUrl.com/image). I'd love for my hubot to be able to embed the image in a flow instead of just showing a URL. Is there a way to do that?

(Sorry, I know this isn't exactly an issue, but I wasn't sure where I could get support).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.