linebot에서 Zundoko Kiyoshi

화제의 linebot을 heroku로 시험해 보았습니다.

소개



최근 회사에서 slack이 도입되어 bot만 만들었던 화살 앞에, linebot을 만들 수 있게 되었다는 것이었기 때문에 해 보았습니다.
준도코 기능에 대해서는 slack용으로 만든 것을 유용했습니다.
당연합니다만, hubot에서 linebot을 만들 수 있게 되면, 지금까지의 자산을 잡을 수 있군요. 좋은.
hubot-line-trial의 저자에게 감사드립니다.

덧붙여 개발 머신은 Mac.

필요한 사람


$ brew install heroku-toolbelt
$ brew install node
$ npm install -g hubot hubot-line-trial yo generator-hubot coffee-script

linebot 등록



htps : // 부시넷 s. 네. 메 / 자 / p 로즈 cts / 4 / 인 t 로즈 c 치온 에서 등록하자.

만드는 방법


$ mkdir linebot
$ cd linebot
$ yo hubot
$ git init
$ heroku login
$ heroku create:apps {アプリ名}
$ heroku addons:create fixie
yo hubot 했을 때의 어댑터에 line-trial 를 입력.

애드온의 fixie는, 무렵 변화하는 heroku의 IP를 고정해 주는 것 같다.heroku addons:create fixie 다음에 IP가 표시되기 때문에 linebot의 Server IP Whitelist로 설정.
그런 다음 linebot의 Callback URL에 https://{アプリ名}.herokuapp.com:443/hubot/incoming를 입력하십시오.

bot의 Channel ID, Channel Secret, MID를 환경 변수로 설정.
$ heroku config:set LINE_CHANNEL_ID={Channel ID}
$ heroku config:set LINE_CHANNEL_SECRET={Channel Secret}
$ heroku config:set LINE_CHANNEL_MID={MID}

준도코 기능



linebot/script/zundoko.coffee
zundoko = ->
  result = ''
  check = []
  zundokoList = ['ズン', 'ドコ']
  until check[check.length-6..check.length].join('').match(/([^(ズン)]ズンズンズンズンドコ|^ズンズンズンズンドコ)$/)
    wordSelector = Math.floor(Math.random() * zundokoList.length)
    check.push(zundokoList[wordSelector])
    if check.length == 5 and check.join('') == 'ズンズンズンズンドコ'
      break
  trial_num = check.length
  check.push('キ・ヨ・シ!!! (試行回数: ' + trial_num + '回)')
  result = check.join('\r\n')
  return result

module.exports = (robot) ->
  robot.hear /^(ず|ズ)(ん|ン)(ど|ド)(こ|コ)$/, (msg) ->
    result = zundoko()
    msg.send result

'준준준준도코' 앞에는 '준'이 오면 안 된다고 생각하고 조금 끈적한 준도코로 했다.
왜냐하면 "준승준준준준준준준준준도코"라면 키요시도 노래하기 어려울 것이고.

계속 어서


$ bin/hubot
zundoko> ズンドコ
ズン
ドコ
ドコ
ズン
ズン
(中略)
ズン
ドコ
ズン
ズン
ズン
ズン
ドコ
キ・ヨ・シ!!! (試行回数: 47回)

배포


$ git add .
$ git commit -m 'first commit'
$ git push heroku master

해보자



linebot의 페이지 아래쪽에 있는 QR코드에서 bot에 말을 걸어 본다.


준도코의 시도 횟수가 크고 작게 승부를 결정하는 게임을 마시는 모임에서 술을 마실거야 ~ ~ ~

참고



Line BOT API Trial + hubot에서 heroku에 Bot 만들기 | liptonista
hubot-line-trial을 사용하여 hubot에서 linebot에 알리려고했습니다. - Qiita

좋은 웹페이지 즐겨찾기