搭建专属于你的微信消息推送服务

2021-01-17 18:53:52 +08:00
 JustSong

描述

利用测试号来给自己的微信推送消息,不依赖他人的公众号和服务。

例如可用于监控 Githhub star 数量 :D

项目地址: https://github.com/songquanpeng/message-pusher

在线预览: https://wechat-message.herokuapp.com/

截图

搭建步骤

域名设置

先去你的云服务提供商那里添加一个子域名,解析到你的目标服务器。

服务器端配置

  1. 配置 Node.js 环境,推荐使用 nvm
  2. 下载代码:git clone https://github.com/songquanpeng/message-pusher.git
  3. (可选)修改根目录下的 config.js 文件,在其内可以修改监听的端口,也可配置是否选择开放注册,注意 href 字段不仅仅是域名,后面要加 /。
  4. 安装依赖:npm i
  5. 安装 pm2:npm i -g pm2
  6. 使用 pm2 启动服务:pm2 start ./app.js --name message-pusher
  7. 使用 Nginx 反代我们的 Node.js 服务,默认端口 3000 (你可以在 config.js 中进行修改)。
    1. 修改应用根目录下的 nginx.conf 中的域名以及端口号,并创建软链接:sudo ln -s /path/to/nginx.conf /etc/nginx/sites-enabled/message-pusher.conf注意修改这里的 /path/to/nginx.conf,且必须是绝对路径,当然如果不想创建软链接的话也可以直接将配置文件拷贝过去:sudo mv ./nginx.conf /etc/nginx/sites-enabled/message-pusher.conf
    2. 之后使用 certbot 申请证书:sudo certbot --nginx
    3. 重启 Nginx 服务:sudo service nginx restart

微信公众平台端配置

  1. 首先前往此页面拿到 APP_ID 以及 APP_SECRET 。
  2. 使用微信扫描下方的测试号二维码,拿到你的 OPEN_ID 。
  3. 新增模板消息模板,模板标题随意,模板内容填 {{text.DATA}},提交后可以拿到 TEMPLATE_ID 。
  4. 填写接口配置信息,URL 填 https://你的域名 /前缀 /verify,TOKEN 随意,先不要点击验证。(前缀默认和用户名相同)
  5. 现在访问 https://你的域名 /,默认用户为 admin,默认密码为 123456,登录后根据系统提示完成配置,之后点击提交按钮。
  6. 之后回到微信公众平台测试号的配置页面,点击验证。

验证是否配置成功

访问 https://你的域名 /前缀 /Hi,如果你的微信能够收到一条内容为 Hi 的模板消息,则配置成功。

其他

  1. 后续将支持推送邮件消息,webhook 以及 Markdown 消息,敬请关注。
  2. 如果只是个人使用的话可以考虑使用 v0.1.1 版本,更加轻量。
  3. 项目地址: https://github.com/songquanpeng/message-pusher
8705 次点击
所在节点    分享创造
38 条回复
zitup
2021-01-18 11:10:00 +08:00
可以接收 webhook 吗
JustSong
2021-01-18 11:12:17 +08:00
@draguo 点击通知也能直接跳转过去,对我而言还算可以接受,发送邮件消息的功能后续就会加上,主要是调用简单,一个 GET 请求搞定
abersheeran
2021-01-18 11:12:52 +08:00
@JustSong 没没没。我写一个 Python 版本的,万一以后真有项目要用可以直接用。Node.js 我只是不太熟它的 web 框架,代码啥的我还是看得懂的。
JustSong
2021-01-18 11:16:13 +08:00
@zitup 接收当然是可以的,不过目前消息只能写死在 URL 里,后续版本会提供更加完善的支持
eason1874
2021-01-18 11:17:28 +08:00
自己注册个企业微信就行了,个人也能注册,随便填个企业名字,不用认证。比测试号好用得多。

在“应用管理”自建应用,每个应用的功能跟服务号差不多。

然后你的微信列表就多了一个好友,头像名字就是你的企业微信,点进去是应用列表,每个应用就是一个服务号。
JustSong
2021-01-18 11:33:26 +08:00
@eason1874 这样的呀,长见识了,谢谢,将来会考虑适配一下
MEOWwONE
2021-01-18 13:55:20 +08:00
不错哦 可以看看
xdeng
2021-01-18 14:16:59 +08:00
等一个 go 版
JustSong
2021-01-18 14:38:29 +08:00
@xdeng 后续会考虑的
yanghui1228
2021-01-18 15:11:18 +08:00
太麻烦,直接微信开 qq 邮箱提醒,服务有提醒直接发邮件就行。
zyq2280539
2021-01-18 15:58:27 +08:00
我手上有腾讯企业邮箱,貌似也是习惯了用邮件,感觉都差不多的蛤
jucelin
2021-01-18 16:27:40 +08:00
@eason1874 #25 用群机器人,更简单
eason1874
2021-01-18 17:47:38 +08:00
@jucelin #32 纯粹推送消息,群机器人简单,但是应用的功能远不是群机器人能比的。除了推送消息,每个应用还可以独立设置自定义菜单,接收消息和事件,通过这些可以进行快速交互。

比如,我点下 Nginx 应用菜单就可以快速查询 Nginx 状态和日志,点下安全组应用菜单就可以拿到临时授权链接去把本地 IP 加入白名单,搞完点下删除菜单又可以快速删除,点下 DDNS 应用菜单可以快速开关测试解析,或者给应用发送消息去快速修改。
xinyana
2021-01-18 18:41:30 +08:00
这个可以
abersheeran
2021-01-18 21:07:13 +08:00
@eason1874 我在微信列表没找到我新创建的企业,只有公司的账号。是需要额外配置什么才能在微信列表显示吗?
eason1874
2021-01-18 21:22:22 +08:00
@abersheeran #35 菜单:我的企业 -> 微信插件 -> 邀请关注,扫一下二维码加入企业

https://work.weixin.qq.com/wework_admin/frame#profile/wxPlugin

创建应用在菜单:应用管理 -> 应用 -> 自建 -> 创建应用

https://work.weixin.qq.com/wework_admin/frame#apps
abersheeran
2021-01-18 23:36:37 +08:00
@eason1874 感谢。
NeedforV2
2021-01-22 09:52:09 +08:00
感觉会火,收藏

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/745694

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX