python - 使用正则表达式实体自定义对话流聊天机器人中的密码长度
问题描述
使用 Dialogflow 聊天机器人注册时,密码长度必须至少为 6 个字符。我使用了系统实体“任何”。但它是如此笼统。Webhook 是用烧瓶 python 编写的。
还尝试通过使用 [0-9]{6}$ 作为正则表达式实体来做到这一点。但无法找到执行此任务的正确方法。
from dialogflow_fulfillment import QuickReplies, WebhookClient, Payload
from flask import Flask, request, Response, jsonify , make_response
import json
import requests
app = Flask(__name__)
def handler(agent: WebhookClient) :
"""Handle the webhook request.."""
req = request.get_json(force=True)
intent_name = req.get('queryResult').get('intent').get('displayName')
if intent_name == 'intro':
agent.add('I am the chatbot of this page. Ready to assist you with anything you need. What would you like to do?')
agent.add(QuickReplies(quick_replies=['START NOW','LOGIN']))
if intent_name == 'get_started':
url = 'http://**********.com/create_account'
userid = req.get('queryResult').get('parameters').get('email')
print(userid)
pwd = req.get('queryResult').get('parameters').get('pwd')
print(pwd)
name = req.get('queryResult').get('parameters').get('person')['name']
print(name)
age = req.get('queryResult').get('parameters').get('age')
print(age)
myobj = {'userid': userid, 'pwd': pwd , 'name' : name, 'age' : age}
x = requests.post(url, data = myobj)
result=x.text
agent.add(result)
if intent_name == 'login_screen' :
url = 'http://**********.com/auth_account'
userid = req.get('queryResult').get('parameters').get('email')
print(userid)
pwd = req.get('queryResult').get('parameters').get('pwd')
print(pwd)
myobj = {'userid': userid, 'pwd': pwd }
x = requests.post(url, data = myobj)
result = x.text
agent.add(result)
@app.route('/webhook', methods=['GET', 'POST'])
def webhook():
"""Handle webhook requests from Dialogflow."""
req = request.get_json(force=True)
agent = WebhookClient(req)
agent.handle_request(handler)
return agent.response
if __name__ == '__main__':
app.run(debug=True)
如何正确执行此操作?如何在其中使用正则表达式?还是我应该使用另一种方法?
解决方案
推荐阅读
- multidimensional-array - 二维数组遍历以获得不同的 7 位数字组合
- ios - 在 TableView 之间切换
- java - 只有偶数和只有奇数的字符串
- listview - 是否可以在 CustomScrollView 中使用 ListView.builder?
- php - 根据已选择的电子邮件在 Outlook 中发送电子邮件
- php - Windows 上的 Docker:如何运行多个网站(LAMP 堆栈)?
- python - Discord.py 删除消息并允许特定消息
- r - 在R中的传单地图区域内绘制圆圈(圆圈包装)
- python - 无法通过cmd升级pip
- mysql - 相同的查询但 ORDER BY 产生不同的结果