ミニマムBOTは本当に毎日稼働しているのか検証【Twitter API】

製作サイト

ミニマムゲームとは

ミニマムゲームを皆さんはご存知だろうか。

私が運営しているスマメイトというサイトで毎日行われているちょっとした催しで、1~100の数値を選ぶゲームである。

参加にはガチャポイントが3つ必要で、勝った1人が参加者の払ったポイントを総取り出来てしまう。

勝つ条件は、「誰とも被っていない最も小さい数値を選ぶ」こと。

例えば下記の結果では、6を選んだユーザーが勝者となる。

なので、1や2などの小さい数値が競合が起きるため、いかに誰も選ばなさそうな小さい数値を選ぶか、高度な駆け引きを要するゲームだ。
実態はただの運ゲーである

誰にも望まれていなかったコンテンツだけど、なんか楽しそうだから作ったというのが本音だ。(多分当時ライアーゲームにハマっていた)

大体毎日50人~100人くらい参加しているから、作った意味はあったと思う。

ミニマムゲームの結果発表について

ミニマムゲームの投票から結果発表までは、毎日このサイクルで行われている。

ミニマムゲームの時間割
  • 00時00分~
    投票受付期間
    ミニマムゲームの投票ができる。
    1~100の数値を選ぶ。
  • 22時00分~
    受付終了&結果発表
    投票は22時で受付が終了する。
    同時に結果発表も行われる。
  • 23時59分~
    ポイント支払い&結果リセット
    日が変わる直前に、勝者に全ポイントを支払いする。
    それと同時に投票結果がリセットされる。

ご覧の通り、結果発表が見れるのは午後22時から日が変わるまでしかない。

結果発表は記録として残らないので、その時間帯に結果発表を見ていないユーザーは自分が勝ったか外したかも分からない状態だ。

そのため、「なんか分からないけどガチャポイントがめっちゃ増えてる!」と、勝者であることを気づかないままポイントを受け取っている人も度々見かける。

そんな困る仕様に救世主のごとく現れたのは、次に紹介するミニマムBOTだ。

ミニマムBOT(手動)とは

ミニマムBOTとは、ニャハ氏(@nyahahha)が毎日ミニマムゲームの結果をツイートしたことから名づけられた愛称だ。

毎日ミニマムゲームの結果を、スクリーンショット付きでツイートをしている。

しかもこれが自動ならともかく、毎日手動で更新しているそうだ。

一体どんな使命感でこの活動を毎日続けているのかは甚だ疑問だが、極一部のユーザーはここで答え合わせをしているため助かっているとか。

だが、BOTとは言っても所詮はユーザーが手動で行っているツイートだ。

結果発表が撮影できる時間帯は僅か2時間。
22時より前に寝ることすら許されない。
需要を考えるとあまりに辛い習慣だと思う。

「本当は毎日結果ツイートなどしていないのでは?」と、失礼極まりない疑問が突然湧いてきたので、今回はニャハ氏が毎日BOTとしてツイートしているのかを検証してみることにした。

本当に毎日ツイートしているか検証内容

【検証内容】
ニャハ氏が毎日ミニマムゲームの結果のツイートしているかをAPIを使って検証
検証期間は今年の2019年1月1日~2019年5月29日(約5カ月間)
「#今日のミニマム」を含むツイートを取り込む

雑に書いたものだが、一応今回の集計で使用したTwitter API+PHPのコードを記載しておく。(インスタンス生成などは省略)

$last_id = 0;
$aryResult = [];

