oranie's blog

旧:iをgに変えると・・・なんだっけ・・・

golangで雑なslack botを作りました。

タイトルそのまま。勉強がてらslack botを作ってみた。やった事はRubotyのruboty-google_imageとか、他のGolangで既にあるslack ライブラリの劣化パクリです。


r7kamura/ruboty-google_image · GitHub

 

ソースはこれ。


oranie/slack-bot-golang · GitHub

 

書いてみて思ったのは、slackのoutbound webhookがデータをJSONで投げてくれなかったので面倒だった事が分かりました(小並感

とりあえずherokuで動かしています。実際の動作はこんな感じ。

 

https://camo.githubusercontent.com/586469cb94e1f1f940f592a55864524f64b8f05e/687474703a2f2f692e6779617a6f2e636f6d2f35613130313939613531353236313134323636326535353964363130626435622e706e67

「画像も立てずにスレ立てとな?」とは言わず、自分から画像を貼る意識の高い麻呂をslackに登場させる事が出来ました。

 

やる事としては通常のherokuの使い方はまあ一旦置いておいて、golangでやらなければいけない事として


Goで作ったアプリをherokuに上げるときのメモ - from scratch

を参考にしました。

あと、Godepsでsaveする時に$GOPATH配下でプロジェクトを置かないとjsonファイルは作ってくれるが_workspace配下にファイルちゃんと置いてくれずherokuへのアップロードで失敗しまくりました。herokuへのデプロイさえ完了すれば、あとはslackのoutbound webhookで適当に条件設定して、inbound webhookで出てくるURLを

heroku config:add で設定してあげればPOSTしてくれるので大変簡単でした。ChatOpsには憧れるけど、js書いた事が無いのでhubotは勉強面倒くさいなぁ、と思っていたけど自分で書いたら簡単な設定すれば色々出来そうなので、オレオレツールでどこかで使っていこうと思います。

 

おしまい。