【企微群消息监听机器人】实时获取外部群消息
评论
收藏

【企微群消息监听机器人】实时获取外部群消息

经验分享
r
redtea1103
2024-03-04 11:49·浏览量:4102
r
redtea1103
发布于 2024-03-04 11:494102浏览

一、问题背景

   想要实现在企微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/年;

收藏8
全部评论1
最新
发布评论
评论