我正在使用履行 webhook 将分析数据存储在我的服务器上,因此我需要在所有可能的意图上启用它。到目前为止,我一直在通过在每个意图上手动检查“为此意图启用 webhook 调用”来做到这一点。不过这有点危险,因为很容易忘记故意这样做。是否有任何全局方法可以为所有意图启用它?
问问题
376 次
1 回答
0
没有直接的方法可以做到这一点,但我已经制作了一个 python 脚本来做同样的事情。
您需要按照以下步骤完成:
- 导出您的代理
转到您的代理设置,选择导出和导入选项卡,然后选择导出为 zip。
这将为您提供代理的 zip 文件 - 将 zip 文件放在您的 python 脚本文件所在的同一文件夹中
- 运行python脚本
- 将创建一个名为 zipped 的文件夹
- 进入该文件夹并选择该文件夹中存在的所有文件和文件夹并压缩它们
- 恢复您的代理
转到您的代理设置,选择导出和导入选项卡,然后选择从 zip 恢复,选择您在上述步骤中创建的 zip 文件。
Python代码:
import zipfile
import json
import os
import glob
cwd = os.getcwd()
zip_ref = zipfile.ZipFile(cwd + '/your_agent.zip', 'r')
zip_ref.extractall('zipped')
zip_ref.close()
cwd = cwd + '/zipped/intents'
files = glob.glob(cwd + "/*.json")
for file in files:
print(file)
if "usersay" not in file:
json_data= json.loads(open(file).read())
json_data['webhookUsed'] = True
with open(file, 'w') as outfile:
json.dump(json_data, outfile)
print('Done')
希望能帮助到你。
于 2019-02-20T13:52:22.870 回答