littlebot
Published on 2025-04-03 / 0 Visits
0

【源码】基于Python的微信模板消息推送系统

项目简介

本项目是基于Python语言开发的微信推送程序,核心功能是向用户推送定制的模板消息,内容包含天气、农历生日提醒等。项目借助wechatpy、requests等第三方库以及Python内置库实现各项功能。

项目的主要特性和功能

  1. 模板消息定制:提供可定制的模板消息系统,用户能按需灵活设置不同模板内容。
  2. 农历生日提醒:支持农历生日提醒功能,用户可自行设置提醒日期和农历生日,程序会在指定时间发送提醒。
  3. 树莓派部署:可部署在树莓派上,实现家庭智能提醒功能,用户在家中接收推送消息。
  4. 多API集成:提供多种API接口,如天气、词霸等,能获取丰富信息内容。
  5. 微信测试号支持:支持微信测试号推送,方便用户测试和使用。

安装使用步骤

前提条件

确保已安装Python ≥3.6 版本,并且pip可以正常使用。

下载源码

复制本项目: git clone https://gitee.com/icbugcoder/wechat-push-multi.git

安装第三方库

在cmd命令行中运行(mac同理在终端或者iterm2中运行): shell pip install -r requirements.txt

微信测试号申请

  1. 微信测试号平台地址:点击前往微信测试号申请页面
  2. 进入后使用微信登录,获取appID和appsecret,粘贴至代码中注释对应区域(# appID #appsecret 注释下方项)。
  3. 扫描测试号二维码获取用户的openid,填写入程序内(openid对应项目即为测试号显示的"微信号")。

模板消息设置

可使用默认模板消息接口,也可自定义。自定义方法需参考程序中 data 的定义,格式为 {{data中的传入参数值.DATA}}

相遇时间及生日设置

在参数设定注释区域内找到 birthdaystart_date 参数并设置参数值: - 生日参数值格式:%month-%day (用月份 - 日期格式填写,不要出现年份) - 相处开始日期参数值格式:使用 年份-月份-日期 的形式填写

时间段消息模板配置

预设了四个时间段,可自行在代码中修改。注意:如果时间段不在范围内,请求的消息将无法发送出去,会报错并返回错误信息。

API申请及秘钥配置

  1. 天行数据
    • 官网:https://www.tianapi.com/ ,进行所需API申请。
    • 进入控制台,进入我的秘钥,复制apikey到代码对应注释区域(# 天行数据 下方的 key = ' key填写于此 ' 内)。
  2. 心知天气API
    • 官网:https://www.seniverse.com/ ,注册后进入控制台,先申请免费版产品。
    • 点击产品内容 --> 免费版,查看默认生成的api秘钥(注意:key为私钥,并非公钥),复制到代码对应注释区(# 心知天气 注释下方的 zxkey = ' apikey填写于此 ')。
    • 在代码中参数设置区域找到 location 项进行填写,设定监测空气质量的地理位置。
  3. 高德地图API
    • 官网:高德开放平台 | 高德地图API (amap.com) ,需进行个人实名认证(使用认证的支付宝账号授权即可)。
    • 进入控制台,创建应用,添加key(选择web服务平台,支持天气调用),将生成的key复制到代码对应填写区域(# 高德key 注释下一行的 gdkey = ' 此处粘贴key ')。
    • 根据腾讯文档表格(【腾讯文档】AMap_adcode_citycode_20210406)找到所在市区县的acode码,复制到代码中参数设置区域下的 cityacode = 'Acode编码'

运行程序

windows: python main.py macos/linux: python3 main.py 上述命令只运行一次,多时间段分别推送需要使用定时执行 crontab 命令。注意:程序运行时挂代理会报错。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】