エンジニアもどきの雑記

メモ帳です。きっと。macアプリ配信windowsでもできるようになるまで絶対にメイン機にしないマン。特筆しない限り環境は【win10home,i5-7200u,8g,64bit,巨乳が好き】

Hubotでslack用botを作ってみた



宣言通り技術記事書くぞ!
毎週のように宣言しててやっとだけど!



今回利用したのはHubot
Github製のbotフレームワークって感じかな。

インストールに関しては公式のドキュメント見たりググれば簡単なので載せません。


まだまだ実用的なことはしてないけど、どういった感じかは以下の画像。

f:id:dddpga1:20180317203655p:plain

プライベートで色々やってる方のslackで稼働してる。
まだ処理はほとんどしてない。
現在のコードは以下。

# Description:
#  test for iyashi-chan
#
# Commands:
#  iyashi-chan hello - Reply with hello!
#              見せて - Reply with まだ準備中だよ
# Author
#  daichi


module.exports = (robot) ->
  robot.hear /おっぱい/i, (res) ->
    res.send res.random ["いっぱい!","おっぱい!","もーみたいなー!"]

  robot.respond /(.*)$/i, (msg) ->
    name = msg.message.user.name.toLowerCase()
    if name == "USERNAME"
      msg.send msg.random ["ん?","あ?","は?","警察呼んでください","ひっ","ありえない…>…","セクハラですよ","そうですね"]

  robot.respond /HELLO$/i, (msg) ->
    msg.send "HELLO!"

  robot.respond /おはよう/i, (msg) ->
    msg.send "おはよう!"

  robot.respond /見せ/i, (msg) ->
    msg.send "まだ準備中だよ"




ただ文言を返すだけ、ランダムの実行。
また、メンションなしで文字を拾うのとか。


調べてみるとwebHook使った時みたいなビルドやらなにやらができるらしいが、
そこまではまだやってないので、これから仕込んでみる。

あと、coffee scriptを初めて書いたので、これだけでも大変だった。
javascriptコンパイル言語だ、なんて雰囲気があるけど、正直勘弁してほしい。
typo以外のsyntax errorが出た時の恐怖が計り知れない。大体知らない仕様があるってことだし。
まぁこれからはECMAに集約していってくれることを願う……そしてbabelも使わなくてよくなる日を待ってる。
というか超わがままだけどweb frontは書きたくない。


一旦twitterのsearch api叩かせてみたんだけど、responseがページがないよ!ばっかりなので一旦やめた
もう少し進んだらまた記事を書くかもだけど、hubotというかcoffee scriptが今更覚える気にもならないし、
使いづらいので普通のwebhookのアプリとか一個突っ込んでそっちでやるかも……