c4se記:さっちゃんですよ☆

.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)

.。oO(此のblogは、主に音樂考察Programming に分類されますよ。ヾ(〃l _ l)ノ゙♬♪♡)

音樂は SoundCloud 等に公開中です。

考察は現在は主に Scrapbox で公表中です。

Programming は GitHub で開発中です。

Clojerl の Slack client を書いた

Erlang の好い感じの Slack client が無かったので書いた、のだが Clojerl で書いたので Erlang からは使へない。

github.com

README に書いた通り gen_event bahaviour を書けば Slack と會話出來る。

(ns example-bot.handler1)

(erlang.core/behaviours gen_event)

(defn init [{:keys [name] :as args}] #erl[:ok args])

(defn handle_call [_ state] #erl[:ok :ok state])

(def handle_event
  (fn* ([#erl[:receive-msg #as(msg #erl{"channel" channel "text" text "type" "message"})]
              #as(state #erl{:name name})]
         ; Handle msg here.
         #erl[:ok state])
       ([_ state]
         #erl[:ok state])))

gun を使って WebSocket で繋いでゐる。であるから WebSocket が通る通信路が要る。

github.com

Elixir には好い Slack client が在るので其れを使ひませう。

github.com