使用Bark实现博客评论实时推送到手机

前言

这也算是之前挖的一个坑,现在来把它填上

我在做什么

设想一下,如果万一哪一天有人在我的博客下面写了评论,我如何能第一时间得知这个消息并进行回复呢?折腾完这一波,我们就能实现:当有人发表了新的评论时,我的手机能立即接收到推送,并会自动将评论的内容等详细信息发送到我的邮箱;然后我回复之后对方的邮箱可以收到我的回复内容。

本文的重点就在于第一点:手机能立即接收到推送,当然除了有新评论这个事件,我设定了每天早上8点钟它会给我推送上一天的网站访问量,我好知道昨天有多少人访问了我的网站,当日最受欢迎的文章是哪一篇。

fig. 1

如上图,左图是每日报告,右图是新评论的推送通知。如果之后想在什么其他事件上加推送也很容易。

如何部署

系统需求

服务端没什么要求,托管博客网站的Linux服务器就非常适合;主要是客户端,Bark这个东西现在只有iOS客户端,所以你需要一台iPhone。

服务端

首先在GitHub上下载,我为了省事就直接下载二进制版本了,随便放到服务器上你喜欢的位置,启动服务。

1
./bark-server -l 0.0.0.0 -p 8080 -d ./bark-data

然后可以用curl 0.0.0.0:8080/ping来测试服务是否已经顺利启动,正常的话会返回一个JSON字符串{"code":200,"data":{"version":"1.0.0"},"message":"pong"}

更详细的部署文档请参考作者的网站

客户端

在App Store里搜索Bark安装,启动APP点击右上角的加号,把服务器的地址输入进去即可。

发送请求

打开手机上的客户端,你会看到包含你设备唯一ID的一系列URL,根据实际需求复制你需要的URL出来,向这个URL发起GET请求后,你的手机上就应该能收到推送了。

我没有iPhone咋办呐

如果你使用的是Android手机,或者想推送到桌面系统(Windows/macOS),也可以使用钉钉机器人来实现自定义消息推送

自己注册一个企业,这个企业里只有你自己一个人。然后在企业的全员群里添加一个自定义机器人:

fig2

之后根据文档向它给你的webhook地址发送对应的请求就可以看到推送啦~