想要实现在企微A群内发送订单号xxxxx催发货,然后通过影刀完成发货动作,发货完毕后在对应群内给到通知。这时就需要实时监控企微群消息。
之前看到了伯符老师分享的通过【WorkTool】工具实现企业微信外部群聊机器人发消息的方案。想了解WorkTool工具的可以参考(伯符老师写的很详细): https://www.yingdao.com/community/detaildiscuss?id=366d0ef2-9f87-4b65-bfab-ea42d65a118e
本方案也是基于WorkTool工具实现的,需要下载手机app(WTPro)
这里大致的流程是:
手机app(WTPro)实时监控手机企微新消息—>获取到新消息后转发到第三方回调接口—>使用影刀获取消息数据—>在影刀商城完成发货动作


1、安卓系统下载APP,并安装。官网地址: https://worktool.ymdyes.cn/
注意事项:
①手机必须是安卓系统;
②手机端登录的企微账号,就是你的机器人(例如:登录A账号,就需要把A账号拉到群里做为机器人使用)
③在WTPro中填写机器人id即可(需要开启无障碍服务)
2、配置第三方QA回调接口
①在WorkTool控制台中,找到机器人信息,选择问答方式为‘第三方QA’,配置回调地址;

②开发回调接口;消息回调接口文档参考: https://worktool.apifox.cn/doc-861677/?nav=2
我这里用flask开发了一个接口,使用Redis存储获取的群消息(参考)
原理是手机端APP(WTPro)会监控手机端企微是否有新消息,然后转发到咱们写好的接口。
(也可以将获取的消息教给影刀GPT,做一个对接影刀GPT的聊天机器人)
from flask import Flask, request, jsonify
import redis
import json
app = Flask(__name__)
redis_client = redis.StrictRedis(host='服务器公网ip', port=6379, db=10,password="xxxxx")
@app.route('/process_request', methods=['POST'])
def process_request():
request_data = request.get_json() # 解析json数据
data_to_store = {
'spoken': request_data['spoken'],
'rawSpoken': request_data['rawSpoken'],
'receivedName': request_data['receivedName'],
'groupName': request_data['groupName'],
'groupRemark': request_data['groupRemark'],
'roomType': request_data['roomType'],
'atMe': request_data['atMe']
}
redis_client.lpush('request_data_list', json.dumps(data_to_store)) # 存入Redis
response_data = {
"code": 0,
"message": "success",
"data": {
"type": 5000,
"info": {
"text": ""
}
}
}
return jsonify(response_data)
if __name__ == '__main__':
# app.run(debug=True)
app.run(debug = True,host= '0.0.0.0', port = 5000)
③接下来就可以使用影刀操作Redis获取消息,将消息进行处理后,通过Http请求(参考worktool发送消息API)发送到企微群。下面是一个测试流程

备注:该工具于23年12月份起开始收费,所以机器人id需要购买,199/年;