轉噗機器人製造教學 - HackMD
文章推薦指數: 80 %
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
延伸文章資訊
- 1噗浪機器人範例程式– 使用Plurk API 2.0 - Dada's Blog
噗浪大部分的機器人仍然使用Plurk 1.0 撰寫,甚至有一部分機器人使用的是非官方的API,這篇文章將簡介如何使用Plurk API 2.0 OAuth 的方式開發機器人 ...
- 2【問題】關於噗浪機器人 - 哈啦區
<這個程式需要使用到plurk-oauth 這個Python library, ... 密 打開後輸入教學文內最下面提到的python my-robot.py,my-robot替換成你檔暗的名字...
- 3豹豹BOT - Plurk
更多的機器人朋友: 噗浪機器人資料備忘錄- HackMD 想自己動手做機器人可以參考之前寫的教學 python plurk api 2.0 噗浪機器人製作教學- HackMD 最近的新專案,歡迎關注
- 4Plurk 噗浪機器人設定教學 - demo小鋪
最近很火紅的噗浪demo 也是有在用滴,前陣子發現即時通訊機器人又復活了,但是看周圍的朋友都不知道怎麼用於是就來發個簡單的應用文吧。
- 5[Plurk]噗浪機器人總整理! - 香腸炒魷魚
在加入噗浪機器人之前,最重要的就是要申請一個噗浪帳號,如果不會申請,不用擔心喔!香腸已經為您奉上詳細的教學文章:噗浪申請教學。 使用噗浪時, ...