RubotyはhubotクローンでRubyで書けるbotです。
このチュートリアルではRubotyのインストールとプラグインの作成方法を紹介します。
冗長な説明をあえて除きRubotyを動かすために重要な部分のみ解説することでスピーディにRubotyを動作できるようにしています。
Rubotyをローカルで動かす
以下のコマンドでinstallします。
1
|
|
以下のコマンドでひな形を作成します。
ruboty/
ディレクトリとその配下にGemfileが作成されます。
1
|
|
Rubotyを起動してみます。
1 2 3 |
|
すると対話型のプロンプトが起動します。
1 2 3 |
|
ruboty pingコマンドを実行します。
1 2 |
|
ruby helpコマンドで一覧が見れます。
1 2 3 4 |
|
Rubotyプラグインを作成する
Ruboty はhubotと同様にプラグインで拡張できます。
Helloプラグインを作成してみましょう。
Helloプラグインはhelloと挨拶すると、helloと挨拶を返すだけのプラグインです。
hello.rb
1 2 3 4 5 6 7 8 9 10 11 |
|
Ruby::handlers
の名前空間の下にプラグインの名前でクラスを作成し、on
メソッドを定義します。
on
メソッドの第1引数はコマンドです。正規表現で定義できます。
第2引数は呼び出すメソッド名、コマンドの説明等のオプションを指定します。
実行してみましょう。
-l
オプションで読み込むファイルを指定することができます。
1 2 3 4 |
|
また、bot名のprefixなしに実行することもできます。
allオプションを使って実装します。
サンプルとして、ぬるぽプラグインを実装します。
これはぬるぽという言葉に反応するプラグインです。
nullpo.rb
1 2 3 4 5 6 7 8 9 10 11 |
|
実行してみましょう。
-l
オプションで読み込むファイルを指定することができます。
1 2 3 4 |
|
bot名のprefixがなくても反応していることが確認できます。
次回はSlackと連携させる方法を紹介します。