Как стать автором
Обновить

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

Время на прочтение1 мин
Количество просмотров19K


Разработчики 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, говорить произвольные фразы через колонки в офисе и т.д.
Теги:
Хабы:
Всего голосов 34: ↑33 и ↓1+32
Комментарии12

Публикации

Истории

Работа

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
11 сентября
Митап по BigData от Честного ЗНАКа
Санкт-ПетербургОнлайн
19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн