钉钉机器人调度
流程
操作
钉钉开发者后台配置
参考文档: 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回调的影刀接口
-
修改主函数回传代码
- 配置信息
-
修改钉钉代码(生成答案)
-
回到主函数调用模块
-
修改主函数回传代码