I just read through five of those and didn't even notice they were in CoffeeScript until I saw your username here!
Congrats on creating such an eminently readable language - it just melted away into the background while I was enjoying the actual logic and functionality described in the code.
I'm using Wokkel (the bleeding-edge version of the Twisted XMPP lib IIRC); EDIT: if memory serves, I used this as an example: https://github.com/colagrosso/rainbot. Nothing particularly wrong with Wokkel, just the bot itself has grown tremendously ugly.
Its really a testament to GitHub how many of us started a project like this when we kept hearing about the greatness of Hubot. I am really pumped to see what the community comes up with as far as scripts go. Pumped to see at least the start of IRC support - I figured it was Campfire only, and would have to hack it myself to make it do IRC
Okay, sorry ahead of time for being a Debbie downer here, but there are no work-related or useful scripts in the repository. All the great stuff they talk about running builds, deploying code, checking on servers, getting test results are not there. I don't see youtube and google images lookups all that useful as a chatbot IMHO. So, what am I missing? It seems like people think this is cool, but I guess I don't get it.
We're just shipping the foundation right now. A lot of our other stuff is tied to a substantial amount of other services (our CI, our special build layer, various other home-grown services, etc). Over time — and judging from Twitter, very quickly! — github.com/github/hubot-scripts will have a much more comprehensive set of scripts.
Well that's good to hear. I didn't mean to sound like a dick by any means, I just didn't expect to only see mustache generators. Your posts on it particularly in your blog made me excited to look at the repo for the infrastructure / CI components.
Looking forward to the future.
And dumb question here probably, but was I wrong in thinking that it was originally written in Ruby?
I noticed that as well. Just glancing through the code it looks like they're going to have to add rudimentary configuration management before that can happen. Right now every piece of pertinent information about how and where to connect is stored in environment variables.
You can't really have CI monitoring or automation without somewhere to store the login info, at the very least.
At Bump we tried Campfire, but ended up using IRC (and use an open source IRC bot, https://bitbucket.org/yougov/pmxbot/src). I'm curious why you decided to go with Campfire instead of IRC.
Hubot supports IRC too (though probably not as well, we only hop in when Campfire goes down).
We depend on having a nice, customizable native Campfire client. We keep a custom js script in DropBox that Propane (http://propaneapp.com/) loads on startup. We've been able to modify the UI to show avatars, highlight successful/failed builds in Git push notifications, etc.
CF also gives us a few other nice features, like offline transcripts with search, and STARS.
Surely, you can do all this with IRC... and there are other chat apps that people like too. We're hoping that people add support for them to Hubot.
It has some web-oriented features like auto-linkification, condensing long responses, embedding of images, tweets, videos...
It's better to think of Campfire as a client than a protocol; there's nothing it doesn't do that a sufficiently advanced IRC client + logging bot combo can't replicate. I prefer the latter, myself, but I can see the value it adds for many.
Agreed, I should have clarified. We don't just use IRC, but IRC along with other tools to handle pasting text and file uploads. I think what has always bothered me about Campfire (which I'm sure can be solved) is that it's not easy to do thing from the command line. I want to be able to pipe the output of git diff to my pastebin, or upload a log file from a remote machine.
you shouldnt need to sudo "brew install" commands. if you do, you've messed up the permissions it's setup. there's a part in their faq about why they believe sudo is bad https://github.com/mxcl/homebrew/wiki/FAQ
49 comments
[ 5.8 ms ] story [ 143 ms ] threadhttps://github.com/markolson/linkbot
edit: for comparison, our google image plugin: https://github.com/markolson/linkbot/blob/master/plugins/ima...
vs. theirs: https://github.com/github/hubot/blob/master/src/hubot/script...
Ours can even receive web hooks. For example, it tell us when someone makes a commit on one of our Github repos: https://github.com/abachman/pat-the-campfire-bot/blob/master...
Pat has done a lot for our morale.
Mine was XMPP but also supported other async protocols (Redis PubSub, Spread).
http://github.com/grifo/florinda
Looking at it, it's very possible that hubot's scripts are interchangeable with ours with a small translation layer.
In the spirit of sharing, here's our campfire bot developed in Ruby on top of the Scamp (https://github.com/wjessop/Scamp) framework: https://github.com/josephruscio/twke
May not have started it if the hubbers hadn't taken so long with hubot ;-).
... It's pretty great how short and sweet these are.
Congrats on creating such an eminently readable language - it just melted away into the background while I was enjoying the actual logic and functionality described in the code.
https://github.com/markstory/hubot/tree/xmpp
Looking forward to the future.
And dumb question here probably, but was I wrong in thinking that it was originally written in Ruby?
We're still in the process of porting a lot of stuff over from old-hubot, so we'll be making a lot more contributions ourselves yet.
Hope you guys / gals are ready for a pull-request torrent this week!
You can't really have CI monitoring or automation without somewhere to store the login info, at the very least.
We depend on having a nice, customizable native Campfire client. We keep a custom js script in DropBox that Propane (http://propaneapp.com/) loads on startup. We've been able to modify the UI to show avatars, highlight successful/failed builds in Git push notifications, etc.
CF also gives us a few other nice features, like offline transcripts with search, and STARS.
Surely, you can do all this with IRC... and there are other chat apps that people like too. We're hoping that people add support for them to Hubot.
https://github.com/github/hubot/blob/master/src/hubot/irc.co...
It has some web-oriented features like auto-linkification, condensing long responses, embedding of images, tweets, videos...
It's better to think of Campfire as a client than a protocol; there's nothing it doesn't do that a sufficiently advanced IRC client + logging bot combo can't replicate. I prefer the latter, myself, but I can see the value it adds for many.
$ sudo curl http://npmjs.org/install.sh | sh
$ wget https://github.com/downloads/github/hubot/hubot-1.0.0.tar.gz
$ tar zxvf hubot-1.0.0.tar.gz
$ cd hubot
$ npm install
$ ./bin/hubot
Mine had some path issues that showed up as
env: coffee: No such file or directory
but manually setting the path to the .bin directory in hubot's generated node_modules seemed to do the trick.
https://github.com/titanous/hubot/commit/6fc90ecd9b47cbb9714...
Also, you'll probably be restarting a bunch to get hubot up, but seems pretty stable after that.
Nice work Github! Took me about a 1/2 hour to get it up and running.
Shameless plug, but I could use some help fleshing out useful plugins.
http://github.com/joshwand/campfire-bot
In the process of gemifying the bot and the plugins separately to make maintenance easier.
http://productblog.37signals.com/products/2011/04/hubot-gith...
He also posts great stuff on his own site FWIW here: http://zachholman.com/
https://github.com/siong1987/hubot/tree/hipchat
https://github.com/justinweiss/robut