前言:
微信群没有机器人的功能,而往往我们需要系统推送信息客户群中去,如果人工去复制粘贴,可以想工作量有多大,最早的想法是通过RPA机器人,模拟点击来发送消息的方式。想法很好,很快微信账号就被封禁了。所以只好想这个曲线救国的方法,通过企业微信来实现。
实现方式:
一、 必要条件
1. 所在的企业必须要有企业微信
如何申请建立企业微信号,这里不是本文需要阐述的重点,访问企业微信的官网然后按照一步步操作即可。企业如果要认证需要填写一些资料和盖公章之类的手续,然后就是支付300大洋所谓认证费用,其实就是软件使用的费用,毕竟你用人家要网络带宽,服务器资源等等。
2. 用微信添加企业微信账号为好友
可以用自己的微信添加企业微信账号为好友,然后就可以像微信群一样拉群了。这个企业微信账号你可以作为机器人来用,当然也可以另外开一个号来做机器人,账号一定要做实名的处理,因为我们这里使用主要是推送我们业务系统系统的信息,而不是做 网络营销,即便是后续出现问题,解封概率还是比较大的,不像微信封你第一次你找好友替你验证或者你自己做申诉就可以,但是第二次就是需要7天后才可以申请解封,如果第三次封禁时间就会更长,甚至直接封你的号了。
3. 购买WorkTool 服务来实现机器人功能
百度搜worktool就能找到,作者觉得他们家的方案还是比较稳定的,他们也提供微信机器人的功能,但是如前所叙,使用微信机器人封号的风险太大。所以还是建议大家使用企业微信的。费用399一年。
4. 准备一台老的安卓手机或者开通云手机服务
需要安装他们机器人的软件,软件实现的原理就是调用安卓手机的无障碍服务,以及一些RPA技术,来模拟点击操作企业微信手机客户端。如果是使用安卓手机,需要插电源供电给手机,这样你才能持续保持手机不会关机。如果想省事,可以买他们家的云手机服务,费用一年1000大洋,不知道为什么这个比机器人的费用更高,不过我也使用过阿里云的云手机,一年的费用都是要大于1000的。
二、 开启企业微信机器人之旅
如果熟悉企业微信的读者可能会说,企业微信不是支持群机器人吗,是的企业微信的内部群是提供群机器人服务的,而且实现方式很简便,每个群机器人会给你提供给你一个webhook的url地址,按照文档规则,post数据过去就可以实现推送消息。but 机器人仅限于企业微信的内部群,如果你的群是外部群,也就是你的群里包含有微信账号,那么是没有机器人的功能的,所以我们才需要本文的方式曲线救国来实现。到这里默认读者已经搞定了workTool的购买安装。如有问题可以留言,我会及时反馈。
1. WorkTool 提供哪些功能
worktool提供了很多api的接口,https://worktool.apifox.cn/ 可以查到他提供的api功能。
这个工具提供了群发送消息,组建群,添加好友自动验证,解散群,甚至还可以接受记录群或者与该企业微信账号的对话记录的功能。详细的读者可以查看文档。本文主要就是用到他的消息发送功能。
2. 消息发送接口
接口地址: https://api.worktool.ymdyes.cn/wework/sendRawMessage
要求请求方式为 POST
(1)Query 参数 为 robotId
这个就是你购买后店家会给你的一个ID,这个就是相当于你的机器人的一个身份识别码,每次请求都要带上这个参数,这样机器人才能接受到操作指令。
(2)Header 参数
固定为 Content-Type = "application/json"
(3) body 参数
socketType integer 必需 通讯类型 固定值=2
list array [object] 必需
type integer 必需 消息类型 固定值=203
titleList array[string] 昵称或群名 必需
receivedContent string 必需 发送文本内容 (\n换行)
atList array[string] 可选 at的人(at所有人用"@所有人")
{
"socketType":2,
"list":[
{
"type":203,
"titleList":[
"仑哥(这里改成你的微信昵称或群名)"
],
"receivedContent":"你好~"
}
]
}
AI运行代码
3. 完整的发送消息代码示例
import http.client
import json
conn = http.client.HTTPSConnection("api.worktool.ymdyes.cn")
payload = json.dumps({
"socketType": 2,
"list": [
{
"type": 203,
"titleList": [
"仑哥(这里改成你的微信昵称或群名)"
],
"receivedContent": "你好~"
}
]
})
headers = {
'Content-Type': 'application/json'
}
conn.request("POST", "/wework/sendRawMessage?robotId=%7B%7Brobot_id%7D%7D", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
AI运行代码
python
到此,应该你的企业微信就可以被程序托管,自动发送消息了,其他一些 高级功能,读者可以参考他的文档做进一步的实现。
总结:
我们借助了外部的工具来实现微信群机器人的功能,作者使用的场景主要是拌合站收发数据以及相关的计划合同数据推送给客户群中,频次不是很高,一年使用下来,基本上没有出现什么问题,客户后续又提出来能否通过对话来实现下计划或者下订单,作者后续文章将会来说明实现这个功能的思路和方法。
————————————————
版权声明:本文为CSDN博主「IT大灰狼」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/waxyy002/article/details/152668009