利用werobot库实现微信公众号发布瞬间到halo

利用werobot库实现微信公众号发布瞬间到halo

前言 之前看到群里有人提了一嘴类似的功能,觉得还不错,最初的设想是直接通过微信公众号发送图库的,但是发现图库的api没办法通过token认证,只能暂时搁浅做了瞬间的。 效果 想要体验也可以关注我的公众号【文的板凳】发送【菜单】体验(当然,时不时可能会抽风)

前言

之前看到群里有人提了一嘴类似的功能,觉得还不错,最初的设想是直接通过微信公众号发送图库的,但是发现图库的api没办法通过token认证,只能暂时搁浅做了瞬间的。

效果

0c26e36e4dba13a4d10b8eb47406c33b.webp

446c77bab35aadd658cedfb6b44a64a1.webp

想要体验也可以关注我的公众号【文的板凳】发送【菜单】体验(当然,时不时可能会抽风)

f6e82a7fa0b20199010285764ab5f169.png

正文

因为利用了现成的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中上面的三个参数的必填的,分别对应微信公众号中的df3acba285ff7883bf562915c72ab63d.png

要注意的是,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)

这里就介绍一个最简单的,利用宝塔的进程守护

0d9b2fab85f0a30acaa413f1d8a1198d.png

宝塔自己安装好这个插件,商店搜就行。

然后点击添加,名字自己取,运行目录就你放代码的目录,启动命令就启动 main.py的命令,比如我的就是 python3 main.py 确认启动就行

WIP

  1. 发布图库