轉噗機器人製造教學 - HackMD

文章推薦指數: 80 %
投票人數:10人

Before · 一隻Plurk 帳號,用來轉噗的 · 一個Google Drive 帳號,用來寄存機器人 · 電腦,你會需要修改一些程式碼(如果你要挑戰用手機應該也是可以) ...       Published LinkedwithGitHub Like1 Bookmark Subscribe 轉噗機器人製造教學 == Before -- 在這篇教學中,會一步步說明如何製造一隻轉噗機器人。

以下是你會需要的工具: 1.一隻Plurk帳號,用來轉噗的 2.一個GoogleDrive帳號,用來寄存機器人 3.電腦,你會需要修改一些程式碼(如果你要挑戰用手機應該也是可以) Step1. -- 建立好機器人帳號後,前往[註冊應用服務](https://www.plurk.com/PlurkApp/register),裡面的資料不影響後續操作,也不會出現在公開檔案。

![](https://i.imgur.com/jDFr8Ba.png) 官方網站可以填寫機器人的個人檔案(例如https://www.plurk.com/coin_exchange)。

OAuthCallback請留空。

Step2. -- 點入測試工具 ![](https://i.imgur.com/SCzZQeg.png) Step3. -- ![](https://i.imgur.com/WILnpKw.png) RequestToken下,由上至下依序點選按鈕(`GetRequestToken`、`OpenAuthorizationURL`、`GetAccessToken`) 在第二個按鈕(`OpenAuthorizationURL`)會彈出視窗,點選授權後會取得數字,填入第三個按鈕(`GetAccessToken`)跳出的輸入區。

![](https://i.imgur.com/300ko0p.png) ![](https://i.imgur.com/sdnmpqX.png) (上方的數字填入下方的輸入框) ![](https://i.imgur.com/Jk7TOoH.png) Step4. -- 保留左方四個輸入框的文字。

(如果不小心遺失了,回到[應用服務](https://www.plurk.com/PlurkApp/)後自Step2.起重新操作即可。

) ![](https://i.imgur.com/WILnpKw.png) Step5. -- 進入[GoogleAppScript](https://script.google.com/home)並建立新專案。

![](https://i.imgur.com/qdalzoW.png) Step6. -- 複製以下程式碼,覆蓋其中區塊 ```js constCONSTANTS={ 'app_key':'', 'app_secret':'', 'user_key':'', 'user_secret':'', 'replurk_query':'', } functionreplurker(){ constlastPlurkReplurked=+PropertiesService.getScriptProperties().getProperty('LAST_PLURK')||init(); letreplurkIds=[]; letindex=0; do{ constdata=request('/APP/PlurkSearch/search',{query:CONSTANTS.replurk_query,offset:30*index++}); if(!data.plurks)break; constplurkIds=data.plurks.map(plurk=>plurk.plurk_id); replurkIds=replurkIds.concat(plurkIds.filter(plurkId=>plurkId>lastPlurkReplurked)); if(!data.has_more||index>3)break; }while(Math.min(...replurkIds)>lastPlurkReplurked); if(replurkIds.length===0){ Logger.log('Nonewplurk'); return; } Logger.log('Goingtoreplurk:'+JSON.stringify(replurkIds)); request('/APP/Timeline/replurk',{ids:JSON.stringify(replurkIds)}); PropertiesService.getScriptProperties().setProperty('LAST_PLURK',Math.max(...replurkIds)); } functioninit(){//obtainproperty constlastestPlurks=request('/APP/PlurkSearch/search',{query:CONSTANTS.replurk_query}).plurks; letid=1; if(lastestPlurks.length)id=lastestPlurks[0].plurk_id; PropertiesService.getScriptProperties().setProperty('LAST_PLURK',id.toString()); returnid; } functionrequest(endpoint,parameters,keySecret=CONSTANTS){ if(!endpoint.startsWith('https://'))endpoint='https://www.plurk.com'+endpoint; constoauthParameters={ oauth_consumer_key:keySecret.app_key, oauth_token:keySecret.user_key, oauth_signature_method:'HMAC-SHA1', oauth_timestamp:Math.floor(+newDate()/1000), oauth_nonce:Math.floor(Math.random()*1000), oauth_version:'1.0' } constbaseString=getBaseString('POST',endpoint,oauthParameters); oauthParameters['oauth_signature']=encodeURIComponent(sign(keySecret.app_secret,keySecret.user_secret,baseString)); constauthHeader='OAuth'+Object.entries(oauthParameters).map(pair=>`${pair[0]}="${pair[1]}"`).join(','); returnJSON.parse(UrlFetchApp.fetch(endpoint,{ method:'post', contentType:'application/json', payload:JSON.stringify(parameters), headers:{ 'Authorization':authHeader } }).getContentText()); } functionsign(consumerKey,userKey,baseString){ returnUtilities.base64Encode( Utilities.computeHmacSignature(Utilities.MacAlgorithm.HMAC_SHA_1,baseString,consumerKey+'&'+userKey) ); } functiongetBaseString(method,url,parameters){ constparams=Object.entries(parameters).sort((a,b)=>a[0].localeCompare(b[0])); returnmethod.toUpperCase()+'&' +encodeURIComponent(url)+'&' +encodeURIComponent(params.map(pair=>pair.join('=')).join('&')); } ``` ![](https://i.imgur.com/BQw5vRF.png) Step7. -- 在最開頭的地方,將Step4.取得的分別填入其中,並在replurk_query後的引號中,輸入要轉噗的查詢字串。

可以利用`-`排除某些字眼,在下圖的案例中,若是噗文`#噗幣交易所賣噗幣10顆500元#不要轉我`就不會被轉噗。

![](https://i.imgur.com/2TJ7IzD.png) Step8. -- 儲存會提示取個名字,可以自由選擇。

**會在雲端硬碟中新增檔案,請留意不要刪除**。

接著選擇編輯→現有專案的啟動程序 ![](https://i.imgur.com/Oq4vcEc.png) 右下角新增觸發條件 ![](https://i.imgur.com/Aqokof7.png) Step9. -- 選取時間型觸發條件類型改為分鐘計時器,選去分鐘間隔可選擇每5分鐘。

須留意第一項應該要是replurker,若有不同請自行調整,接著就可以儲存了。

![](https://i.imgur.com/yq9VnOL.png) After -- 到這裡就完成轉噗機器人的製造了。

如果想觀察機器人做了什麼,可以從右方的三個點進入→執行項目。

![](https://i.imgur.com/YbIuUC3.png) 若是有符合條件的噗文,點開會看到`Goingtoreplurk:[...]`,若否,則會看到`Nonewplurk`。

![](https://i.imgur.com/YGGTEOJ.png) ######tags:`Guide``Tools``Plurk` 1 × Signin Email Password Forgotpassword or Byclickingbelow,youagreetoourtermsofservice. SigninviaFacebook SigninviaTwitter SigninviaGitHub SigninviaDropbox NewtoHackMD?Signup



請為這篇文章評分?