[心得] line bot auto beauty 製作分享

看板Soft_Job作者 (Johnny)時間7年前 (2017/01/13 00:04), 7年前編輯推噓17(1709)
留言26則, 18人參與, 最新討論串1/1
最近有點忙,所以做完後到今天才補上文章~ 跨年前在等待煙火時,因為等待時間有點長,所以又想起了之前曾經用 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

01/13 00:54, , 1F
cool :)
01/13 00:54, 1F

01/13 08:14, , 2F
用心 推
01/13 08:14, 2F

01/13 08:30, , 3F
好厲害,小弟才剛開始玩MEAN stack不到一個月
01/13 08:30, 3F

01/13 08:32, , 4F
推薦你可以用mongoose去簡化與mongodb的溝通(訂便當系統
01/13 08:32, 4F

01/13 08:33, , 5F
route那邊可以用controller獨立出來增加可讀及維護性
01/13 08:33, 5F

01/13 08:34, , 6F
小小建議 :)
01/13 08:34, 6F

01/13 08:42, , 7F
小弟剛剛看到你的mongoose了XD
01/13 08:42, 7F

01/13 09:01, , 8F
push!
01/13 09:01, 8F

01/13 09:45, , 9F
推~~
01/13 09:45, 9F

01/13 11:58, , 10F
建議把除了馬囧圖以外的圖片網址改直連 網頁好讀友善
01/13 11:58, 10F
※ 編輯: johnny9144 (59.124.104.253), 01/13/2017 12:39:24

01/13 12:40, , 11F
以修改圖片連結,感謝建議~
01/13 12:40, 11F

01/13 21:10, , 12F
請問圖是自行定義的圖庫嗎
01/13 21:10, 12F

01/13 21:26, , 13F
好詳細的分享!
01/13 21:26, 13F

01/13 21:51, , 14F
圖片是爬蟲直接從 ptt beauty 板拉回來的喔~
01/13 21:51, 14F

01/13 22:20, , 15F
太棒了 我也正在摸索中 感謝分享
01/13 22:20, 15F

01/13 22:28, , 16F
有docker可以抓來玩嗎
01/13 22:28, 16F

01/13 23:39, , 17F
什麼東西的 docker 版呢? 整個 robot還是 crawler?
01/13 23:39, 17F

01/14 22:31, , 18F
推用心,但是顯示不能接受更多好友。哭。
01/14 22:31, 18F

01/14 22:42, , 19F
原po應該是選到Developer trial了,好友上限50人
01/14 22:42, 19F

01/14 23:52, , 20F
可以參考我之前寫的軟體: https://goo.gl/JUp3gS
01/14 23:52, 20F

01/15 10:12, , 21F
推用心
01/15 10:12, 21F
※ 編輯: johnny9144 (122.116.45.17), 01/15/2017 13:01:21

01/15 13:09, , 22F
感謝I大提醒,目前移轉到正式帳號營運,請大家重新加
01/15 13:09, 22F

01/16 08:42, , 23F
用心推
01/16 08:42, 23F

01/17 10:04, , 24F
※ 編輯: johnny9144 (122.116.45.17), 01/17/2017 20:54:07

01/17 20:55, , 25F
連結已更換!
01/17 20:55, 25F

01/19 22:02, , 26F
01/19 22:02, 26F
文章代碼(AID): #1OTwaBR2 (Soft_Job)