Hacker News new | past | comments | ask | show | jobs | submit login
Learn hubot the hard way (github.com/tombell)
25 points by ColinWright on Aug 5, 2012 | hide | past | favorite | 18 comments



None of the pieces in this repo explain what Hubot is!

Neither does https://github.com/github/hubot

The "preface" comes closest; it says Hubot is used for running commands on multiple servers. Does that mean it's like Fabric or Puppet, but invokable from IRC?


Hubot is an IRC/campfire bot designed to give some character to your team's channel. It has various commands for inserting photos in your chat, fetching stuff, and, indeed, running pre-configured commands.

As I said on another comment (excuse the plug), http://instabot.stochastictechnologies.com is designed to be a hosted version of hubot.


This book is a work in progress, feel free to open an issue on the repo to suggest things you want to see added, and I'll add them!


I was playing around with hubot and especially the redis-brain part of it. Would love to see a good write-up on how to use the brain. I see you're planning to write about it in Chapter 4, so I'd love it when you would add more info about it there!


Yup, I plan on writing a pretty detailed section in chapter 4 about the hubot brain. Redis is just the default backend for persisting the brain.


To avoid exactly this, I'm working on Instabot: http://instabot.stochastictechnologies.com/

It's a hosted bot, similar to hubot, and you'll be able to just go to the site, specify your channel and have Instabot join, without the hassle of setting it up or maintaining it. Of course, it will support all the useful commands, like convenience functions or webhooks.

For early access to the alpha, email me at stavros@stochastictechnologies.com.


How does one go about writing their own commands for a hosted product?


The commands will trigger a webhook call to your server, where the actual deployment/testing/whatever command you need takes place.


I'm trying to understand which part of my book you're trying to 'avoid'. Because from what I understand it's just the deploying bit? Which my hubot-factory already did, and it is being improved for a new version with the help of a great company. You've also essentially made script writing even harder than it is for hubot.


I'm trying to avoid people needing to even read the book. It's the difference between rolling your own WebSockets or using Pusher, for example. Some people want things to just work.


So you came here to advertise your own product in a post about mine?

You're basically deploying a thing that'll send http requests to another server which then executes specific tasks. So you've essentially replaced hubot with a web application on the end users servers.

What is the difference?


The difference is that you don't have to install or maintain it. Standard SaaS.


"The commands will trigger a webhook call to your server, where the actual deployment/testing/whatever command you need takes place."

The end user still needs to run something on their servers to actually do anything for their custom commands, which is essentially what hubot scripts do, which is what my book is teaching people about.


I know, I'm not disputing anything or devaluing your book. As I said above, some people want things to just work, so we're looking to provide a service for that market. I don't know why you're getting so offended and defensive :/


FYI for those interested by a simpler alternative, we have Err our python bot.

http://gbin.github.com/err/

Plugins can be install straight from independent public git repos, configured from the chat, with a graphic test console, integrated help system, ...

Writing your own plugins is also a piece of cake https://github.com/gbin/err/wiki/plugin-dev


Not sure how comparable it is to hubot, but for the last couple of months I've been working on a similar project written in Python called gnotty:

https://github.com/stephenmcd/gnotty

Gnotty is primarily a modern web client for IRC, but also features a framework for creating your own IRC bots that can receive and act on data over HTTP.

It's a few days away from its first public release.


If you setup Hubot to use Freenode then be aware that you'll want to set:

heroku config:add HUBOT_IRC_UNFLOOD="false"

Otherwise just running /hubot help will flood the channel and it'll get kicked.


I recently added a HTTP route to hubot `/hubot/help` that you can visit if you enable the HTTP support to view the help on a page rather than flood channels.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: