Статьи

Настройте свой первый Hubot

Мне потребовалось слишком много времени, чтобы заставить работать мой первый хабот; когда я наконец села за работу, процесс оказался намного проще, чем я ожидала! Вот небольшое руководство в надежде, что это поможет вам начать работу.

Запуск Hubot локально

Документация довольно хорошая, хотя я обнаружил, что без какого-либо опыта работы с coffeescript или nodejs он действительно катался по некоторым вещам, которые я, как разработчик PHP, не знал. Итак, начните с документов: https://github.com/github/hubot/blob/master/docs/README.md .

Hubot нужен узел и npm локально, а установочные документы помогут вам установить yeoman, который является отличным способом настройки проекта. После того, как вы установили, ваш бот сможет работать локально (мы развернем на heroku позже) и поговорим с вами:

./bin/hubot

Вы должны увидеть, что он возвращается к вам с подсказкой:

Hubot> 

и вы можете сказать привет:

Hubot> hubot ping
Hubot> PONG

Оно живое 🙂

Это был бы отличный момент, чтобы  git init сделать первоначальный коммит, прежде чем что-то менять!

Добавление скриптов в Hubot

Похоже, что мир сценариев hubot находится в замешательстве, раньше для них было хранилище, но их так много, что это было немного хаотично, поэтому сейчас существует организация для сценариев hubot:  https://github.com/hubot -scripts . Однако некоторые старые скрипты не были перенесены, а многие другие имеют свои дома на своих аккаунтах в github. Это может затруднить поиск вещей.

Существует два основных способа добавления скриптов в hubot: упакованный скрипт из npm и добавление кода непосредственно в ваш hubot.

Метод npm является самым простым, если вы можете найти нужный плагин (попробуйте  https://www.npmjs.com/search?q=hubot ), тогда вы просто добавляете плагин в  packages.json файл в корне вашего hubot, и бежать  npm install. Затем все, что вам нужно сделать, это добавить имя пакета в список  external-scripts.jsonи перезапустить ваш hubot. Если ваш новый плагин добавляет какие-либо команды в hubot, вы увидите их при вводе:

hubot help

Другой метод заключается в добавлении coffeescript непосредственно в ваш каталог (я использую субмодули, чтобы я мог использовать изменения, которые я делаю в нескольких проектах, я напишу об этом отдельный пост). Возьмите  *.coffee файл и добавьте его в scripts/ каталог. Вам не нужно вручную включать его; hubot увидит и попробует использовать все скрипты в этом каталоге. Конечно, вам не нужно полагаться на существующие скрипты; даже без опыта работы с JS я обнаружил, что плагины coffeescript вполне доступны, и существует множество примеров.

Некоторые сценарии регистрируют команды, другие предлагают конечные точки, которые очень полезны в сочетании с веб-крючками, которые предлагаются многими системами. Хотя можно протестировать веб-хуки на вашей локальной машине, мы просто двинемся дальше и развернем бота на heroku.

Развернуть в Heroku

Эта часть документации мне показалась великолепной, так что вы можете просто прочитать ее! https://github.com/github/hubot/blob/master/docs/deploying/heroku.md . Несколько вещей, которые я не знал о Heroku:

  • Вы можете просмотреть журналы с помощью  heroku logsи добавить  -t переключатель, чтобы следить за ними
  • Используйте  heroku config для просмотра переменных среды, которые вы уже настроили

Это  Procfile то, что содержит настройки, которые heroku будет использовать для запуска вашего бота, поэтому вы, вероятно, зададите здесь и его имя, и адаптер. Например, у меня есть procfile, который выглядит так:

web: bin/hubot -a irc -n joindin-hubot

Вы развертываете бота, нажимая на git-репозиторий на heroku, и затем вы можете поделиться своим новым другом-роботом со всем миром (или, возможно, только со своей командой).