Posted at

ポケモンGOの配信チェック(Perl版)

More than 3 years have passed since last update.


はじめに

ポケモン赤緑以来、かれこれ二十年くらいポケモンやってないのに、いつ日本で配信されるのかとApp Storeをちょくちょく確認している自分がいます。

アメリカでめっちゃ流行ってますね。任天堂の株価も気になりますね。

そんななか、、、

_人人人人人人人人_

> なんだこれは! <

 ̄Y^Y^Y^Y^Y^Y^Y ̄

コレは面白い、、、

ということで早速、パクらせていただきました\(^o^)/


実装してみる

久しぶりにPerlを使ってみました。myとか懐かしいw

#!/usr/bin/perl

use strict;
use warnings;
use Encode;
use LWP::Simple;
use Mail::Sendmail;

main();

# sudo cpan install Mozilla::CA
# sudo cpan install Mail::Sendmail
sub main {
my $url = 'https://itunes.apple.com/jp/app/apple-store/id1094591345?mt=8';
my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 1 });
my $response = $ua->get($url);
if ($response->is_success) {
if (index($response->content, 'カスタマーレビュ') > 0) {
my %mail = (
'Content-Type' => 'text/plain; charset="iso-2022-jp"',
'From' => 'pokemon-get-daze@example.com',
'To' => 'pokemon@exapmple.com',
'Subject' => encode('MIME-Header-ISO_2022_JP', 'Pokemon GO was released in Japan!'),
'message' => encode('iso-2022-jp', "Pokemon Go!\n$url")
);
sendmail(%mail) or die $Mail::Sendmail::error;
print "OK. Log says:\n", $Mail::Sendmail::log;
} else {
print "not released\n";
}
}
}


cpanモジュールをインストール

そういえば、Perlってcpanってものがありましたね。インストールしないと動きませんよ。

$ sudo cpan install Mozilla::CA

$ sudo cpan install Mail::Sendmail


Macでメールを送る

Postfixを起動。

sudo postfix start


実行

とりあえず手動実行。cronに登録したらいいと思いますよ。

$ yokoyama@MBAY:~/perl/pokemonGo (master)$ perl pokemonGo.pl 

OK. Log says:
Mail::Sendmail v. 0.79 - Fri Jul 22 00:41:03 2016
Date: Fri, 22 Jul 2016 00:41:03 +0900
Server: localhost Port: 25
From: pokemon-get-daze@example.com
Subject: Pokemon GO was released in Japan!
To: pokemon@exapmple.com

Result: 250 2.0.0 Ok: queued as 6524065FD5FAy


ソースはこちら

https://github.com/tatsuya-yokoyama/pokemonGo