サイボウズライブでもhubotがしたい!
TRANSCRIPT
自己紹介
● 広島工業大学情報工学科 4年 (中奥貴浩)
● Twitter : @csc_kamera25● Github : kamera25● ブログ : http://religion.indiesj.com/● CrowSullCore メインプログラマ
ところが…大学組織と社会人を
つなぐ取り組み
「すごい合同勉強会2014 in 広島 - すごい合同勉強会2014 in 広島 - すごいOSCLOVE同好会CloudStackE本LT駆動CTFサーバa-blogスクラムNVDAEmacs岡山Functionalλ++UnityCocoa.rb.hx」で発表
http://www.slideshare.net/ssuser17fb84/ss-40994247
あれ…
HipChatIRCTwilioTwitterGtalkSkypeiMessageChatWorkSlackidobata
主なHubotと連携可能なサービス
サイボウズライブじゃ使えないじゃないっ!!
しょうがないので、作りました。
https://github.com/kamera25/hubot-cybozulive
Hubotの構造 / Adapter(アダプター)
hubotスクリプト (応答内容を決めてるスクリプト )
hubotアダプター (外部サービスとの連携部分 )
ブレイン (永続化させるデータ )
ロボット(メイン処理?)
Hubot 外部サービス
Hubotの構造 / Adapter(アダプター)
hubotスクリプト (応答内容を決めてるスクリプト )
hubotアダプター (外部サービスとの連携部分 )
ブレイン (永続化させるデータ )
ロボット(メイン処理?)
Hubot 外部サービス
ここ!
アダプター
● Hubotは Node.js で出来ている。● 記述には CoffeeScript を利用する。● サイボウズライブとの連携は、サイボウズライブデータ APIを使う。
https://developer.cybozulive.com/apps/top
私の経験
Hubot : 経験なし 「シェル版も触った事ない」
Node.js : 経験なし 「存在だけ知って程度」
CoffeeScript : 経験なし 「Javascriptとどう違うの?」
OAuth : 経験なし 「ユーザ認証ってIDとパスワードをhttp平文で送るの?」
サイボウズライブAPI : 経験なし
どうあがいても絶望…
Hubotのインストール
超むずかしいぃ!!!
● Node.jsのアップデート● git clone してビルド。● ライブラリ足りない。● 動かない。● ./bin/hubot で実行しないと動かない。● 返事しない。
1日経過…
慣れないあいつら
● Node.jsの非同期処理● コールバック地獄● CoffeeScriptで Tab を使いまくりエラー● CoffeeScriptってスペースに意味もつの?● Coffee!!!!● Coffeeめ…● Cooooffffffffffeeeeeeeee!!!
結局、XAuthで代用した。
サイボウズライブサーバ
Hubotクライアント
ユーザID / パスワード
ユーザIDパスワード
環境変数
アクセストークン
ちなみに Hubot では 環境変数 に設定情報を入れておくのが作法だそうです。
ところが。
https://developer.cybozulive.com/doc/current/pub/overview.html
単純計算で
1分間に4回リクエストでOUT(チャット送信リクエストを入れると更に頻度を落とす必要が …)
ご清聴ありがとうございました。
https://github.com/kamera25/hubot-cybozulive
ご意見・ご感想・ごイシューお待ちしてます!