搜索
简帛阁>技术文章>开源的微信消息推送服务

开源的微信消息推送服务

项目描述

完全开源的微信消息推送服务,基于微信公众号测试号,可供自建,配置简单,基于 Node.js 开发,类似 Server酱,WxPusher

利用测试号来给自己的微信推送消息,不依赖他人的公众号和服务器,在一定程度上避免了信息泄露。

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

感谢各位的支持,这目前是我 star 数量最多的项目,非常感谢!

2021 年 1 月 14 日:项目即将迎来重大更新,尽情期待!

用途举例

  1. 整合进自己的博客系统,每当有人登录时发微信消息提醒
  2. 在进行深度学习模型训练时,在每个 epoch 结束后将关键数据发送到微信以方便及时监控。
  3. 在各种脚本运行结束后发消息提醒。

搭建步骤

域名设置

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

服务器端配置

  1. 配置 Node.js 环境,推荐使用 nvm
  2. 下载代码:git clone https://github.com/songquanpeng/wechat-message-push.git
  3. 安装依赖:npm i
  4. 安装 pm2:npm i -g pm2
  5. 使用 pm2 启动服务:pm2 start ./app.js --name wechat-message-push-service
  6. 使用 Nginx 反代我们的 Node.js 服务,默认端口 3000。
    1. 修改应用根目录下的 nginx.conf 中的域名以及端口号,并创建软链接:sudo ln -s /path/to/nginx.conf /etc/nginx/sites-enabled/wechat-push-service.conf注意修改这里的 /path/to/nginx.conf,且必须是绝对路径,当然如果不想创建软链接的话也可以直接将配置文件拷贝过去:sudo mv ./nginx.conf /etc/nginx/sites-enabled/wechat-push-service.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://你的域名/,填写表单,之后点击提交按钮。
  6. 之后回到微信公众平台测试号的配置页面,点击验证。

验证是否配置成功

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

待做清单

  • [ ] 支持多用户。
  • [ ] 支持 Markdown。

敬请期待。

PS:本文首发于我的个人博客:https://iamazing.cn/page/message-pusher

项目描述完全消息推送服务,基于公众号测试号,可供自建,配置简单,基于Nodejs开发,类似Server酱,WxPusher利用测试号来给自己推送消息,不依赖他人公众号和服务器,
服务号现在用比较火,用户可以通过信号订阅信息,有时候会用到模板消息。下面贴上代码,有注释写很详细。在此@access_token请调用https://apiweixinqqcom/cgibi
订阅号每天发一次,服务号一个月发四次,这是微信定下规定,无法更改,所以在很多人申请时候就非常纠结,服务号一个月才4条,相对订阅号特别少。今天来给大家分享一下微号帮平台上操作,服务号怎
设置推送类:<?php/***tpshop支付插件**版权所有20152027深圳搜豹网络科技有限公司,并保留所有权利。*网站地址:http://wwwtpshopcn**这不是一个自由软件
一、公众号或测试号内配置,我这里使用是微信测试号点击【新增测试模板进行如下配置】配置模板标题和模板内容,配置完成后如下所示,会生成一个模板id,这个很重要:二、SpringBoot后台实现微信
//推送至微信端//获取tokenAdminadminadminServicegetCurrent();CropcocropServicefindByAdmin(admingetId());Strin
天学习了下企业API,瞬间发现世界明朗了许多,思路清晰了很多。先不说有没有抄袭,至少是给人感觉是好。用户体验是留住用户开发者第一要素。需求:开发车辆管理系统需要给用户发送消息,目前
微信小程序目前支持一次性订阅模板消息,也就是首先在客户端用户允许订阅消息后,服务端可以按照指定模板推送消息客服端,具体会在客户端服务通知通知用户,可以快速跳转至微信小程序页面在我之前文
先用urlencode是因为中文在数组转json时会被编码为unicode,接口无法识别,所以得在json_encode前先来个编码,等转换后再用urldecode转回来,这样传输给接口就是正常
如下所示:from__future__importunicode_literalsfromthreadingimportTimerfromwxpyimport*importrequestsbotBot