/ #bot #coffeescript 

Hubot Introduction

Hubot is an open source bot engine written in CoffeeScript by the folks at Github, originally to automate their company chat room. Hubot knew how to deploy the site, automate a lot of tasks.


GitHub, Inc., wrote the first version of Hubot to automate their company chat room. Hubot knew how to deploy the site, automate a lot of tasks, and be a source of fun in the company. Eventually he grew to become a formidable force in GitHub. But he led a private, messy life. So he’s then rewritten.

Today’s version of Hubot is open source, written in CoffeeScript on Node.js, and easily deployed on platforms like Heroku. More importantly, Hubot is a standardized way to share scripts between everyone’s robots.

What can Hubot do?

Hubot is shipped with a small group of core scripts: things like posting images, translating languages, and integrating with Google Maps. There’s also a repository of community Hubot scripts and an organization of community Hubot packages that you can add to your own robot.

The real fun happens when you add your own scripts. Be sure to personalize your Hubot, too; your company’s robot should be a place full of inside jokes, custom integrations, and general merriment.

CoffeeScript

CoffeeScript is a little language that compiles into JavaScript. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way.

The golden rule of CoffeeScript is: “It’s just JavaScript”. The code compiles one-to-one into the equivalent JS, and there is no interpretation at runtime. You can use any existing JavaScript library seamlessly from CoffeeScript (and vice-versa). The compiled output is readable and pretty-printed, will work in every JavaScript runtime, and tends to run as fast or faster than the equivalent handwritten JavaScript.

Hubot + Telegram

  • Create a new Telegram Bot, via BotFather
  • If not previously installed with Yeoman, install the adapter: npm install –save hubot-telegram
  • Run Hubot with the adapter.
Author

Eueung Mulyana

Engineer. Lecturer. Programmer. Open Source Enthusiast.