Chinachu + Ruboty = 超便利


ruboty-chinachuプラグイン作ったよ

Rubotyという、Rubyで実装されたbotエンジン用のChinachuプラグインを作った

ruboty-chinachu

Chinachuは、Nodeで実装されたLinux用の世界一キュートな録画サーバーだが、キュートなだけではなくAPIが完備されていて、プログラマフレンドリーでサイコーな録画サーバーでもある。前に導入用のエントリも書いた。

導入

ruboty-chinachu使い方は、既に動いているRubotyのプラグインにruboty-chinachuを追加して、環境変数としてCHINAHU_API_ENDPOINTを追加する。(BASICログインを有効にしているならば、それも環境変数に追加する。詳細はREADME)

Rubotyの動かしかたそのものは、Qiitaとかで検索するとたくさん出てくるので割愛。

今のところruboty-chinachuで取得できる情報は

  • 24時間後までの録画予約リスト
  • 24時間前までの録画済みリスト
  • 現在放送中の番組リスト
  • 現在録画中の番組リスト

実際に動かすとこんな感じ

予約リストはこう

ruboty-chinachu-reserved

現在放送中はこんな感じ

ruboty-chinachu-broadcasting

これをruboty-cronを組み合わせれば、かわいいbotが定時に今日のアニメ予約リスト一覧を教えてくれる

ruboty-chinachu-reserved-cron

これで、毎日何時までに家に帰れば良いのかを把握できる

最高!

Goraku、Ruby実装のChinachuAPIクライアント

ruboty-chinachuは、内部でGorakuというGemを使っている。これも作った。

Gorakuができること

ChinachuのAPIにアクセスできるだけですね

今現在の問題点

  • テストが無い
    • これはそのうち書く
  • 例外処理が無い
    • これは割と緊急でマズい気がするので、手を付ける
  • 視聴用APIの実装が無い
    • 難しい
  • 各々のデータ構造を表すクラスや、バリデーションが無い
    • がんばる

視聴用のAPIは、Ruby実装で用意する必要があるのかどうか微妙なのでもしかしたら実装しないかも。あるいはプルリクください

Gorakuの実装

Octokitという、Github用のAPIクライアントをかなり参考にしました。Octokitに比べれば機能は少ないので簡略化してあるけど、ほぼそのままと言っていいくらい

Octokitは、コードもすっきりしているし何よりドキュメンテーションがとてもよくされているので、一度通してコードを読む価値ありだと思います


この記事はLinux, Ruby, アニメに投稿されました. このパーマリンクをブックマークする。 コメントを投稿するか、トラックバックをどうぞ: トラックバック URL.

コメントする

あなたのメールは 絶対に 公開されたり共有されたりしません。 * が付いている欄は必須項目です

次の HTML タグと属性が使用できます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

*
*