tetsunosukeのnotebook

tetsunosukeのメモです

Twitter関連メモ

Net::MSNとNet::Twitterあたりあれば、MSNの状態をTwitterに投げれるかな?
http://search.cpan.org/src/DJR/Net-MSN-1.022/MSN.pm
http://search.cpan.org/~cthom/Net-Twitter-1.04/lib/Net/Twitter.pm
http://cubic9.com/Devel/Perl/MSN.pm%20(Bot-Depot%20realesed)/

最悪メッセンジャーのプロトコルをチェック、と。
http://www.hypothetic.org/docs/msn/index.php

で、作ってみた。

MSNメッセンジャーのステータス情報に関してはうまくいかないっぽいので諦めた。(なんていうかそこを変更しても、イベントが発生しないのである)

とりあえずお手軽に(?)作れるのでご紹介。

まずは、

$ cpan
> force install Net::MSN
> force install Net::Twitter
> force install JSON

これで、モジュールはそれなりに。

あとはMSNメッセンジャーのPerlクライアントを落としてきて
http://search.cpan.org/src/DJR/Net-MSN-1.022/client.pl

こいつを編集する。
ポイントはこんな感じ。
この二つは追加する。

use Net::Twitter;
use JSON;

さらに

my $handle = '<hotmailアカウント(自分のじゃなくて話しかける相手用)>';
my $password = '<そのパスワード>';


あとは、ココを

$sb->sendmsg('I dont know, what you say?? "'. $message. '"');

こんな感じにTwitterを呼び出して

my $t = Net::Twitter->new(
  username => '<twitter-id>',
  password=>'<twitter-pw>');

送りつける

my $result = $t->update($message);

結果を知りたければsendmsgでMSNメッセンジャーに返してあげればいい。

if( $result ){
  $sb->sendmsg("OK:" . $message);
} else {
  $sb->sendmsg("occurs an error");
}

$messageに対して前半角判断をして、スペースとかをつけてあげたほうがもしかしたらいいかも。

こいつを立ち上げれば常駐するので、そいつに対して話しかければOK.