ruboty-opening_sentenceを公開した
rubotyのプラグインを毎日作ろう3日目、ruboty-opening_sentence
を公開した。
@ruboty
すると青空文庫の小説の中から適当に選んだ小説の書き出しをチャットに書き出してくれる。
書き出しは青空APIサーバーから取ってきている。 APIサーバーについては別の記事で紹介する。
はまったところ
Ruboty::Handlers::Base
、Ruboty::Actions::Base
を継承するのを忘れてしまい、うまく動かなかった。
くふうしたところ
青空文庫から本の情報(タイトル、書き出し、url)をランダムに1つ取る部分をAPIサーバーとして分離した。
そのおかげでruboty-opening_sentenceはapi
を叩いて文字列を整形するだけのシンプルな作りになった。
後置rescue
とreturn
を組み合わせると雑に例外処理が出来ていい。
def call json = open(url).raed rescue return book = JSON.parse(json) rescue return end
例外を握りつぶすActiveSupportのtry
が欲しい。
まとめ
我が輩、毎日rubotyプラグイン書いてるので、本を読む時間はまだない。
ruboty-slotを公開した
スロットが出来るようになった。得点の計算や、所持金の計算はやっていない。
くふうしたところ
リールはパチスロ業界初まとめ ~パチスロはじめて物語を参考にした。
はまったところ
bundle gem スロット
だとRubyの定数の名前としてふさわしくない(定数は必ず大文字の英字からはじまる)のでうまく動かなかった- 苦し紛れに
bundle gem theスロット
をしたけど、Bundlerが読み込む際にパスに日本語が入っているせいかexpand_path
する部分でincompatible encodingのエラーが出て読み込めなかった - GitHubではリポジトリの名前に日本語が使えず
-
で置換される cycle
したあとlazy
せずにdrop
やtake
をすると止まらない。cycle.lazy
あわせて使うようにしたい。- 一度lazyになったものは
to_a
などを呼ばないと配列にならない
所感
まだRubotyにものごとを記憶させることをやらせていないので明日はそのやり方をしらべる。 お金を掛けることが出来るようになるともっと楽しそう。 Rubotyでカジノするための何かが欲しい。
ruboty-hiを公開した
@ruboty hi
するとお返事hi
してくれる。
botが二人いたら無限にhi
してそう。
ruboty-hi | RubyGems.org | your community gem host
モチベーション
@bouzuyaさんの1日1Hubotスクリプトが楽しそうなので真似をしたくてはじめた。今日が1日目。