//大体半月くらい
for($i = 0; $i < 16; $i++){
    $user_params = &#91;
        'screen_name' => 'nyahahha',
        'count' => 200,
        'result_type' => 'mixed'
    ];
    if($last_id){
        $user_params['max_id'] = $last_id;
    }
    $aryList = $connection -> get('statuses/user_timeline', $user_params);
    
    $aryList = json_decode(json_encode($aryList), true);
    
    foreach($aryList as $key => $value){
        $last_id = $value['id'];
        if(strpos($value['text'], '#今日のミニマム') === false) continue;
        $timestamp = strtotime($value['created_at']);
        $jp_date = date('Y-m-d', $timestamp);
        $jp_time = date('H:i', $timestamp);
        
        $aryCmp = [];
        $aryCmp['date'] = $jp_date;
        $aryCmp['time'] = $jp_time;
        $aryCmp['url'] = 'https://twitter.com/nyahahha/status/'.$value['id'];
        $aryCmp['text'] = substr($value['text'], 0, strcspn($value['text'], "\r\n"));
        $aryResult[$jp_date] = $aryCmp;
    }
}

ksort($aryResult);

$table = "";
$table .= "<table>\r\n";
$table .= "<tr><th>日付</th><th>ツイート内容</th><th>投稿時刻</th><tr>\r\n";
foreach($aryResult as $value){
    $table .= '<tr><td>'.$value['date'].'</td><td><a href="'.$value&#91;'url'&#93;.'">'.$value['text'].'</a></td><td>'.$value['time'].'</td><tr>'."\r\n";
}
$table .= "</table>\r\n";

echo $table;

検証結果

