private function reply()
 {
     $generator = new ReplyState($this->name);
     $generator->load();
     $box = $this->cache->get($this->cacheKeyLastStatus());
     $timelines = $this->twitter->getHomeTimeline($box);
     $storage = new TwitterStorage();
     $storage->retrieveStatus($timelines);
     foreach ($storage->listStatus as $status) {
         if ($this->isMyTweet($status)) {
             continue;
         }
         if ($this->isSpecialTweet($status) && $this->invoker(5) || $this->isReplyTweetForMe($status)) {
             $best = $generator->generate($status->text);
             if ($best['to']) {
                 $best['text'] = "@" . $status->user->screen_name . " " . $best['to'];
                 $best['reply_to'] = $status->id;
                 $this->postTalk($best);
                 break;
             }
         }
     }
     $this->cache->set($this->cacheKeyLastStatus(), $storage->updateUserCache($box));
 }
                $id = $info['id'];
                if (in_array($id, $keys)) {
                    $this->replyState->learn($this->pickupText($info['text']), $this->threads[$id]['to']);
                }
            }
            $loader->close();
        }
    }
    private function writeReplies()
    {
        $this->replyState->save();
    }
    private function pickupText($text)
    {
        $text = mb_ereg_replace("[\\@\\#][A-Za-z0-9_]+", "", $text);
        $text = mb_ereg_replace("(http|https)://[/A-Za-z0-9\\.\\-\\_\\?\\=]+", "", $text);
        $text = mb_ereg_replace("(>|<| )", "", $text);
        $text = mb_ereg_replace("[ ]+", "", $text);
        return $text;
    }
}
if (false) {
    $instance = new ScanReply('hajimehoshi');
    $instance->run();
}
if (true) {
    $state = new ReplyState('hajimehoshi');
    $state->load();
    $best = $state->generate('寝ます');
    var_dump($best);
}