前言 {#前言}
之前看到群里有人提了一嘴类似的功能,觉得还不错,最初的设想是直接通过微信公众号发送图库的,但是发现图库的api没办法通过token认证,只能暂时搁浅做了瞬间的。
效果 {#效果}
想要体验也可以关注我的公众号【文的板凳】发送【菜单】体验(当然,时不时可能会抽风)
正文 {#正文}
因为利用了现成的python库werobot(https://github.com/offu/WeRoBot),所以代码很简单。
直接看代码
仓库地址:https://github.com/jiewenhuang/halo-wx-tool
写得断断续续,所以会出现写奇奇怪怪的东西(又不是不能用)
看设置部分
robot = werobot.WeRoBot(token='')
robot.config["APP_ID"] = ""
robot.config["APP_SECRET"] = ""
main.py
中上面的三个参数的必填的,分别对应微信公众号中的
要注意的是,token是程序启动后微信公众号验证才能保存的。
# 让服务器监听在 0.0.0.0:80
robot.config['HOST'] = ''
robot.config['PORT'] = 1223
robot.run()
这里的host就是服务地址,一般直接填服务器IP,port就是运行端口,ip:port就是服务地址,但是一般不直接用,而是用Nginx反代使用。
其他部分自己看代码和注释就行,都写得很清楚了,有什么问题就留言或者issue
这里面用了很多的session来保存用户当前的状态,如果想要实现其他功能也可以参考(这玩意,我也不知道是不是这么用的,反正能跑。)
在用户发布的信息中,message.source
可以获取到用户的唯一ID,以此来分辨用户。
更多的功能可以查看werobot文档(https://werobot.readthedocs.io/zh-cn/latest/index.html)
部署到服务器 {#部署到服务器}
方法有很多,自己写成flask,或者Supervisor(https://werobot.readthedocs.io/zh-cn/latest/deploy.html)
这里就介绍一个最简单的,利用宝塔的进程守护
宝塔自己安装好这个插件,商店搜就行。
然后点击添加,名字自己取,运行目录就你放代码的目录,启动命令就启动 main.py
的命令,比如我的就是 python3 main.py
确认启动就行
WIP {#WIP}
- 发布图库