作者johnny9144 (Johnny)
看板Soft_Job
标题[心得] line bot auto beauty 制作分享
时间Fri Jan 13 00:04:18 2017
最近有点忙,所以做完後到今天才补上文章~
跨年前在等待烟火时,因为等待时间有点长,所以又想起了之前曾经用
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://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1484237067.A.6C2.html
※ 编辑: johnny9144 (122.116.45.17), 01/13/2017 00:06:23
1F:推 kkid: cool :) 01/13 00:54
2F:推 gctcxu: 用心 推 01/13 08:14
3F:推 u9541526: 好厉害,小弟才刚开始玩MEAN stack不到一个月 01/13 08:30
4F:→ u9541526: 推荐你可以用mongoose去简化与mongodb的沟通(订便当系统 01/13 08:32
5F:→ u9541526: route那边可以用controller独立出来增加可读及维护性 01/13 08:33
6F:→ u9541526: 小小建议 :) 01/13 08:34
7F:→ u9541526: 小弟刚刚看到你的mongoose了XD 01/13 08:42
8F:推 jjwei: push! 01/13 09:01
9F:推 sppqre: 推~~ 01/13 09:45
10F:推 ian90911: 建议把除了马囧图以外的图片网址改直连 网页好读友善 01/13 11:58
※ 编辑: johnny9144 (59.124.104.253), 01/13/2017 12:39:24
11F:→ johnny9144: 以修改图片连结,感谢建议~ 01/13 12:40
12F:推 tmdla: 请问图是自行定义的图库吗 01/13 21:10
13F:推 ZC: 好详细的分享! 01/13 21:26
14F:→ johnny9144: 图片是爬虫直接从 ptt beauty 板拉回来的喔~ 01/13 21:51
15F:推 ghostwolf90: 太棒了 我也正在摸索中 感谢分享 01/13 22:20
16F:推 gotptt: 有docker可以抓来玩吗 01/13 22:28
17F:→ johnny9144: 什麽东西的 docker 版呢? 整个 robot还是 crawler? 01/13 23:39
18F:推 u9722206: 推用心,但是显示不能接受更多好友。哭。 01/14 22:31
19F:推 ichico: 原po应该是选到Developer trial了,好友上限50人 01/14 22:42
21F:推 zrna0515: 推用心 01/15 10:12
※ 编辑: johnny9144 (122.116.45.17), 01/15/2017 13:01:21
22F:→ johnny9144: 感谢I大提醒,目前移转到正式帐号营运,请大家重新加 01/15 13:09
23F:推 love00077: 用心推 01/16 08:42
※ 编辑: johnny9144 (122.116.45.17), 01/17/2017 20:54:07
25F:→ johnny9144: 连结已更换! 01/17 20:55
26F:推 jay123peter: 推 01/19 22:02