hubotio / hubot Goto Github PK
View Code? Open in Web Editor NEWA customizable life embetterment robot.
Home Page: https://hubotio.github.io/hubot/
License: MIT License
A customizable life embetterment robot.
Home Page: https://hubotio.github.io/hubot/
License: MIT License
Using heroku config:add HUBOT_HIPCHAT_NAME='Totoro トトロ'
, while the name string should be unicode (both in heroku and in Node), hubot fails with the error:
2011-10-26T09:51:34+00:00 app[app.1]: Received error from HipChat: XMPP authentication failure undefined
Might be getting something wrong here. But I noticed there has been some talk of it so thought I would post a ticket;
With a fresh download of 1.1.4 tag when you run bin/hubot it fails with the following; env: coffee: No such file or directory
I had to run npm install -g coffee-script
in addition to npm install .
to get bin/hubot to run correctly.
We should really handle this for people.
I'm running make test
in the project root to run the tests however I keep getting the following errors:
1.9.3-rc1 in hubot/ on master
› make test
coffee test/google_images_test.coffee
Error: Cannot find module '../scripts/google-images'
at Function._resolveFilename (module.js:326:11)
at Function._load (module.js:271:25)
at require (module.js:355:19)
at Object.<anonymous> (/home/tomb/Development/hubot/test/google_images_test.coffee:7:3)
at Object.<anonymous> (/home/tomb/Development/hubot/test/google_images_test.coffee:49:4)
at Module._compile (module.js:411:26)
at Object.run (/home/tomb/Development/hubot/node_modules/coffee-script/lib/coffee-script.js:62:19)
at /home/tomb/Development/hubot/node_modules/coffee-script/lib/command.js:120:29
at /home/tomb/Development/hubot/node_modules/coffee-script/lib/command.js:90:26
at [object Object].<anonymous> (fs.js:107:5)
coffee test/robot_test.coffee
node.js:134
throw e; // process.nextTick error, or 'error' event on first tick
^
AssertionError: 0 == 4
at Server.<anonymous> (/home/tomb/Development/hubot/test/robot_test.coffee:10:12)
at Server.emit (events.js:61:17)
at Server._startWatcher (net.js:1090:8)
at Array.<anonymous> (net.js:1123:10)
at EventEmitter._tickCallback (node.js:126:26)
make: *** [test] Error 123
Am I completely forgetting something?
I'd love for Hubot to be able to listen to more than one name (like Hubot
and /
).
Given robot.respond /tv me/
, hubot tv me
doesn't match but Hubot tv me
does so I guess it's trying to match against the robot's nick as well.
I downloaded the latest version (hubot-1.1.3) and ran it.
For this example, I gave the command jrgiffordbot: help
, but it didn't get sent to the IRC channel.
Log output below, no idea what is going on with it.
https://gist.github.com/1322973
Related:
When I gave the command tweet google.com
, the following happened:
How I'm envisioning this working is that Hubot is a Twitter account that carries out actions or replies based on Mentions or DMs to him. I'm new to Node, but I'll see what I can do.
So if someone defines:
robot.respond /^foo/, (msg) ->
msg.send "ohno"
The newRegex
looks like it will generate: "hubot:?\\s*^foo"
(note the ^
in the middle) which I think is an invalid pattern.
We can default to .*
but put nothing when ^
is detected (and stripped).
See: https://github.com/github/hubot/blob/master/src/robot.coffee#L36-37
Hubot seems so keen to talk to IRC that it repeats everything twice.
09:44 <@dan> hubot: ping
09:44 < hubot> PONG
09:44 < hubot> PONG
From dan to #test: hubot: ping
undefined: PONG
27 Oct 09:44:47 - SEND: PRIVMSG #test :PONG
undefined: PONG
27 Oct 09:44:47 - SEND: PRIVMSG #test :PONG
Trying a fresh install, 1.1.4:
$ bin/hubot -c testbot
Creating a hubot install at testbot
...
$ ls -al src/templates/bin/hubot
-rwxr-xr-x 1 bozo staff 133 Oct 29 12:25 hubot
# No write permission
$ ls -al testbot/bin/hubot
-rw-r--r-- 1 bozo staff 133 Oct 29 15:34 testbot/bin/hubot
I googled and couldn't find open bugs on Fs.writeFileSync which hubot -c
uses to copy. Is this expected behavior? I'm on node 0.4.12 and mac 10.6. I can add a README kludge if desired.
It seems the email_test
tests are trying to connect to a live IMAP server when I run the tests.
› make
coffee test/google_images_test.coffee
/^helper:?\s*(image|img)( me)? (.*)/i
/^helper:?\s*animate me (.*)/i
/^helper:?\s*(?:mo?u)?sta(?:s|c)he?(?: me)? (.*)/i
coffee test/brain_test.coffee
coffee test/email_test.coffee
/^Hewbot:?\s*(calc|calculate|convert|math)( me)? (.*)/i
/^Hewbot:?\s*(?:(satellite|terrain|hybrid)[- ])?map me (.+)/i
/^Hewbot:?\s*who is ([\w .-]+)\?*$/i
/^Hewbot:?\s*([\w .-]+) is (["'\w: ]+)[.!]*$/i
/^Hewbot:?\s*([\w .-]+) is not (["'\w: ]+)[.!]*$/i
/^Hewbot:?\s*(the rules|the laws)/i
/^Hewbot:?\s*(translate)( me)?(( from) ([a-z]*))?(( (in)?to) ([a-z]*))? (.*)/i
/^Hewbot:?\s*(image|img)( me)? (.*)/i
/^Hewbot:?\s*animate me (.*)/i
/^Hewbot:?\s*(?:mo?u)?sta(?:s|c)he?(?: me)? (.*)/i
/^Hewbot:?\s*(youtube|yt)( me)? (.*)/i
/^Hewbot:?\s*PING$/i
/^Hewbot:?\s*ECHO (.*)$/i
/^Hewbot:?\s*TIME$/i
/^Hewbot:?\s*DIE$/i
/^Hewbot:?\s*show storage$/i
/^Hewbot:?\s*show users$/i
/^Hewbot:?\s*help$/i
/^Hewbot:?\s*(calc|calculate|convert|math)( me)? (.*)/i
/^Hewbot:?\s*(?:(satellite|terrain|hybrid)[- ])?map me (.+)/i
/^Hewbot:?\s*who is ([\w .-]+)\?*$/i
/^Hewbot:?\s*([\w .-]+) is (["'\w: ]+)[.!]*$/i
/^Hewbot:?\s*([\w .-]+) is not (["'\w: ]+)[.!]*$/i
/^Hewbot:?\s*(the rules|the laws)/i
/^Hewbot:?\s*(translate)( me)?(( from) ([a-z]*))?(( (in)?to) ([a-z]*))? (.*)/i
/^Hewbot:?\s*(image|img)( me)? (.*)/i
/^Hewbot:?\s*animate me (.*)/i
/^Hewbot:?\s*(?:mo?u)?sta(?:s|c)he?(?: me)? (.*)/i
/^Hewbot:?\s*(youtube|yt)( me)? (.*)/i
/^Hewbot:?\s*PING$/i
/^Hewbot:?\s*ECHO (.*)$/i
/^Hewbot:?\s*TIME$/i
/^Hewbot:?\s*DIE$/i
/^Hewbot:?\s*show storage$/i
/^Hewbot:?\s*show users$/i
/^Hewbot:?\s*help$/i
node.js:134
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Unable to connect. Reason: Error: EINVAL, Invalid argument
at Socket.<anonymous> (/home/tomb/Development/hubot/node_modules/imap/imap.js:490:15)
at Socket.emit (events.js:64:17)
at Array.<anonymous> (net.js:830:27)
at EventEmitter._tickCallback (node.js:126:26)
coffee test/robot_test.coffee
make: *** [test] Error 123
I noticed this in the README:
bin/hubot -a stdio
Feels ugly and something I will 100% forget for a function I use every time I do something to Hubot. Any reason we can't just do bin/hubot
default to stdio in dev mode?
Could someone cast their eyes over the wiki page I have created? I don't want to give the wrong instructions!
Holy shit this is so necessary.
Using the 1.0.2 tar download and following the instructions on a fresh cedar stack.
Stating "help" yields the reply you'd expect, given the scripts included:
<user> is a badass guitarist - assign a role to a user
<user> is not a badass guitarist - remove a role from a user
animate me <query> - The same thing as `image me`, except adds a few
convert me <expression> to <units> - Convert expression to given units.
help - Displays all of the help commands that Hubot knows about.
image me <query> - The Original. Queries Google Images for <query> and
map me <query> - Returns a map view of the area returned by `query`.
math me <expression> - Calculate the given expression.
mustache me <query> - Searches Google Images for the specified query and
mustache me <url> - Adds a mustache to the specified URL.
show storage - Display the contents that are persisted in redis
show users - Display all users that hubot knows about
translate me <phrase> - Searches for a translation for the <phrase> and then
who is <user> - see what roles a user has
youtube me <query> - Searches YouTube for the query and returns the video
However, upon trying to execute each of the commands, Hubot only seems to respond to map me <query>
and none of the others.
I'm not very familiar with node.js so I've trouble setting hubot up from the command line to connect to our IRC server. I would love to play with it.
-g
blows
I get these connection errors, when I want to start the hubot shell (1.0.6).
Do I need to configure the redis itself?
$ > npm install
[...]
[email protected] ./node_modules/hubot-scripts
[email protected] ./node_modules/hubot
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected] [email protected])
└── [email protected]
$ > bin/hubot
[...]
Loading hubot-scripts from /Users/lbt/Downloads/hubot/hubot-scripts.json
Error Error: Redis connection to localhost:6379 failed - ECONNREFUSED, Connection refused
/^Hubot:?\s*(.*) tweet/i
Error Error: Redis connection to localhost:6379 failed - ECONNREFUSED, Connection refused
Error Error: Redis connection to localhost:6379 failed - ECONNREFUSED, Connection refused
The two-word user names that many people end up with, pulled in from Campfire, are not easy (maybe not even possible) to use with the user role commands.
hubot who is Jason Ford
It doesn't treat the two words as a single username.
I think the ideal solution would be to provide a set of nicknames that could all be used interchangeably as a alias for the User. They could even make new scripts more fun.
hubot who is jason
hubot who is n00b
The nicknames could be set via an optional config file or via commands to hubot. Perhaps this is cause for a new script, but once nicknames are assigned and it's easy to reference users, I'd love to extend the data set with things like birthdates and the be able to quiz hubot for people's age, contact details, etc.
For node 0.6, which should be coming along any day now (okay, sometime in November), require.paths is removed. Testing with 0.5.9, I get the following error from bin/hubot
:
$ bin/hubot
Error: require.paths is removed. Use node_modules folders, or the NODE_PATH environment variable instead.
at Function.<anonymous> (module.js:376:11)
at Object.<anonymous> (/home/gsf/git/hubot/bin/hubot:4:10)
at Object.<anonymous> (/home/gsf/git/hubot/bin/hubot:104:4)
at Module._compile (module.js:432:26)
at Object.run (/usr/local/lib/node_modules/coffee-script/lib/coffee-script.js:57:25)
at /usr/local/lib/node_modules/coffee-script/lib/command.js:147:29
at /usr/local/lib/node_modules/coffee-script/lib/command.js:115:26
at [object Object].<anonymous> (fs.js:108:5)
at [object Object].emit (events.js:64:17)
at afterRead (fs.js:1073:12)
$ node --version
v0.5.9
There's a conflict with installing to Heroku due to Wolfram needing node 0.4.11 and Heroku forces 0.4.7, for reference here's the error I'm getting:
$ git push heroku master
Counting objects: 29, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 3.04 KiB, done.
Total 18 (delta 11), reused 0 (delta 0)
-----> Heroku receiving push
-----> Node.js app detected
-----> Fetching Node.js binaries
-----> Vendoring node 0.4.7
-----> Installing dependencies with npm 1.0.94
> [email protected] install /tmp/build_2nptzqalrmcu0/node_modules/hubot/node_modules/node-xmpp/node_modules/node-expat
> node-waf configure build
> [email protected] install /tmp/build_2nptzqalrmcu0/node_modules/hubot/node_modules/wobot/node_modules/node-xmpp/node_modules/node-expat
> node-waf configure build
Checking for program g++ or c++ : /usr/bin/g++
Checking for program g++ or c++ : /usr/bin/g++
npm ERR! error installing [email protected] Error: Unsupported
npm ERR! error installing [email protected] at checkEngine (/tmp/node-npm-P2sq/lib/install.js:493:14)
npm ERR! error installing [email protected] at Array.0 (/tmp/node-npm-P2sq/node_modules/slide/lib/bind-actor.js:15:8)
npm ERR! error installing [email protected] at LOOP (/tmp/node-npm-P2sq/node_modules/slide/lib/chain.js:15:13)
npm ERR! error installing [email protected] at chain (/tmp/node-npm-P2sq/node_modules/slide/lib/chain.js:20:4)
npm ERR! error installing [email protected] at installOne_ (/tmp/node-npm-P2sq/lib/install.js:471:3)
npm ERR! error installing [email protected] at installOne (/tmp/node-npm-P2sq/lib/install.js:411:3)
npm ERR! error installing [email protected] at /tmp/node-npm-P2sq/lib/install.js:347:9
npm ERR! error installing [email protected] at /tmp/node-npm-P2sq/node_modules/slide/lib/async-map.js:54:35
npm ERR! error installing [email protected] at Array.forEach (native)
npm ERR! error installing [email protected] at /tmp/node-npm-P2sq/node_modules/slide/lib/async-map.js:54:11
npm ERR! error rolling back [email protected] Error: ENOTEMPTY, Directory not empty '/tmp/build_2nptzqalrmcu0/node_modules/hubot-scripts'
npm ERR! Unsupported
npm ERR! Not compatible with your version of node/npm: [email protected]
npm ERR! Required: {"node":"~v0.4.11"}
npm ERR! Actual: {"npm":"1.0.94","node":"0.4.7"}
npm ERR!
npm ERR! System Linux 2.6.32-316-ec2
npm ERR! command "/tmp/node-node-rd66/bin/node" "/tmp/node-npm-P2sq/cli.js" "install"
npm ERR! cwd /tmp/build_2nptzqalrmcu0
npm ERR! node -v v0.4.7
npm ERR! npm -v 1.0.94
npm ERR! code ENOTSUP
Checking for program cpp : /usr/bin/cpp
Checking for program ar : /usr/bin/ar
Checking for program ranlib : /usr/bin/ranlib
Checking for g++ : ok
Checking for node path : Checking for program cpp : /usr/bin/cpp
not found
Checking for node prefix : ok /tmp/node-node-rd66
Checking for program ar : /usr/bin/ar
Checking for program ranlib : /usr/bin/ranlib
Checking for header expat.h : Checking for g++ : ok
Checking for node path : not found
Checking for node prefix : ok /tmp/node-node-rd66
Checking for header expat.h : npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /tmp/build_2nptzqalrmcu0/npm-debug.log
npm not ok
yes
yes
'configure' finished successfully (0.611s)
'configure' finished successfully (0.608s)
Waf: Entering directory `/tmp/build_2nptzqalrmcu0/node_modules/hubot/node_modules/node-xmpp/node_modules/node-expat/build'
Waf: Entering directory `/tmp/build_2nptzqalrmcu0/node_modules/hubot/node_modules/wobot/node_modules/node-xmpp/node_modules/node-expat/build'
[1/2] cxx: node-expat.cc -> build/default/node-expat_1.o
[1/2] cxx: node-expat.cc -> build/default/node-expat_1.o
[2/2] cxx_link: build/default/node-expat_1.o -> build/default/node-expat.node
[2/2] cxx_link: build/default/node-expat_1.o -> build/default/node-expat.node
Waf: Leaving directory `/tmp/build_2nptzqalrmcu0/node_modules/hubot/node_modules/node-xmpp/node_modules/node-expat/build'
'build' finished successfully (0.329s)
Waf: Leaving directory `/tmp/build_2nptzqalrmcu0/node_modules/hubot/node_modules/wobot/node_modules/node-xmpp/node_modules/node-expat/build'
'build' finished successfully (0.338s)
! Failed to install dependencies with npm
! Heroku push rejected, failed to compile Node.js app
! [remote rejected] master -> master (pre-receive hook declined)
I can see the bot in the room. When I do:
hubot: image me pony
Hubot receives it ok, but it fails when it tries to send the message back to the room.
Ideas?
Seems to make him crash. 👎
It seems that the name for the robot provided on the command line needs to match up with the name from campfire. It leads to confusion with robot.response
scenarios.
This is what I get when I run bin/hubot -a xmpp, I did run npm install to make sure I have a dependencies.
Loading deploy-local scripts at /home/bigbash/hubot/scripts Error: Cannot find module '../build/default/node-expat' at Function._resolveFilename (module.js:326:11) at Function._load (module.js:271:25) at require (module.js:355:19) at Object.<anonymous> (/home/bigbash/hubot/node_modules/node-xmpp/node_modules/node-expat/lib/node-expat.js:3:13) at Module._compile (module.js:411:26) at Object..js (module.js:417:10) at Module.load (module.js:343:31) at Function._load (module.js:302:12) at require (module.js:355:19) at Object.<anonymous> (/home/bigbash/hubot/node_modules/node-xmpp/node_modules/ltx/lib/parse.js:8:13)
Right now when you share your hubot repo with other people, they get the template repository. This is fine, but it's really confusing right now without any information in the README. Where is hubot's source code? Where's the executable? How the eff does this thing work? How do I test scripts? Stuff like that.
We need to work on the README to make it a bit clearer that there's a core library somewhere else that does all the heavy lifting.
Hi, all.
I'm new to hubot.After I type the
npm install hubot-1.0.6.tar.gz
command.
I got the following error
npm ERR! error installing [email protected] Error: socket hang up
npm ERR! error installing [email protected] at CleartextStream. (http.js:1290:45)
npm ERR! error installing [email protected] at CleartextStream.emit (events.js:61:17)
npm ERR! error installing [email protected] at Array.0 (tls.js:620:22)
npm ERR! error installing [email protected] at EventEmitter._tickCallback (node.js:126:26)
npm ERR! Error: socket hang up
npm ERR! at CleartextStream. (http.js:1290:45)
npm ERR! at CleartextStream.emit (events.js:61:17)
npm ERR! at Array.0 (tls.js:620:22)
npm ERR! at EventEmitter._tickCallback (node.js:126:26)
npm ERR! Report this entire log at:
npm ERR! http://github.com/isaacs/npm/issues
npm ERR! or email it to:
npm ERR! [email protected]
npm ERR!
npm ERR! System Linux 2.6.32-5-686
npm ERR! command "node" "/usr/local/bin/npm" "install" "hubot-1.0.6.tar.gz"
npm ERR! cwd /home/demon/Development
npm ERR! node -v v0.4.12
npm ERR! npm -v 1.0.103
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/demon/Development/npm-debug.log
npm not ok
I have no idea what goes wrong,any suggestions?
When pushing the latest downloadable version (1.1.3), it fails with the following log: https://gist.github.com/1321937
You can see the exact repo I'm pushing to Heroku here: https://github.com/dannymcc/hubot
dannymcclelland@macbookpro ~/projects/hubot[master]$ git push heroku master
Counting objects: 26, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (20/20), done.
Writing objects: 100% (21/21), 7.79 KiB, done.
Total 21 (delta 4), reused 3 (delta 0)
-----> Heroku receiving push
-----> Node.js app detected
-----> Fetching Node.js binaries
-----> Vendoring node 0.4.7
-----> Installing dependencies with npm 1.0.94
npm ERR! error installing hubot-scripts@1.1.3 Error: Unsupported
npm ERR! error installing hubot-scripts@1.1.3 at checkEngine (/tmp/node-npm-id9I/lib/install.js:493:14)
npm ERR! error installing hubot-scripts@1.1.3 at Array.0 (/tmp/node-npm-id9I/node_modules/slide/lib/bind-actor.js:15:8)
npm ERR! error installing hubot-scripts@1.1.3 at LOOP (/tmp/node-npm-id9I/node_modules/slide/lib/chain.js:15:13)
npm ERR! error installing hubot-scripts@1.1.3 at chain (/tmp/node-npm-id9I/node_modules/slide/lib/chain.js:20:4)
npm ERR! error installing hubot-scripts@1.1.3 at installOne_ (/tmp/node-npm-id9I/lib/install.js:471:3)
npm ERR! error installing hubot-scripts@1.1.3 at installOne (/tmp/node-npm-id9I/lib/install.js:411:3)
npm ERR! error installing hubot-scripts@1.1.3 at /tmp/node-npm-id9I/lib/install.js:347:9
npm ERR! error installing hubot-scripts@1.1.3 at /tmp/node-npm-id9I/node_modules/slide/lib/async-map.js:54:35
npm ERR! error installing hubot-scripts@1.1.3 at Array.forEach (native)
npm ERR! error installing hubot-scripts@1.1.3 at /tmp/node-npm-id9I/node_modules/slide/lib/async-map.js:54:11
npm ERR! Unsupported
npm ERR! Not compatible with your version of node/npm: wolfram@0.1.0
npm ERR! Required: {"node":"~v0.4.11"}
npm ERR! Actual: {"npm":"1.0.94","node":"0.4.7"}
I'm running FreeBSD 8.2 and I have expat installed and it lives at:
/usr/local/include/expat.h
https://gist.github.com/1323682
Adding this seems to ensure it is found under FreeBSD
export CPPFLAGS="-I/usr/local/include"
npm is great and all, and I'mma let you finish, but people shouldn't be relying on it for deployed apps. Bundle everything so the initial Hubot experience is smooth.
I used ./bin/hubot -c ~/Desktop/vectorprime
to create the deployable bot.
While in ~/Desktop/vectorprime
and running any ./bin/hubot
command I get:
Error: Cannot find module 'optparse'
at Function._resolveFilename (module.js:326:11)
at Function._load (module.js:271:25)
at require (module.js:355:19)
at Object.<anonymous> (/Users/seth/Desktop/vectorprime/node_modules/hubot/bin/hubot:14:14)
at Object.<anonymous> (/Users/seth/Desktop/vectorprime/node_modules/hubot/bin/hubot:91:4)
at Module._compile (module.js:411:26)
at Object.run (/Users/seth/Desktop/vectorprime/node_modules/hubot/node_modules/coffee-script/lib/coffee-script.js:62:19)
at /Users/seth/Desktop/vectorprime/node_modules/hubot/node_modules/coffee-script/lib/command.js:120:29
at /Users/seth/Desktop/vectorprime/node_modules/hubot/node_modules/coffee-script/lib/command.js:90:26
at [object Object].<anonymous> (fs.js:107:5)
In reference to pull request #74 and my comments on 66fb4f9 about trying to find a more natural way of writing the command I'm wondering what people's thoughts would be about using the following regexp:
/(?:translate)(?: me)? ("(.[^"]*)"(?:(?: from) ([a-z]*))?(?:(?: (?:in)?to) ([a-z]*))?|(?:.[^"]*))/i
which would give the option of either
hubot translate me <phrase>
or
hubot translate me "<phrase>" from <source> into <target>
Where the from and into sections are optional. It basically comes down to whether people would prefer the current order where the comes last and no double quotation marks are required, or this which feels more natural to me? I've kept it as double quotation marks as singles may be part of the word or phrase to be translated.
I've also changed some of the non required groups such as (translate)
to non matching groups to tidy up the results to pull in. I'll do this whichever way people decide the command should work. When people decide I'll submit a pull request with the updated code.
Everything was working great yesterday, but today I can't seem to do a npm install
.
npm ERR! 404 'hubot' is not in the npm registry.
npm ERR! 404 You could maybe bug the author to publish it
npm ERR! 404 Note that you can also install from a tarball or folder.
npm ERR!
npm ERR! System Darwin 11.2.0
npm ERR! command "node" "/usr/local/bin/npm" "install"
npm ERR! cwd /Users/titanous/projects/spy
npm ERR! node -v v0.4.12
npm ERR! npm -v 1.0.96
npm ERR! code E404
/Users/skoch/hubot/node_modules/hubot/node_modules/coffee-script/lib/command.js:15
return process.binding('stdio').writeError(line + '\n');
^
Error: No such module
at /Users/skoch/hubot/node_modules/hubot/node_modules/coffee-script/lib/command.js:15:20
at /Users/skoch/hubot/node_modules/hubot/node_modules/coffee-script/lib/command.js:140:7
at /Users/skoch/hubot/node_modules/hubot/node_modules/coffee-script/lib/command.js:90:26
at [object Object].<anonymous> (fs.js:108:5)
at [object Object].emit (events.js:64:17)
at afterRead (fs.js:1074:12)
at Object.wrapper [as oncomplete] (fs.js:246:17
Fresh istall of Node and npm:
$ node -v v0.5.11-pre $ npm -v 1.0.102
Apparently node_stdio was removed from Node v0.5.10 (83fce75)
I love the fact that Hubot reloads himself. Can we do that on Heroku?
Everything loads fine and Hubot enters the rooms correctly. However, Hubot doesn't seem to hear or respond using the hipchat adapter on heroku (even when private messaging). This is only error I can find, though I doubt its relevant
2011-10-26T23:58:57+00:00 app[app.1]: Cannot use StringPrep bindings. You may need to `npm install node-stringprep'
When invited or otherwise added to a private room Hubot fails to join. Perhaps this is a limitation of the XMPP interface?
Replication: Create private room, invite Hubot, be lonely.
We have no easy way to differentiate between shit like:
hubot image me pugs
and
image me pugs
I'd like a separate method from listen
to handle him being addressed.
Checked out latest repo, pushed up to new heroku cedar app, added redistogo addon and added campfire ENV vars.
But when running heorku scale app=1
it fails right away:
[email protected][oskar] hubot/: heroku scale app=1
Scaling app processes... ! Record not found
Looks like an activerecord error, which seems a bit weird...
When chatting in a private (IM) room all command responses are sent to a public room (perhaps the last public room the user was in?).
Replication is straightforward: Create an open room, when Hubot arrives request private chat (dbl-click on user), then request 'help' upon which you'll see Hubot's help response in the first room.
After a while the Campfire bot would die and left the above message. Is that expected?
Running on the 1.0.2 distribution
After a few minutes of playing with Hubot, it stopped responding and I saw this in the logs (looking at the source it appears it received an "end" response from campfire?
2011-10-25T20:45:54+00:00 heroku[app.1]: State changed from starting to up
2011-10-25T20:45:56+00:00 app[app.1]: Streaming Connection closed. :(
2011-10-25T20:45:56+00:00 heroku[app.1]: Process exited
2011-10-25T20:45:57+00:00 heroku[app.1]: State changed from up to crashed
For some reason the bot seems to crash when given the command: "die".
Is this intended behavior?
When doing a fresh push to Heroku using 1.1.3 you get the following;
npm ERR! error installing [email protected] Error: Unsupported
npm ERR! error installing [email protected] at checkEngine (/tmp/node-npm-IGKn/lib/install.js:493:14)
npm ERR! error installing [email protected] at Array.0 (/tmp/node-npm-IGKn/node_modules/slide/lib/bind-actor.js:15:8)
npm ERR! error installing [email protected] at LOOP (/tmp/node-npm-IGKn/node_modules/slide/lib/chain.js:15:13)
npm ERR! error installing [email protected] at chain (/tmp/node-npm-IGKn/node_modules/slide/lib/chain.js:20:4)
npm ERR! error installing [email protected] at installOne_ (/tmp/node-npm-IGKn/lib/install.js:471:3)
npm ERR! error installing [email protected] at installOne (/tmp/node-npm-IGKn/lib/install.js:411:3)
npm ERR! error installing [email protected] at /tmp/node-npm-IGKn/lib/install.js:347:9
npm ERR! error installing [email protected] at /tmp/node-npm-IGKn/node_modules/slide/lib/async-map.js:54:35
npm ERR! error installing [email protected] at Array.forEach (native)
npm ERR! error installing [email protected] at /tmp/node-npm-IGKn/node_modules/slide/lib/async-map.js:54:11
Checking for program g++ or c++ : /usr/bin/g++
npm ERR! error rolling back [email protected] Error: ENOTEMPTY, Directory not empty '/tmp/build_ozz8kzdu2ddj/node_modules/hubot-scripts'
npm ERR! Unsupported
npm ERR! Not compatible with your version of node/npm: [email protected]
npm ERR! Required: {"node":"~v0.4.11"}
npm ERR! Actual: {"npm":"1.0.94","node":"0.4.7"}
npm ERR!
npm ERR! System Linux 2.6.32-316-ec2
npm ERR! command "/tmp/node-node-meVU/bin/node" "/tmp/node-npm-IGKn/cli.js" "install"
npm ERR! cwd /tmp/build_ozz8kzdu2ddj
npm ERR! node -v v0.4.7
npm ERR! npm -v 1.0.94
npm ERR! code ENOTSUP
https://github.com/dannymcc/hubot/blob/master/package.json
Running v1.1.4 on Heroku, Hubot duplicates each of it's responses.
I love how RealHubot™ has scripts
in the top-level. It's really obvious where to dive in if you're a newcomer. Also, it then would detach the scripts themselves from hubot a little more (so if you're adding custom scripts you don't have to dive deep into hubot itself, for example).
Currently the IRC bot attempts to join the channels before responding to the identification request from NickServ as per the pull request: #54, however this will prevent the bot from joining rooms that require identification before joining (+r). This isn't an issue with freenode which will accept the nickpass as the server pass, but could be an issue on other networks which aren't as flexible.
We can fix this by only joining rooms after receiving acknowledgement from NickServ that we are identified.
Hubot sends IRC private message responses to itself. I'm guessing the message
and pm
listeners are overlapping. The weird log is compounded by duplicate output relating to #71.
09:45 -!- Irssi: Starting query in irc with hubot
09:45 <dan> hubot: ping
From dan to hubot: hubot: ping
undefined: PONG
27 Oct 09:45:07 - SEND: PRIVMSG hubot :PONG
undefined: PONG
27 Oct 09:45:07 - SEND: PRIVMSG hubot :PONG
Got private message from dan: hubot: ping
27 Oct 09:45:07 - GOT MESSAGE from dan: hubot: ping
From hubot to hubot: PONG
Got private message from hubot: PONG
27 Oct 09:45:07 - GOT MESSAGE from hubot: PONG
From hubot to hubot: PONG
Got private message from hubot: PONG
27 Oct 09:45:07 - GOT MESSAGE from hubot: PONG
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.