为所有意图启用 webhook
Enable webhook for all intents
我想知道是否有任何方法可以为所有意图激活 webhook(除了一个一个地激活它)。谢谢!
除了一个一个地激活它,或者下载 zip 文件,在 JSON 中一个一个地设置它,然后上传结果 - 没有。
目前还没有这样的功能,但我遇到了类似的问题,我是这样解决的:
- 下载所有意图的 zip 文件
- 写一个程序(我写在python)遍历所有文件(忽略以
usersays
结尾的文件
- 将
"webhookUsed": false,
更改为 "webhookUsed": true,
- 使用
Restore from zip
选项上传 zip 文件替换现有意图
更新 1:
下面是代码:
import zipfile
import json
import os
import glob
cwd = os.getcwd()
zip_ref = zipfile.ZipFile(cwd + '/filename.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)
将从 dialogflow 获得的 zip 文件放在与放置上述代码和 运行 python 程序的目录相同的目录中。
在 运行 执行此代码后,导航到名为 zipped
的目录并压缩文件的所有内容,然后执行步骤 4。
更新 2:
更新了代码以使其兼容多种语言的 Dialogflow 代理。
希望对您有所帮助。
@sid8491 非常感谢,这对我有用!
我必须进行一些更改才能使其正常工作。您的回答非常有帮助。这是我的最终脚本:
import zipfile
import json
import os
import glob
cwd = os.getcwd()
zip_ref = zipfile.ZipFile(cwd + '/Bill.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, encoding="utf8").read())
json_data['webhookUsed'] = True
with open(file, 'w') as outfile:
json.dump(json_data, outfile)
else:
print("Usersay file", file)
我想知道是否有任何方法可以为所有意图激活 webhook(除了一个一个地激活它)。谢谢!
除了一个一个地激活它,或者下载 zip 文件,在 JSON 中一个一个地设置它,然后上传结果 - 没有。
目前还没有这样的功能,但我遇到了类似的问题,我是这样解决的:
- 下载所有意图的 zip 文件
- 写一个程序(我写在python)遍历所有文件(忽略以
usersays
结尾的文件 - 将
"webhookUsed": false,
更改为"webhookUsed": true,
- 使用
Restore from zip
选项上传 zip 文件替换现有意图
更新 1:
下面是代码:
import zipfile
import json
import os
import glob
cwd = os.getcwd()
zip_ref = zipfile.ZipFile(cwd + '/filename.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)
将从 dialogflow 获得的 zip 文件放在与放置上述代码和 运行 python 程序的目录相同的目录中。
在 运行 执行此代码后,导航到名为 zipped
的目录并压缩文件的所有内容,然后执行步骤 4。
更新 2:
更新了代码以使其兼容多种语言的 Dialogflow 代理。
希望对您有所帮助。
@sid8491 非常感谢,这对我有用!
我必须进行一些更改才能使其正常工作。您的回答非常有帮助。这是我的最终脚本:
import zipfile
import json
import os
import glob
cwd = os.getcwd()
zip_ref = zipfile.ZipFile(cwd + '/Bill.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, encoding="utf8").read())
json_data['webhookUsed'] = True
with open(file, 'w') as outfile:
json.dump(json_data, outfile)
else:
print("Usersay file", file)