(define -ayalog '())

括弧に魅せられて道を外した名前のないプログラマ

Slack で動く bot を作る(とりあえず発言だけ)

ということでさくっとやってみた。

Slack というのは最近流行り(?)の HipChat like な Chat ツールで結構ほかのアプリケーション*1との連携がサクッと出来るのがいい感じぽい。
Slack では幾つかの APIWebHook を提供してくれているので、簡単に自動投稿や発言に対して反応をする bot を書くことが出来る。

ということでとりあえず room に対しての投稿処理を書いてみた。 Gauche で。

(use rfc.http)
(use rfc.json)

(define slack-token "plz input your token")
(define my-account "plz input your account name")

(http-post
 (string-append my-account ".slack.com")
 "/services/hooks/incoming-webhook"
 `(("token" ,slack-token)
   ("payload" ,(construct-json-string
                '(("text" . "I am Lisp Alien!!")))))
 :secure #t)

f:id:ayato0211:20140817154923p:plain
とまぁ、こんな感じになりましたよーっと。
あとで Padrino 使ってもう少しいい感じの簡単な bot を書くつもり。

*1:例えば Jenkins とか