function run() { $cache = new FileCache(); $box = $cache->get(self::TWITTER_CRAWL_KEY); if (!is_array($box)) { $box = array(); } $api = new TwitterApi(HIDETOBARA_OAUTH_KEY, HIDETOBARA_OAUTH_SECRET); $a = $api->getHomeTimeline($box); $storage = new TwitterStorage(); $storage->retrieveStatus($a); $storage->saveStatusByDate(LOG_DIR . "status/"); $box = $storage->updateUserCache($box); $cache->set(self::TWITTER_CRAWL_KEY, $box); }
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)); }