| 1 | <?php |
|---|
| 2 | mb_language('Japanese'); |
|---|
| 3 | mb_internal_encoding('UTF-8'); |
|---|
| 4 | |
|---|
| 5 | |
|---|
| 6 | require_once "Services/Twitter.php"; |
|---|
| 7 | require_once "HTTP/Request.php"; |
|---|
| 8 | define("TWITTER_USER", "kamikitter"); |
|---|
| 9 | define("TWITTER_PASS", "********************"); |
|---|
| 10 | echo "kamikitter is running...\n\n"; |
|---|
| 11 | |
|---|
| 12 | $st =& new Services_Twitter(TWITTER_USER, TWITTER_PASS); |
|---|
| 13 | $st->setAppName('kamikitter'); |
|---|
| 14 | $st->setAppVersion('0.2'); |
|---|
| 15 | $st->enableJsonConvert(); |
|---|
| 16 | |
|---|
| 17 | $friends = array(); |
|---|
| 18 | |
|---|
| 19 | |
|---|
| 20 | $url = "http://twitter.1x1.jp/rss/search/keyword=%E4%B9%85%E3%81%97%E3%81%B6%E3%82%8A+OR+%E3%82%BF%E3%83%A2%E3%83%AA+OR+%E3%81%84%E3%81%84%E3%81%A8%E3%82%82&lang=&text=1"; |
|---|
| 21 | $doc = sendRequest($url); |
|---|
| 22 | $doc = preg_replace("/&/", "&", $doc); |
|---|
| 23 | $xml = new SimpleXMLElement($doc); |
|---|
| 24 | |
|---|
| 25 | foreach($xml->channel->item as $key => $val) { |
|---|
| 26 | if (strtotime($val->pubDate) > strtotime("-1 day") && preg_match("/^@(.+)\s<.+>$/", $val->title, $matches)) { |
|---|
| 27 | $friends[$matches[1]] = "あれ、髪切った?"; |
|---|
| 28 | } |
|---|
| 29 | } |
|---|
| 30 | |
|---|
| 31 | |
|---|
| 32 | for ($page = 1; $page < 4; $page++) { |
|---|
| 33 | $replies = $st->getReplies($page); |
|---|
| 34 | if (!is_array($replies) || count($replies) < 1) { break; } |
|---|
| 35 | foreach ($replies as $reply) { |
|---|
| 36 | if (strtotime($reply["created_at"]) < strtotime("-1 day")) { |
|---|
| 37 | break 2; |
|---|
| 38 | } elseif (preg_match("/^@kamikitter\s.*(@[a-z0-9_]+).*/i", $reply["text"], $matches)) { |
|---|
| 39 | $friends[$matches[1]] = "@" . $matches[1] . " @" . $reply['user']['screen_name'] . "さんとは仲いいの? あれ、髪切った?"; |
|---|
| 40 | } else { |
|---|
| 41 | $friends[$reply['user']['screen_name']] = "それじゃそろそろお友達を… @で教えてくれるかな?"; |
|---|
| 42 | } |
|---|
| 43 | } |
|---|
| 44 | } |
|---|
| 45 | |
|---|
| 46 | |
|---|
| 47 | foreach ($friends as $friend => $val) { |
|---|
| 48 | $res = $st->setUpdate("@" . $friend . " " . $val); |
|---|
| 49 | echo $friend . "::" . $val . PHP_EOL; |
|---|
| 50 | } |
|---|
| 51 | |
|---|
| 52 | |
|---|
| 53 | |
|---|
| 54 | |
|---|
| 55 | |
|---|
| 56 | |
|---|
| 57 | function sendRequest($url) { |
|---|
| 58 | $request = new HTTP_Request($url); |
|---|
| 59 | $response = $request->sendRequest(); |
|---|
| 60 | if (PEAR::isError($response)) { |
|---|
| 61 | echo $request->getResponseCode(); |
|---|
| 62 | echo "http requesr error..."; |
|---|
| 63 | exit; |
|---|
| 64 | } |
|---|
| 65 | return $request->getResponseBody(); |
|---|
| 66 | } |
|---|
| 67 | |
|---|
| 68 | ?> |
|---|