Pull to refresh

Hubot: универсальный бот на CoffeeScript от разработчиков Github

Node.JS *


Разработчики Github на работе занимаются не только основным делом, но и посторонними проектами. Один из таких проектов — бот Hubot, программа для автоматизации различных действий в онлайне (изначально чат-бот).

Уникальными особенностями Hubot является поддержка любых Javascript-библиотек через менеджер пакетов npm и скрипты для бота, которые выкладываются на github'е во всеобщее пользование (см. каталог скриптов на CoffeeScript).

Программирование чат-бота осуществляется простыми командами.

robot.hear /problem\??/i, (msg) ->
  msg.send "http://cl.ly/BG7R/trollface.jpg"

Например, этот скрипт ожидает появление в чате слова “problems?” и публикует в ответ классическую картинку.



Или вот такой скрипт ищет в Google Image Search картинку по заданному ключевому слову и публикует в чат первый результат со страницы поисковой выдачи.

imageMe = (msg, query, cb) ->
  msg.http('http://ajax.googleapis.com/ajax/services/search/images')
    .query(v: "1.0", rsz: '8', q: query)
    .get() (err, res, body) ->
      images = JSON.parse(body)
      images = images.responseData.results
      image  = msg.random images
      cb "#{image.unescapedUrl}#.png"

Hubot можно подключить к любому каналу IRC и настроить на свой вкус. Однако, на этом его возможности не исчерпываются. Например, внутри компании Github его научили отпирать двери в офисе, составлять список сотрудников в комнате на базе их WiFi-статусов, находить съёмное жилье по заданным параметрам, устанавливать Github, говорить произвольные фразы через колонки в офисе и т.д.
Tags:
Hubs:
Total votes 34: ↑33 and ↓1 +32
Views 18K
Comments 12
Comments Comments 12

Posts