読み返すと、年が明けてから、ひとつとてテクニカルな話題を書いていない。
わっさー 用のボットを作るかもしれない、途中で投げ出すかもしれない。ちょこちょことアイデアだけはある。
昨九月に、ワッサー・ゲイザー という開発コードで、MH 風のメッセージで各記事をまとめて、メーラとして読んだり、高評価をつけるという話をしていた。
そのプロトタイプで、Perl でダウンロードツールを作って自分の記事をローカルに保存してみたりしたが、メモリリークを解消することができずに、これでは公開もできないと放ってある。
その時には、API を使うことにこだわり、さらに API で不足な部分を ユーザ用の Web から取ってくることに頭が凝り固まっていて、先に進まなかった。
2週間ほど前に、Gtalk からメッセージを送受信したら一番楽であることに気づく。気づいたきっかけは、ボット好きのユーザと知り合ったこと。
ならば、私もボット作ってみようじゃないか。もう、自分が読める記事を全部読もうと思わなくなったし、メーラ風のインタフェイスを作る興味も失せたが。リハビリには良いだろう。
というわけで、最初に入れた Perl のモジュールは、Net::XMPP3 。jabber で使われる XMPP プロトコルで、メッセージを送受信するためだ。
Net::XMPP がバグを抱えたまま長くメンテされていないので XMPP3 という名前で bug fix した、のだそうだ。ただし、インストール時のテストプログラムの名前が Net::XMPP のままになっている。
アカウント設定などの周辺作業を了えて、さて、ちょっとテストしようかというところで、PC が壊れて中断していた。
今日、Ports の更新をしていて、p5-Astro というジャンルがあるのに気づいた。
おりしも昨日、発言として 日出・月出・月齢告知
機能をつけると宣言したばかり。ここから使えるものがあるかな ?
Astro::MoonPhase , Astro::SunTime , Astro::Sunrise というのがある。
Astro::SunTime よりも、Astro::Sunrise のほうが、きめ細かな指定ができそうだとインストール開始。タイムゾーンを取得できないと、インストーラがテストで停まる。
PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00load.t ....... ok Subroutine main::ok redefined at t/01basic.t line 9 Cannot determine local time zone # Looks like you planned 237 tests but ran 232. # Looks like your test exited with 2 just after 232. t/01basic.t ...... Dubious, test returned 2 (wstat 512, 0x200) Failed 5/237 subtests
ports 更新作業をしながらのかたわら、あまり重い処理をさせるのは鬱陶しいので、軽く流す程度に調べていると、CPAN の中には DateTime::Event::Lunar というのもあるのを発見。こちらをまずインストール。
依存で入った、DateTime::Util::Astro が、太陽と月の出入り、月相くらいならば計算できるようだ。私は DateTime 型を他でも使っているので、こちらでテストして、うまくいけば常時稼働環境に仕込むことに決めた。
0 コメント:
コメントを投稿