前言
之前写的文章( 写一个新的Python微信机器人)里提到的机器人文档更新有点慢,主要我是想以文章的形式来说一说插件的功能,还能展示下效果,但是一直都忙的很。
闲言闲语
因为做公众号的原因,微信加了很多陌生人好友,有的加了也不说话,有的可能已经把你删除了你也不知道。偶尔给别人发消息可能还会出现下面的红色警告。
如果能批量检测一遍好友的状态,那就不用担心这种问题了,也能知道你是不是还在他(她)的好友列表。当然如果只是想确认某个人是否是你的好友,你可以通过以下方式来测试:
- 转账但不支付,对方无感知
- 建群,不发消息对方就无感知
- 发消息,很多机器人就通过批量发消息来检测
更好的方式
从编程的角度实现,同样也可以通过上面三种方式来检测,PC端的电脑无法实现转账,所以只能用后面两种方式。这样实现其实有点太麻烦且不安全,频繁建群和频繁发消息都可能收到微信的警告。
如果有一个可以频繁调用的接口来检测好友就好了。经过研究,微信其实有接口可以直接检测好友的状态,只是界面没有按钮可以调用,检测返回的结果有以下几种:
好友
对方已将你删除
该用户不存在
(自己注销了)对方拒绝接收你的消息
(将你拉黑了)对方账号违反了《微信个人账号使用规范》
(被封号了)
也可能还有其他情况,只是我的好友列表里没有出现这种情况,使用的时候可以看接口返回的提示是啥。
实现
机器人里已经将这个方法封装成了Python函数,函数原型:def CheckFriendStatus(wxid:str) -> str
。
单个好友检测
如果你想检测某个好友,又恰好知道它的wxid,那你可以这样写代码: