Portal:siro

ダイレクトマーケティングブログ

よあ☆ぼとにF国募集状況をお知らせする機能をつけました

以下、ソース。php初心者が書いてるんで色々おかしいところは見逃してくださいげふ。

<?php
	// 基本部分
	require_once 'Services/Twitter.php';
	$user = '********';
	$pass = '********';
	$st =& new Services_Twitter($user, $pass);
	$st->setAppName('***********');
	$st->setAppVersion('0.1');
	$st->setAppURL('*****************************');

	// XMLを読み込む
	// 詳細:http://jinxml2.appspot.com/
	$xml = simplexml_load_file("http://jinxml2.appspot.com/XmlOut");

	// 村に関してアナウンス
	for ( $i = 0; $i < count($xml) ; $i++ ){
		if ( strcmp($xml->villageGoing[$i]['stage'],"VS_ENTRY") == 0) {
			// 参加者募集中の村をアナウンス
			// VS_ENTRY:募集中、VS_PROGRESS:進行中、VS_EPILOGUE:エピローグ、VS_NOMORE:定員一杯(プロローグ)
			$st->setUpdate("【F国村情報】" . $xml->villageGoing[$i]['fullName'] . date('(H:i 更新)',strtotime($xml->villageGoing[$i]['nextCommit'])) . "が村人募集中みたい。");
		}
	}
?>

詳細

F国村情報に関してはどのように集めるかが私にとっての課題で今まで放置してました。
人狼SNSの管理人さんみたいに豪快な処理は技術的にできないし、rdf(RSS)見ても村が立ったとか参加者募集中とか私のあんぽんたんな頭では読み取れない*1ので…。だから難しいかなあと思っていたのですが、

JinXML トップページ
http://jinxml2.appspot.com/

こちらのREST XMLを使うことで解決しました…。
なんという。ありがとうございますありがとうございます。
おかげでちょっとXML周りで苦労しただけで済みましたPHPXML扱うの初めてだったんですよぅヽ(`Д´;)ノ


これでしばらく前に調子が悪いことを理由に機能を停止したクローン国の新着村情報も復活できるかな…?
Yahoo!Pipesでまとめるだけまとめてしまって、条件絞り込みとかはこっちで…という感じ?それとも面倒くさいけどXML1つずつ丁寧に読み込みに行く…?
(多分Y!Pipes側のRSSリロードタイミングとか時差とか色んな条件が重なって不具合が出たので、一部作業はこちらでちゃんとプログラム組んでやるべきかなあとは思ってます)
今のところはまだ未定。

*1:そもそもRSSにデータが含まれるのかもわかってない