ただの備忘録です。
何?
ご存知だとは思いますが、Hubotとは、OSSのチャットボットでNode.JSで動作します。
hubot-reviewer-lottoは、HubotにGitHubのレビュアーを自動で割り振らせるプラグインのことです。
で?
依頼するときのメッセージが[ボット名] reviewer for [リポジトリ名] [PR番号]
になり、覚えるのもタイプするのも、少々めんどうです。
なので、このメッセージをr? [PR番号] [リポジトリ名]
くらいに短縮したいなーと思った次第です。
結果
元のソースコードを変えるのはアレだなーと思って、元のメッセージをバイパスするエイリアスを作ってみました。
# CoffeeScriptです
Robot = require('hubot')
module.exports = (robot) ->
# ボット名も省略して`r? [PR番号] [リポジトリ名]`のみにする。
# メインリポジトリの場合は、リポジトリ名も省略できる!
robot.hear /^r\?\s+(\d+)(\s+)?(\w+)?$/i, (res) ->
prNo = res.match[1]
prRepoName = res.match[3] || 'hoge'
# hubot-reviewer-lottoへパス
res.robot.receive new Robot.TextMessage(res.message.user, "#{res.robot.name} reviewer for #{prRepoName} #{prNo}")
たったこれだけです。
HubotもJavaScriptもCoffeeScriptも詳しい方ではないので、これが良いのかどうか分かりませんが、当初の目的は達成できました!