项目简介
本项目是基于Python语言开发的微信推送程序,核心功能是向用户推送定制的模板消息,内容包含天气、农历生日提醒等。项目借助wechatpy、requests等第三方库以及Python内置库实现各项功能。
项目的主要特性和功能
- 模板消息定制:提供可定制的模板消息系统,用户能按需灵活设置不同模板内容。
- 农历生日提醒:支持农历生日提醒功能,用户可自行设置提醒日期和农历生日,程序会在指定时间发送提醒。
- 树莓派部署:可部署在树莓派上,实现家庭智能提醒功能,用户在家中接收推送消息。
- 多API集成:提供多种API接口,如天气、词霸等,能获取丰富信息内容。
- 微信测试号支持:支持微信测试号推送,方便用户测试和使用。
安装使用步骤
前提条件
确保已安装Python ≥3.6 版本,并且pip可以正常使用。
下载源码
复制本项目:
git clone https://gitee.com/icbugcoder/wechat-push-multi.git
安装第三方库
在cmd命令行中运行(mac同理在终端或者iterm2中运行):
shell
pip install -r requirements.txt
微信测试号申请
- 微信测试号平台地址:点击前往微信测试号申请页面
- 进入后使用微信登录,获取appID和appsecret,粘贴至代码中注释对应区域(
# appID #appsecret
注释下方项)。 - 扫描测试号二维码获取用户的openid,填写入程序内(openid对应项目即为测试号显示的"微信号")。
模板消息设置
可使用默认模板消息接口,也可自定义。自定义方法需参考程序中 data
的定义,格式为 {{data中的传入参数值.DATA}}
。
相遇时间及生日设置
在参数设定注释区域内找到 birthday
和 start_date
参数并设置参数值:
- 生日参数值格式:%month-%day
(用月份 - 日期格式填写,不要出现年份)
- 相处开始日期参数值格式:使用 年份-月份-日期
的形式填写
时间段消息模板配置
预设了四个时间段,可自行在代码中修改。注意:如果时间段不在范围内,请求的消息将无法发送出去,会报错并返回错误信息。
API申请及秘钥配置
- 天行数据:
- 官网:https://www.tianapi.com/ ,进行所需API申请。
- 进入控制台,进入我的秘钥,复制apikey到代码对应注释区域(
# 天行数据
下方的key = ' key填写于此 '
内)。
- 心知天气API:
- 官网:https://www.seniverse.com/ ,注册后进入控制台,先申请免费版产品。
- 点击产品内容 --> 免费版,查看默认生成的api秘钥(注意:key为私钥,并非公钥),复制到代码对应注释区(
# 心知天气
注释下方的zxkey = ' apikey填写于此 '
)。 - 在代码中参数设置区域找到
location
项进行填写,设定监测空气质量的地理位置。
- 高德地图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】