Raspberry PiをSlackでbot化させてみた 2016/07/28Peta Tips コメントを投稿するお久しぶりです。ところで、Raspberry Piをご存知でしょうか?ちょうど手のひらぐらいの大きさの可愛いパソコンです。これを使って、botを作ってみたのでご紹介したいと思います! Raspberry Piを買ってみた!5Sとの比較Raspberry Pi3 Model B ボード&ケースセット (Element14版, Clear)-Physical Computing Lab僕はRS Components製を買いました。まず「Raspberry Piって何だ?」といった方のために、ちょっと説明をしておきます。Wikipediaだとこんな説明が。Raspberry Pi(ラズベリー パイ)は、ARMプロセッサを搭載したシングルボードコンピュータ。イギリスのラズベリーパイ財団によって開発されている。日本ではラズパイとも呼ばれる。(Wikipedia内「Raspberry Pi」より引用)写真を見てもらうとわかると思うのですが、これパソコンなの?!ってなる方が多いと思います。パソコンといえば、画面があって、キーボードがあって…って感じですよね!そういう類を省いて、必要なものだけ詰め合わせてとにかく小さい…それがRaspberry Piです!購入に至った理由夏休みだからです。時間は山のようにあるので、何かしようと思って買いました。あと可愛い。Slackの導入 Slack – Team Communication カテゴリ: ビジネス 現在の価格: 無料かなり少数意見になるとは思うんですが、僕はLINEが嫌いです。タイムラインがとにかく要らない。あと既読。というわけで、Slackという面白そうなチャットツールを使ってみることにしました。よく会社内とかで使われるものだそうで、まあでもいけるのではと。そして、Slackを選んだ確たる理由があります。それが、botを作れるということ。Raspberry PiをSlackのbot化させるさて、ここからが本題です。hubotのインストールGitHubのhubotというフレームワークを使って、Raspberry Piをbot化することができます。ここら辺は「hubot インストール slack」で調べればかなり出てくるので、割愛させて下さい。Slackにbotを常駐させるこちらも割愛させて下さい。僕の場合、こちらのサイトがとても参考になりました!botを作るこちらは割愛させません。Raspberry Pi上の/home/pi/[botのユーザー名]/scripts内にCoffeeScriptのコードを置くことで、botの言動を作ることができます。とは言っても、形はある程度決まっています。module.exports = (robot) -> robot.hear /[反応させたい単語]/, (msg) -> msg.send "[返したい単語]"例えば、こんな感じ。module.exports = (robot) -> robot.hear /^おはよう$/, (msg) -> msg.send "おはよう"これは、botが「おはよう」を聞いた時に、「おはよう」と返すコードです。ちなみに、[反応させたい単語]のところには正規表現を使うことができます。正規表現には色々あるので、ネットで調べたり、本を買ったりして勉強するといいかもです。そして、ここからが問題。CoffeeScriptって何?!いやほんとに、なんでCoffeeScriptで作ったのかな。今まで聞いたことない言語ですよ。しかも書き方なんかおかしいし、あーもう慣れん!!!!始めたての僕ですね。ネットで調べてもイマイチよくわかんないし、本もないし。後々はAPIとか使って電車の遅延情報とか返すようにしたいのに…。もうじゃあ、CoffeeScriptで書かなければいいんじゃないか?!CoffeeScriptを使わずにbotを動かす もう極論ですね。hubotはCoffeeScriptでしか動いてくれません。でも、CoffeeScriptで全てのコードを書く必要はないのです。つまり、データの取得などのデータ加工は他の言語にやらせて、それをCoffeeScriptのファイルに戻せばいいのでは、ということです。言ってみれば迂回。こうすれば、CoffeeScriptを実質使わずにbotは動かせますよね!これで作ってみる今回僕は、CoffeeScriptからコマンドでRubyを実行して、帰ってきたメッセージ形式の出力結果をbotに渡すという流れでやってみました。例として、アニメの放送予定表を返すコードを簡単に書いてみました!GitHub上にあげておくので(こちら)、ご自由にお使い下さい(一度に多くのリクエストを送るとDoS攻撃になりかねないので注意してください)!ちなみに、botの返しはこんな感じです!終わりにRaspberry Pi可愛いんですよねー。値段も6000円と、PCにしてはかなり安めの価格設定なので是非!最近けん玉にハマってます。けん玉にも色々あるんですが、僕のオススメはこの欅のけん玉です!独特の香りはもちろん、球が皿に乗った時の音がもう…!!!!日本けん玉協会認定品 けん玉 けやきけん玉 山形工房少々値は張るんですが、こちらもオススメ!僕は当日中に欲しかったので秋葉原のシャフトギアまで行っちゃいました…! The following two tabs change content below.この記事を書いた人最新の記事PetaApp StoreのアプリやTipを簡単に書いています。 最新記事 by Peta (全て見る) TerminalからCydiaのリフレッシュ/アップグレードを実行する方法 - 2017/01/26 再脱獄に失敗してiOS 10に上がってしまった話 - 2016/12/10 macOS Sierraで英字キーボードから入力ソースを切り替える方法 - 2016/08/27