日付 ツイート内容 投稿時刻
2019-01-01 SP15 22:00
2019-01-02 SP10 22:00
2019-01-03 3DS2(参加者1名) SP2 22:03
2019-01-04 3DS69 SP11 22:08
2019-01-05 3DS100(参加者1名) SP13 22:01
2019-01-06 3DS2 SP10 22:46
2019-01-07 3DS100 SP21 22:44
2019-01-08 3DS1 SP7 22:49
2019-01-09 3DS2 SP19 22:02
2019-01-10 SP16 22:00
2019-01-11 3DS1 SP25 22:48
2019-01-12 3DS2(参加者1名) SP1 22:01
2019-01-13 3DS2(参加者1名) SP7 22:50
2019-01-14 3DS1 SP8 22:43
2019-01-15 3DS100(参加者1名) SP1 22:00
2019-01-16 SP5 22:08
2019-01-17 3DS1 SP3 22:02
2019-01-18 SP7 22:42
2019-01-19 3DS1 SP2 22:00
2019-01-20 3DS1(参加者1名) SP9 22:42
2019-01-21 3DS100(参加者1名) SP2 22:00
2019-01-22 SP22 22:00
2019-01-23 3DS100(参加者1名) SP16 22:01
2019-01-24 3DS100(参加者1名) SP25 22:08
2019-01-25 3DS2 SP15 22:40
2019-01-26 SP15 22:00
2019-01-27 3DS2(参加者1名) SP25 22:01
2019-01-28 3DS1 SP28 22:42
2019-01-29 3DS勝者なし SP9 22:00
2019-01-30 SP2 22:00
2019-01-31 3DS勝者なし SP14 22:24
2019-02-01 3DS勝者なし SP22 22:50
2019-02-02 3DS1(参加者1名) SP1 22:00
2019-02-03 SP8 22:03
2019-02-04 SP2 22:00
2019-02-05 SP13 22:00
2019-02-06 SP13 22:47
2019-02-07 3DS1(参加者1名) SP3 22:01
2019-02-08 SP4 22:00
2019-02-09 3DS1(参加者1名) SP1 22:00
2019-02-10 3DS1(参加者1名) SP3 22:00
2019-02-11 3DS1 SP1 22:00
2019-02-12 3DS1 SP2 22:00
2019-02-13 3DS1(参加者1名) SP5 22:00
2019-02-14 3DS1(参加者1名) SP2 22:43
2019-02-15 3DS1 SP10 22:03
2019-02-16 SP10 22:00
2019-02-17 3DS勝者なし SP20 22:48
2019-02-18 3DS100 SP25 22:01
2019-02-19 3DS勝者なし SP2 22:48
2019-02-20 3DS100(参加者1名) SP25 22:43
2019-02-21 3DS1 SP10 22:00
2019-02-22 3DS1(参加者1名) SP26 22:01
2019-02-23 3DS1(参加者1名) SP24 22:44
2019-02-24 3DS100 SP5 22:00
2019-02-25 SP10 22:00
2019-02-26 3DS100(参加者1名) SP7 22:01
2019-02-27 3DS1 SP17 22:00
2019-02-28 3DS(最終日)2 SP16 22:00
2019-03-01 SP21 22:01
2019-03-02 SP13 22:46
2019-03-03 SP1 22:41
2019-03-04 SP9 22:46
2019-03-05 SP6 22:00
2019-03-06 SP20 22:03
2019-03-07 SP17 22:00
2019-03-08 SP14 22:06
2019-03-09 SP10 22:41
2019-03-10 SP26 22:00
2019-03-11 SP12 22:38
2019-03-12 SP18 22:50
2019-03-13 SP5 22:39
2019-03-14 SP4 22:00
2019-03-15 SP1 22:00
2019-03-16 SP1 22:23
2019-03-17 SP1 22:45
2019-03-18 SP1 22:45
2019-03-19 SP7 22:00
2019-03-20 SP4 22:00
2019-03-21 SP4 22:02
2019-03-22 SP2 22:00
2019-03-23 SP2 22:00
2019-03-24 SP19 22:23
2019-03-25 SP21 22:00
2019-03-26 SP26 22:00
2019-03-27 SP6 22:44
2019-03-28 SP3 22:03
2019-03-29 SP16 22:01
2019-03-30 SP16 22:21
2019-03-31 SP5 22:00
2019-04-01 SP20 22:50
2019-04-02 SP6 22:00
2019-04-03 SP6 22:00
2019-04-04 SP16 22:01
2019-04-05 SP14 22:15
2019-04-06 SP10 22:18
2019-04-07 SP8 22:05
2019-04-08 SP14 22:00
2019-04-09 SP14 22:48
2019-04-10 SP1 22:21
2019-04-11 SP7 22:14
2019-04-12 SP4 22:02
2019-04-13 SP12 22:00
2019-04-14 SP15 22:38
2019-04-15 SP17 22:16
2019-04-16 SP3 22:00
2019-04-17 SP9 22:18
2019-04-18 SP7 22:44
2019-04-19 SP1 22:00
2019-04-20 SP6 22:25
2019-04-21 SP4 22:23
2019-04-22 SP6 22:04
2019-04-23 SP2 22:41
2019-04-24 SP7 22:02
2019-04-25 SP9 22:39
2019-04-26 SP2 22:00
2019-04-27 SP3 22:00
2019-04-28 SP4 22:44
2019-04-29 SP8 22:02
2019-04-30 SP1 22:08
2019-05-01 SP1 22:00
2019-05-02 SP1 22:00
2019-05-03 SP5 22:53
2019-05-04 SP11 22:09
2019-05-05 SP15 22:00
2019-05-06 SP20 22:01
2019-05-07 SP8 22:38
2019-05-08 SP21 22:10
2019-05-09 SP15 22:00
2019-05-10 SP14 22:00
2019-05-11 SP9 22:22
2019-05-12 SP24 23:10
2019-05-13 SP21 22:00
2019-05-14 SP1 22:00
2019-05-15 SP6 22:00
2019-05-16 SP4 22:00
2019-05-17 SP12 22:00
2019-05-18 SP11 22:00
2019-05-19 SP15 22:12
2019-05-20 SP1 22:13
2019-05-21 SP9 22:01
2019-05-22 SP10 22:00
2019-05-23 SP10 22:12
2019-05-24 SP15 22:43
2019-05-25 SP18 22:00
2019-05-26 SP12 22:09
2019-05-27 SP1 22:00
2019-05-28 SP12 22:02
2019-05-29 SP18 22:27
・・・・・

以上、ミニマムBOTは本当に毎日稼働しているのか検証、でした。
タイトルとURLをコピーしました