LoginSignup
3
3

More than 5 years have passed since last update.

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

Posted at

はじめに

ポケモン赤緑以来、かれこれ二十年くらいポケモンやってないのに、いつ日本で配信されるのかと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

ソースはこちら

3
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3