Go to list of users who liked
Share on X(Twitter)
Share on Facebook
More than 5 years have passed since last update.
Ruboty って何?どうやって動かすの? Hubot と何が違うの?どっちを使えばいいの? #ruboty #chatops
Ruboty って何?どうやって動かすの? Hubot と何が違うの?どっちを使えばいいの?
概要
Ruboty って何?どうやって動かすの? Hubot と何が違うの? という方に向けた記事です
目次
- Ruboty って何?
- Ruboty の基本構成
- Ruboty 登場の経緯
- Ruboty の特徴
- コマンドライン環境の疎通確認手順
- ステップアップのための資料紹介
Ruboty って何?
Ruboty は Ruby 製のチャットボットフレームワークです。
要はHubot の Ruby 版。
Ruboty のソースコードは GitHub で確認可能です。
ruboty github
Hubot は Plugin をCoffeeScript で書く必要があります。
(最終的に JavaScript になれば良いので他の AltJS や生の JavaScript でも良い)
Ruboty はRuby で Plugin を書く必要があります。
機能的な違いはほとんどありません。
( 大きな差は Ruboty には HTTP 待ち受けがないことくらい?
Ruboty は OSS プロダクトなので 需要があれば誰か プルリクエスト を送るのでは。 )
機能に大きな違いがないなら、 Ruboty は誰におすすめなのか?
Hubot は便利だけどCoffeeScript よりRuby で書きたい、という人にRuboty をおすすめできます。
こういう話をすると 某 Hubot 職人 さんから
「Rubyist は Ruboty か Lita あたりを使え。振り返るな」
と背中を強めに 押してもらえます。どちらかというと尻を蹴飛ばされているかもしれません 。
何の話か気になる方は Twitter で、「 Hubot 便利だけど Ruby で書けたらなぁ・・・ 」 とつぶやいてみてください。
何かが起こるはずです。
Ruboty 登場の経緯
Ruboty の作者は Qiita の@r7kamura さんです。
- Ruby を使って bot を使いたい人向けに
- Ruby の bot フレームワークにはLita があるがより自分好みの設計にしたい
などの理由によって、 Hubot の Ruby 実装代替ツールとして作成されました。
詳しくはご本人の口でrebuild.fm ( 宮川達彦さんの podcast 。チェックしていない方はこれを機にぜひ )で語っておられます。
rebuild.fm | 66: It Is Always
(r7kamura)
また下記の Episode 10 にも出演しておられます。 Ruboty の作者さんの思考が気になる方はこちらも。
rebuild.fm | 10: RailsConf, Ruby 2.0, Rails 4 (mrkn, r7kamura)
※ rebuild.rm については、こちらの記事(Rebuild.fm のススメ )もまとめてあります。
Ruboty の基本構成
私が以前まとめた記事をご確認ください。
Ruboty の特徴
- Ruby 製。 Ruby で Plugin を書ける
- Ruby の gem で Plugin を管理可能。 Ruby 使いが慣れ親しんだ方法で管理できる。
- Ruboty 本体のコードが非常に綺麗。本体を読む際の敷居が低い。
- 日本人が作者
- 一次情報を日本語で得ることができる
- Lita があることを知った上で、Ruboty を開発した => Lita のプロダクトをより改良した内容になっているのでは?
- ※この部分は、 rebuild.rm をきいた上での私の想像なのででたらめかもしれません
- 作者の@r7kamura さんが自動化厨(褒め言葉)っぽい
- ラリーウォールの三大美徳 (


) 的なものを持ち合わせていそうな感じ - Plugin の提供 , Heroku への簡易デプロイなど便利な仕組みが提供される
- ラリーウォールの三大美徳 (
- Qiita の中の人が作者なので Qiita で情報を公開してもらえる
コマンドライン環境の疎通確認手順
前提
Ruby, Bundler をインストール済み
ruboty をインストール
$geminstallrubotyruboty 用のディレクトリテンプレートを生成します
$ruboty--generate$tree.┗ ruboty ┗ Gemfile$cdrubotyGemfile を編集して plugin を追加します
- 私が作成したruboty-qiita_scouter を追加してみます
source"https://rubygems.org"gem"ruboty"gem"ruboty-qiita_scouter"※ Windows 環境の方は rb-readline gem も追加
bundle で plugin をインストールします
$bundleinstallruboty を実行します
※ ruboty-qiita_scouter の実行は少々時間がかかります
$bundleexecruboty> ruboty pingpong> rubotyhelpruboty /qiita scouter(?<id>.+?)\z/ - analyze qiita powerruboty /help( me)?\z/i - Show thishelpmessageruboty /ping\z/i - Return PONG to PINGruboty /who am i\?/i - Answerwhoyou are> ruboty qiita scouter tbpgrユーザー名: tbpgr 戦闘力: 450120 攻撃力: 74250 知力: 360525 すばやさ: 15345ステップアップのための資料紹介
Slack + Heroku Deployment
@r7kamura さんの下記記事の手順で, Ruboty を Heroku にデプロイし、 Slack と連携するまでの環境を簡単に構築できます。
開発支援ツール
開発支援ツール に関する情報は以下のエントリにあります
プロジェクトテンプレート、コード生成
README の生成
- Ruboty Handler Plugin 作成時の README テンプレートジェネレータ ruboty-megen を作成した
- Ruboty Handler Plugin 作成時の README テンプレートジェネレータ ruboty-megen の REAMDE 内の Commands から Usage へのページ内リンクを追加 #ruboty
- Ruboty ruboty-megen の command ブロックに example を追加
Qiita の記事の生成
上記の全ツールをまとめて紹介
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme