読者です 読者をやめる 読者になる 読者になる

マンガ発売当日告知ボット

Twitter Plagger Perl

昨日のスクリプトを流用して作った。
Twitter / comics_ja
まんがの森の発売リストにあるマンガ(18禁含む)の発売当日にまとめてメッセージがくるようになってるので少なくとも20件位はくるので気をつけてくださいませ。

#!/usr/bin/perl -w

use warnings;
use strict;
use Date::Simple;
use Net::Twitter;
use utf8;
use Encode;

open(IN, "/Path/To/comics.csv") or die $!;
my $charset = "utf8";
my $today = Date::Simple->new;

my @messages;
while (<IN>) {
    chop;
    my $line = decode($charset,$_);
    my($date, $title, $author, $pub, $price) = split(/"?,["\s]*/, $line);
    $date =~ s/T00:00:00//;
    $title =~ s/\s//g;
    if ($date eq $today->format("%Y-%m-%d")) {
        $price =~ s/"//;
        my $day = $today->format("%m/%d");
        push @messages, "[$day] $title / $author / $price";
    }
}
close(IN);

@messages = reverse @messages; # リスト順に並べ替える。

my $twit = Net::Twitter->new(username=>"ユーザ名", password=>"パスワード" );
my @result;
push @result, $twit->update(encode_utf8($_)) for(@messages);

基本的には昨日作ったのと同じで、自分用のリストをなくしてPlaggerでもってきたまんがの森リスト(comics.cvs)にある当日発売のマンガを全部投稿するようにしただけ。id:otsuneさんに教わったPlaggerだけで実現する方法はまだテストできてないからとりあえず保留することに。

ここに書いたスクリプトだとcronの設定は2つ必要だけどまんがの森には月1のアクセス。Plaggerのみだとcronの設定は1つで良いけど、まんがの森には毎日アクセス。一長一短かな? スクリプト書く手間を考えたら当然Plaggerのみの方が良いに決まってるけど、もう書いちゃったからなー。テストしてみてうまく動いたらまた書きます。