首頁 > API > KISSRADIO星星一族 有問必答 Plurk 官方 API

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 小彬

相關文章:

Categories: API Tags: 1,334
  1. 2010年3月9日21:55 | #1

    您好
    想請問一下
    我使用大大的程式碼後
    可以順利判斷英文關鍵字與回應
    但是卻無法判斷中文和回應中文
    請問是哪邊的問題呢?

  2. 2010年3月9日22:21 | #2

    @蟲
    請注意一下編碼的問題,或是您server預設字元編碼~~請往這方向找

  3. 2010年3月9日22:29 | #3

    您好
    我有將開頭加上ini_set(‘default_charset’, ‘utf-8′);
    將編碼設定成utf-8
    但還是不行

  4. 2010年3月9日22:38 | #4

    @蟲
    建議您可以將 取到的字串及回應的字串 echo 出來看看

  5. 2010年3月9日22:43 | #5

    例如回復早安會變成%E6%97%A9%E5%AE%89

  6. 2010年3月9日22:46 | #6

    @蟲
    您可以試著用iconv去試試~~

  7. 2010年3月9日23:14 | #7

    因為iconv我沒用過
    可能要查下資料試看看
    感謝大大回應

  1. 本篇文章目前尚無任何 trackbacks 和 pingbacks。