g0v irc  robot (by hubot)

Repo: https://github.com/g0v/b0t-hubot

Preface

g0v  irc channel 上現在已經有 logbot 和 kcwu 網站 title bot (人機一體),然而當需要一個新的自動化功能時,大家往往重寫一隻新的 robot,並無一個共用的 robot framework。而且寫一個 irc bot 對於手邊沒有現成工具的人來說很花時間。

Why hubot?

 1. 架構完整

hubot  最初由 GitHub 開發而成(http://hubot.github.com/),為 GitHub 公司內部使用的自動化 robot。

hubot 本身是一個以 node.js + coffeescript 寫成的 robot engine,架起來後,可以使用 command line 直接與 bot 互動。若再輔以各種網路通訊的 adaptor,則可透過網路將 robot 掛在線上。如 hubot-irc 即是 hubot 的 IRC adaptor,用來將 hubot  掛在 IRC。

2. 功能擴充容易

開發 hubot 的功能,不需要知道 hubot 怎麼運作,只要在 scripts/ 資料夾內,使用 coffeescript (or livescript,需額外 plugin) 寫 nodejs 的 script,即可擴充 hubot 的功能。

例如以下的簡單範例:

3. 已經有一大堆的 scripts 可擴充 robot 功能

https://github.com/github/hubot-scripts # hubot scripts 專案

http://hubot-script-catalog.herokuapp.com/ # 各種 scripts 的說明

功能發想 (挖坑)

How To Start

hubot  與 hubot IRC Adaptor 所需的 packages 已經整理在 packages.json 內。

執行辦法:

  1. 安裝並執行 redis-server (這個步驟可省略,請參考 Pre-requirement  )
  2. `git clone https://github.com/g0v/b0t-hubot`
  3. 修改 `env.sh` 改掉 `HUBOT_IRC_NICK`,避免 IRC  上 nickname 重複
  4. `./install.sh && ./run.sh`  

 

 跑起來之後,機器人預設會進到 freenode 的 # g0v-b0t-test 這個頻道中,方便測試。

 p.s. 測試時建議將 scripts/ 裡面用不到的 script 移除,避免同個 channel 內,相同功能的 robot  互相打架搶生意。

 

 詳細說明可見:README