Мне потребовалось слишком много времени, чтобы заставить работать мой первый хабот; когда я наконец села за работу, процесс оказался намного проще, чем я ожидала! Вот небольшое руководство в надежде, что это поможет вам начать работу.
Запуск 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, и затем вы можете поделиться своим новым другом-роботом со всем миром (или, возможно, только со своей командой).