KISSRADIO星星一族 有問必答 Plurk 官方 API
這幾天公司原本的Plurk機器人不能用~~加上Plurk 官方 API 也出來1~2個月左右了~~
於是就用官方釋出的API,玩了一下~~
(首先您必須加入KISSRADIO機器人為好友)
http://www.plurk.com/KISSRADIO999
KISSRADIO星星一族 有問必答 機器人 規劃如下
1.好友噗文帶有星座關鍵字,即機器人回噗
2.機器人會判定是否己經回過噗,回過不再回
完整程式碼如下,我附上註解,重點SQL自動隱碼
<?php
$checkrepo=0;
$zodiac = array(
'水瓶座',
'雙魚座',
'牡羊座',
'金牛座',
'雙子座',
'巨蟹座',
'獅子座',
'處女座',
'天秤座',
'天蠍座',
'射手座',
'摩羯座'
);
$plurk = new plurk_api();
$plurk->login(API_KEY, PLURK_NICK_NAME, PLURK_PASSWORD);
//讀取plurk我設為讀取30則,可試情況調大
$Plurks = $plurk->get_plurks(NULL, 30, NULL, NULL, NULL);
$filter_qualifier = 'asks';
$response_qualifier = 'says';
foreach($Plurks->plurks as $key => $msg){
//讀取發噗文字
$check_str = trim($Plurks->plurks[$key]->content_raw);
if(mb_strlen($check_str, 'UTF-8') != 3) continue;
//讀取回文者id
$Re = $plurk->get_responses($Plurks->plurks[$key]->plurk_id);
//判斷是否自己回過
foreach($Re->friends as $rekey => $remsg){
if($rekey=='3670803'){
$checkrepo = '1';
}
}
//如果沒回過的話就執行
if($checkrepo!='1'){
//判斷字串中是否含有陣列中的關鍵字
if(in_array($check_str, $zodiac)){
//取得噗id
$target_pid = $Plurks->plurks[$key]->plurk_id;
//取得發噗時間
$target_time = strtotime($Plurks->plurks[$key]->posted);
$response = '';
//撈資料
$objResultMWD = new MySQLbasic();
$sql = "XXXXXXXXXXXX";
$objResultMWD->setExecute($sql);
//資料組成
while ($objRecord = $objResultMWD->nextRecord()){
$response .= str_repeat('★', $objRecord->star);
$response .= ' 大星:' . $objRecord->big;
$response .= ' 小星:' . $objRecord->small;
}
$response = addslashes($response);
//回噗
$result = $plurk->add_response($target_pid, $response, 'says');
}
}
}
?>
Plurk機器人製作,請洽 0911-097-991 小彬
相關文章:








您好
想請問一下
我使用大大的程式碼後
可以順利判斷英文關鍵字與回應
但是卻無法判斷中文和回應中文
請問是哪邊的問題呢?
@蟲
請注意一下編碼的問題,或是您server預設字元編碼~~請往這方向找
您好
我有將開頭加上ini_set(‘default_charset’, ‘utf-8′);
將編碼設定成utf-8
但還是不行
@蟲
建議您可以將 取到的字串及回應的字串 echo 出來看看
例如回復早安會變成%E6%97%A9%E5%AE%89
@蟲
您可以試著用iconv去試試~~
因為iconv我沒用過
可能要查下資料試看看
感謝大大回應