
Learn hubot the hard way - ColinWright
https://github.com/tombell/learnhubotthehardway
======
csense
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?

~~~
tombell
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!

~~~
vindia
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!

~~~
tombell
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.

------
StavrosK
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.

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

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

~~~
tombell
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.

~~~
StavrosK
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.

~~~
tombell
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?

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

~~~
tombell
"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.

~~~
StavrosK
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 :/

------
gbin
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>

------
stephen_mcd
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.

------
gyaresu
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.

~~~
tombell
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.

