今回は
何か実装した、というわけではなく、実装したものに対する備忘録です。
(1)reply制限で必要な文字列の抽出を更に追記する
これ自体はEasybotter非公式wikiの中にあるソースの一部です。
if(preg_match("@bot@i",(string)$reply->user->screen_name) || in_array((string)$reply->user->screen_name,$bottername)){
を
if(preg_match("@bot@i",(string)$reply->user->screen_name) || preg_match("/[0-9_]/",(string)$reply->user->screen_name) || in_array((string)$reply->user->screen_name,$bottername)){
とすると、指定したID、botと名の付くIDの他に、IDに数値または_(アンダーバー)が付くものも対象とすることができる。
(2)TL反応をさせないように指定する
これ自体はEasybotterの掲示板に書かれたものです。
「function makeReplyTimelineTweets」ののところにある
$replyTweets = array(); foreach($timeline as $tweet){ $status = "";
と書かれたところを
$replyTweets = array(); // :::::: 特定IDを除外 除外screen_name $deny_screen_names = array('a_bot','b_bot','c_bot'); foreach($timeline as $tweet){ // :::::: 特定IDを除外 if (in_array((string)$tweet->user->screen_name,$deny_screen_names)){ continue; } $status = "";
と書き換えると除外することが出来る。
deny_screen_names のシングルクォート内に指定し、カンマで区切って複数指定が可能。
(3)TLの読み込みカウントを増やす
これ自体はEasybotterの掲示板に書かれたものです。
最初に
function _getData($url){ $response = $this->consumer->sendRequest($url,array(),"GET"); $response = simplexml_load_string($response->getBody()); return $response; }
を
function _getData($url,$value = array()){ $response = $this->consumer->sendRequest($url,$value,"GET"); $response = simplexml_load_string($response->getBody()); return $response; }
に書き換え、付近にある
function getFriendsTimeline(){ $url = "http://api.twitter.com/1/statuses/friends_timeline.xml"; return $this->_getData($url); }
を
function getFriendsTimeline(){ $url = "http://api.twitter.com/1/statuses/friends_timeline.xml"; return $this->_getData($url,array("count"=>"180")); }
に書き換える。
なお、"count"の後ろの数値でそのカウント数を変更でき、最大200である。
訳分からんものを抜粋しているので、それ以外は参考にしたページを見れば大丈夫……のはず。
ちょっと特殊な記法が必要なもの、あと自分自身で色々弄ったところは書き出すかも知れないけど……。