阅读量:0
钉钉机器人调度
流程
操作
钉钉开发者后台配置
参考文档: https://www.yingdao.com/yddoc/common-solutions/6a8d70eddee87724aed798f07db08198.html
01 添加机器人
获取APPKEY和APPSECRET
获取权限
- 表格权限
- 机器人相关
- 通讯录部门信息读
- 成员权限
开启消息推送
02 接收“问题”
搭建接口
from flask import Flask, request, jsonify # 导入Flask相关模块 app = Flask(__name__) # 创建一个Flask应用实例 # 定义一个路由,该路由接受以POST方法访问'/dingtalk'路径的请求 @app.route('/dingtalk', methods=['POST']) def handle_receive_message(): # 从请求中获取JSON数据 data = request.get_json() # 返回一个空的JSON响应,并设置HTTP状态码为200(表示成功) return jsonify(), 200 # 当此脚本被直接运行时(而不是作为模块导入),执行以下代码 if __name__ == '__main__': # 运行Flask应用,指定主机地址为'0.0.0.0',监听端口为9527 app.run(host='0.0.0.0', port=9527)
03 转发到服务器
服务器的管理界面
钉钉消息有权限进入机器人
记录服务器的公网IP
机器人配置界面
配置消息接收地址
第一部分是服务器的公网IP
冒号后面是端口号
最后的路径是在路由中设置的路径
将代码上传到服务器
- 将收集到的信息打印出来
- 下载终端工具tabby
下载链接: https://tabby.sh/ - 运行py文件
04 API调度影刀
提取数据
- 时间戳&签名值(合法性)
- 用户ID&提问内容(生成答案)
- 总结
配置信息–合法性
py代码
APPSecret
创建配置文件,生成密钥
回到钉钉模块,将配置信息导入,并修改参数
时间戳的校验和签名值的校验
回到主函数
上传到服务器,重启服务器
05 生成答案
在数据库创建字段
数据类型的修改
创建流程参数用户id和提问内容
保存原始对话的内容
列表推导式
join函数进行拼接
插入代码块
答案内容
用split函数进行分割
保存信息
配置影刀生成答案
回到主流程
06 回传到服务器
配置api回调的影刀接口
修改主函数回传代码- 配置信息
修改钉钉代码(生成答案)
回到主函数调用模块
修改主函数回传代码