看板 Soft_Job 關於我們 聯絡資訊
最近有點忙,所以做完後到今天才補上文章~ 跨年前在等待煙火時,因為等待時間有點長,所以又想起了之前曾經用 facebook message 製作的 ptt beauty 機器人,可以自動發送表特版上 面的圖片,但是因為臉書表示"表特版的圖違反善良風俗,希望能把message api 用在更有意義的地方"(可能看到某人泳裝照?),所以一直不給通過... http://i.imgur.com/OdSO5Wm.jpg 所以一直沒有公開,稍微查了一下,發現最近 Line bot又可以免費申請試玩 帳號,所以一放完煙火回家就迫不及待的開始製作 1.首先我們要到 https://business.line.me/zh-hant/用你原本的 Line 帳號 登入,並在上面的帳號清單裡面,申請建立商用帳號 http://i.imgur.com/WySfjlc.png 選最下面的 Messaging API 開始接著申請,依照只是填入資料,最後 http://i.imgur.com/etDxF6p.png 就代表申請成功拉~ 2.再來就是重頭戲的地方,點選"前往LINE@MANAGER"後會看到以下畫面 http://i.imgur.com/WU6liDb.png 似乎為了安全或是隱私之類的問題,帳號一旦啟用了Bot服務,就不能 再跟使用者1:1對話了,不過不按確認就沒辦法繼續下去,還是得往下走, 再來會出現此畫面 http://i.imgur.com/UodGzio.png 請將 "Webhook傳訊"設定改成允許,並儲存; 接著同個頁面有個 "LINE Developers"可以點選(個人覺得很不明顯,當初找超久) http://i.imgur.com/2wlODbs.png 接著就會來到 bot callback 設定頁面,在最下面有個edit點下去 http://i.imgur.com/hgsURF6.png 然後填入你的 bot callback server 要設定在哪裡 http://i.imgur.com/DVPUyZW.png 請注意這個 server 必須支援 https 並且一定要是他認為安全的憑證(當初 有找到他的list,但是不知道去哪了XD) 我個人是使用 https://www.sslforfree.com/ 取得的憑證,取得憑證他會需要 驗證你是不是這個主機的擁有者,他有三種方式前兩種都是必須要在 server上, 進行操作,我是直接使用第三種,直接在 DNS裡面加上 TXT record,然後就 可以取得 SSL憑證了。 3.至於怎麼加憑證到你自己的 server,就請自行 google了,使用 NodeJs的人, 可以參考。 4.再來就是圖片來源的方式,我是使用之前自己寫的另一個 npm crawler 模組,定時去 ptt beauty 版,把圖片連結儲存回來,詳情就不在這裡多做介紹。(有興趣可以 參考 https://www.npmjs.com/package/pttcrawler) 5.接下來就是 Bot的部分,Bot 的訊息傳送流程大概是像這樣 用戶傳訊息給 Bot -> Line Server -> 你的 Server -> Line Server -> 用戶 你的 callback Server 會收到 POST Request 然後會帶一組 json資料,裡面會包含 用戶傳送的內文或是觸發的 Event,以及 一組 "replyToken",這很重要!! 一組 replyToken 只能讓你對用戶進行一次操作( facebook messages只要知道用戶是誰 就可以對他主動發話),然後就可以參考 https://devdocs.line.me/en/#reply-message 看你想要回應怎麼樣的動作,document send-message-object 裡面有各種可以回應的 方式,任君挑選~ 我當然是回應圖片拉~~ 完成後,只要用用手機 LINE 掃描前面提到的 LINE@MANAGER裡面的帳號設定的行動條碼 將自己的 Bot 加到自己的 LINE 好友,就會觸發第一種 Event 加入好友, 預設是會回應一些罐頭字串,可以在 LINE@MANAGER改掉,再來發送訊息或貼圖, 就可以開始跟自己的 Bot 對話拉~ 做完抬頭才赫然發現竟然天亮了,好像差不多該去總統府升旗了? 6.接下來當然是要附上 Beauty Bot 的 QrCode http://qr-official.line.me/L/4QChidDkJ_.png
或是使用手機直接點選連結 https://line.me/R/ti/p/%40vmy3572w 就可以開始玩拉,吃飯、睡覺、工作之餘隨手來幾張美圖,心情暢快~ 7. 附上 Githb 專案 https://github.com/johnny9144/beautyPtt 各位大神請手下留情,不要鞭太用力~ facebook 該 Bot 的 粉絲專業 https://www.facebook.com/pttBeautyAuto/ P.S 第一次加入該 Bot時,請使用手機,Bot會要求授權,用電腦好像會有問題 有寫錯或是少寫的地方還請各位大神補充~ 祝大家新年快樂~都不要刷到"馬囧"圖! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.45.17 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1484237067.A.6C2.html ※ 編輯: johnny9144 (122.116.45.17), 01/13/2017 00:06:23
kkid: cool :) 01/13 00:54
gctcxu: 用心 推 01/13 08:14
u9541526: 好厲害,小弟才剛開始玩MEAN stack不到一個月 01/13 08:30
u9541526: 推薦你可以用mongoose去簡化與mongodb的溝通(訂便當系統 01/13 08:32
u9541526: route那邊可以用controller獨立出來增加可讀及維護性 01/13 08:33
u9541526: 小小建議 :) 01/13 08:34
u9541526: 小弟剛剛看到你的mongoose了XD 01/13 08:42
jjwei: push! 01/13 09:01
sppqre: 推~~ 01/13 09:45
ian90911: 建議把除了馬囧圖以外的圖片網址改直連 網頁好讀友善 01/13 11:58
※ 編輯: johnny9144 (59.124.104.253), 01/13/2017 12:39:24
johnny9144: 以修改圖片連結,感謝建議~ 01/13 12:40
tmdla: 請問圖是自行定義的圖庫嗎 01/13 21:10
ZC: 好詳細的分享! 01/13 21:26
johnny9144: 圖片是爬蟲直接從 ptt beauty 板拉回來的喔~ 01/13 21:51
ghostwolf90: 太棒了 我也正在摸索中 感謝分享 01/13 22:20
gotptt: 有docker可以抓來玩嗎 01/13 22:28
johnny9144: 什麼東西的 docker 版呢? 整個 robot還是 crawler? 01/13 23:39
u9722206: 推用心,但是顯示不能接受更多好友。哭。 01/14 22:31
ichico: 原po應該是選到Developer trial了,好友上限50人 01/14 22:42
appleboy46: 可以參考我之前寫的軟體: https://goo.gl/JUp3gS 01/14 23:52
zrna0515: 推用心 01/15 10:12
※ 編輯: johnny9144 (122.116.45.17), 01/15/2017 13:01:21
johnny9144: 感謝I大提醒,目前移轉到正式帳號營運,請大家重新加 01/15 13:09
love00077: 用心推 01/16 08:42
stu51211: http://i.imgur.com/oOiJjMz.jpg 01/17 10:04
※ 編輯: johnny9144 (122.116.45.17), 01/17/2017 20:54:07
johnny9144: 連結已更換! 01/17 20:55
jay123peter: 推 01/19 22:02