目录
框架选择
内网穿透
微信5s限制
客服回复?
公众平台web回复?
msgId唯一!
总结
上年十二月份至今年三月份ChatGpt还是挺火的,很早就想做一个属于自己的微信问答机器人,但是觉得做了自己也不太用,所以闲置了。最近又想玩了,就在程序员交友♂社区找了关于微信的bot。
很多都是几年前更新的项目,但是自从微信web更新后就不能用了。二月份左右又有些基于uos的套壳微信协议可以扫码登录的项目诞生,但是碍于有封号的风险,我一直没用微信号尝试。
最后把目光锁定到了订阅号上,开发订阅号又有几个问题。
框架选择
我用的是WxJava,但是说实话,只需要把里边部分工具提取出来用在自己项目就可以了,人家是框架,对于自己简单的场景来说有点冗余了。
内网穿透
微信公众号需要有公网地址,太久没用内网穿透了,对比很多内网穿透,最后狠下心来花了2元去花生壳认证了一波。
微信5s限制
客服回复?
网上很多都说收到消息后,转客服回复,我一个个人认证,我哪来的客服权限,果断放弃
公众平台web回复?
因为之前没接触过公众号开发,在大佬同事的提醒下,微信公众平台的web端可以给粉丝发消息,这时我还是很兴奋的,晚上回到住的地方,在服务器上对比了一下web请求中的tofakeid,发现一致,然后又进行了组合联调,发现行得通。就在我兴奋的时候,我突然发现登录微信公众平台还需要扫码,什么鬼操作,关也关不掉啊,我也不知道cookie的有效期是多久,每次再扫码登陆,是个麻烦事,永动不了啊!!!
msgId唯一!
微信接口文档里边说的很清楚,5s内未回复,微信服务器重新发起请求,一共三次。注意,微信为了保证幂等,请求过来的msgId是一致的。这个时候,我们就可以存储第一次过来的请求消息ID,然后异步执行耗时任务把结果和请求消息ID映射,第二次和第三次就可以去尝试去取映射的结果。这种方法最高可将消息响应提升至14s左右。
总结
接口响应时间太长了,提升至14s左右也没辙,所以放弃。
大佬们有什么解决方案吗?
记录一下开发历程心得。