ChatBots are conversational agents, programs capable of conducting a conversation with an Internet user. In this tutorial I’ll walk you through an implementation of WhatsApp chatbot using Twilio platform.

ChatBots是对话代理,是能够与Internet用户进行对话的程序。 在本教程中,我将指导您使用Twilio平台实现WhatsApp聊天机器人的实现。

In addition to static chatbots, we will also benefit from the power of Google’s Dialogflow to create intelligent bots, capable of understanding human language.

除了静态聊天机器人之外,我们还将受益于Google的Dialogflow来创建能够理解人类语言的智能机器人。

1. WhatsApp聊天机器人 (1. WhatsApp Chatbot)

WhatsApp is the most popular OTT app in many parts of the world. Thanks to WhatsApp chatbots you can provide your customers with support on a platform they use and answer their questions immediately.

WhatsApp是世界许多地方最受欢迎的OTT应用程序。 借助WhatsApp聊天机器人,您可以在客户使用的平台上为其提供支持,并立即回答他们的问题。

Using Twilio, Flask and Heroku, as well as many other advanced platforms like DialogFlow, we can build amazing chatbots as we will do in this tutorial.

使用Twilio,FlaskHeroku以及DialogFlow等许多其他高级平台,我们可以像本教程中一样构建令人惊叹的聊天机器人

特威里奥 (Twilio)

Twilio is a cloud communications platform as a service (CPaaS) company which allows software developers to programmatically make and receive phone calls, send and receive text messages, and perform other communication functions using its web service APIs.

Twilio是一家云通信平台即服务(CPaaS)公司,它允许软件开发人员使用其Web服务API以编程方式拨打和接听电话,发送和接收短信以及执行其他通信功能。

With the Twilio API for WhatsApp, you can send notifications, have two-way conversations, or build chatbots.

使用适用于WhatsApp的Twilio API,您可以发送通知,进行双向对话或构建聊天机器人。

For free, and without waiting for your Twilio number to be approved for WhatsApp, Twilio Sandbox for WhatsApp enables you to create your chatbot immediately as we are about to see in this project.

免费且无需等待您的Twilio号码获得WhatsApp批准,Twilio Sandbox for WhatsApp可使您立即创建聊天机器人,就像我们将在此项目中看到的那样。

1. Create a Twilio account

1.创建一个Twilio帐户

2. Create a new project

2.创建一个新项目

3. On project console, open Programmable SMS Dashboard

3.在项目控制台上,打开“可编程SMS仪表板”

4. Select WhatsApp Beta

4.选择WhatsApp Beta

Image by author图片作者

When you activate your sandbox, you will see the phone number associated with it (here +1 415 …) as well as its name (here regular-syllable)

激活沙箱后,您会看到与其关联的电话号码(此处为+1 415…)以及其名称(此处为常规音节)

使用Flask创建应用 (Create the application using Flask)

1. Create a new Python virtual environment :

1.创建一个新的Python虚拟环境:

  • In a new folder open terminal and execute : python -m venv myvenv

    在新文件夹中,打开终端并执行: python -m venv myvenv

2. Activate your virtual environment :

2.激活您的虚拟环境:

  • Windows : myvenv\Scripts\activate

    Windows: myvenv\Scripts\activate

  • Linux : source myvenv/bin/activate

    Linux: source myvenv/bin/activate

3. Install these two Python packages :

3.安装以下两个Python软件包:

  • Twilio : pip install twilio

    Twilio : pip install twilio

  • Flask : pip install flask

    烧瓶 : pip install flask

Flask is a micro web framework written in Python. This means flask provides you with tools, libraries and technologies that allow you to build a web application.

Flask是一个用Python编写的微型Web框架。 这意味着flask为您提供了允许您构建Web应用程序的工具,库和技术。

4. Create a Flask App :

4.创建一个Flask应用程序:

In your folder, create a file named app.py then copy&paste the following code:

在您的文件夹中,创建一个名为app.py的文件,然后复制并粘贴以下代码:

from flask import Flask, requestfrom twilio.twiml.messaging_response import MessagingResponseapp = Flask(__name__)@app.route("/")def hello():    return "Hello, World!"@app.route("/sms", methods=['POST'])def sms_reply():    """Respond to incoming calls with a simple text message."""    # Fetch the message    msg = request.form.get('Body')    # Create reply    resp = MessagingResponse()    resp.message("You said: {}".format(msg))    return str(resp)if __name__ == "__main__":    app.run(debug=True)

This is a basic flask web app which enables us to get Hello, world! in / route, and get back our message if we POST it to /sms route as we can see in the following steps

这是一个基本的烧瓶网络应用程序,使我们能够获取Hello, world! 在/路由中,如果我们将其发布到/ sms路由,则返回我们的消息,如以下步骤所示

5. Run the app : python app.py

5.运行应用程序: python app.py

Image by author图片作者

Your application is now running.

您的应用程序现在正在运行。

You can check that by typing http://127.0.0.1:5000/ in your browser. (You'll get Hello, world!)

您可以通过在浏览器中输入http://127.0.0.1:5000/进行检查。 (您会收到Hello, world! )

However, it wouldn’t be possible for distant machines to access your app, hence the need for Ngrok

但是,远程机器无法访问您的应用程序,因此需要Ngrok

使用Ngrok获取该应用程序的公共地址 (Get a public address to the app using Ngrok)

Ngrok will enable us to have a public URL for our application running locally.

Ngrok将使我们能够为在本地运行的应用程序提供一个公共URL。

1. Download Ngrok and unzip it

1.下载Ngrok并将其解压缩

2. Run it from the command line by executing : ./ngrok http 5000

2.通过执行以下命令从命令行运行它: ./ngrok http 5000

3. Now you can access your app running locally from a distant machine using the provided URL (something like this https://******.ngrok.io)

3.现在,您可以使用提供的URL(例如https://******.ngrok.io )从远程计算机上本地运行您的应用程序。

4. Go back to Twilio sandbox and paste it as the URL for incoming messages :

4.返回到Twilio沙箱,并将其粘贴为传入消息的URL:

Image by author图片作者

5. You can now open WhatsApp in your phone, add the number you’ve got from Twilio in previous steps (+1 415 …), and start the conversation by the code they told you to start with (here join regular-syllable)

5.现在,您可以在手机中打开WhatsApp,添加之前步骤中从Twilio获得的电话号码(+1 415…),然后按照他们告诉您的代码开始通话(此处加入普通音节)

6. You can now send whatever WhatsApp message you want and the bot will reply by sending back the same message. It is kind of a parrot bot

使用dialogflow和firebase构建whatsapp聊天机器人的指南相关推荐

  1. 【WhatsApp营销】如何为企业构建WhatsApp聊天机器人

    关键词:WhatsApp营销,聊天机器人 WhatsApp是全球最受欢迎的消息应用之一.它拥有超过20亿活跃用户,而且目前这个数字还在稳步增长.对于个人来说,WhatsApp是朋友.家人间线上沟通的重 ...

  2. 使用Dialogflow API构建Slack智能聊天机器人的指南

    介绍 自然语言处理(NLP)领域的突破近来出现了突然上升.我们可用的文本数据量巨大,数据科学家正在提出新的创新解决方案来解析它并分析模式.从编写整本小说到解码古代文本,我们已经看到了NLP的各种应用. ...

  3. 用aiml构建英语聊天机器人

    用aiml构建英语聊天机器人 整体思路 安装aiml库 获取语料库路径 获取aiml的安装路径 补充路径名称 切换到语料库所在工作目录(所有的语料库,是可以自己补充修改的,这里就先用现成的) 创建机器 ...

  4. 400 多行代码!超详细 Rasa 中文聊天机器人开发指南 | 原力计划

    作者 | 无名之辈FTER 责编 | 夕颜 出品 | 程序人生(ID:coder_life) 本文翻译自Rasa官方文档,并融合了自己的理解和项目实战,同时对文档中涉及到的技术点进行了一定程度的扩展, ...

  5. 机器人编程python代码_自己动手开发智能聊天机器人完全指南(附python完整源码)...

    一.前言 人工智能时代,开发一款自己的智能问答机器人,一方面提升自己的AI能力,另一方面作为转型AI的实战练习.在此把学习过程记录下来,算是自己的笔记. 二.正文 2.1 下载pyaiml 下载pya ...

  6. Rasa中文聊天机器人开发指南(3):Core篇

    文章目录 1. 对话管理 1.1 多轮对话 1.2 对话管理 2. Rasa Core 2.1 Stories 2.2 Domain 2.3 Responses 2.4 Actions 2.5 Pol ...

  7. Rasa中文聊天机器人开发指南(1):入门篇

    文章目录 1. Rasa简介与安装 1.1 Rasa简介 1.2 Rasa安装(v1.9.4) 1.1 Ubuntu 16.04环境 1.2 Windows10环境 2. Rasa使用--构建简单聊天 ...

  8. 聊天机器人mysql数据_自己动手开发智能聊天机器人完全指南(附完整源码)

    一.前言 本文是<自己动手开发智能聊天机器人完全指南(附完整源码)>的第二篇,也是21天实战人工智能系列<知识图谱完全项目案例剖析>里面的知识图谱应用的案例.前文中实现了一个最 ...

  9. 如何用 Slack 和 Kubernetes 构建一个聊天机器人?| 附代码

    作者 | Alexander Kainz 译者 | 天道酬勤,责编 | Carol 出品 | AI科技大本营(ID:rgznai100) ChatOps可以让你使用基于聊天的接口来管理DevOps任务 ...

最新文章

  1. 自动驾驶技术公司Waymo完成新一轮25亿美元融资
  2. 比CRUD多一点儿(三):UPDATE、DELETE语句
  3. 2015-04-22记录--一些JS疑惑
  4. 使用Maven管理Eclipse Java项目(多modules编译)
  5. hbase过滤器查询
  6. SAP Spartacus的double maintenance -使用Cherrypick进行维护工作
  7. python 公众号爬虫_python_爬虫_微信公众号抓取
  8. Electron - 创建跨平台的桌面客户的应用程序
  9. 爆款专栏《Python 黑科技》目录导航丨进度:12/50
  10. php array_flip() 删除数组重复元素——大彻大悟
  11. java进程里面调用方法_在java里面调用CUI程序的方法
  12. python装饰器测试_python 装饰器
  13. TDengine C/C++ Connector
  14. linux里车目录是什么意思,linux 命令整理
  15. LeetCode-1-two-sum
  16. 俄罗斯方块 java_java代码实现俄罗斯方块
  17. 将.ncm文件转换为.mp3文件
  18. VR全景智慧城市虚拟现实三维的发展
  19. HBuilder打包
  20. 力天创见客流统计分析系统

热门文章

  1. html 标签 关闭,在HTML中,标签都必须有关闭标记。()
  2. vuex存储什么数据_使用U盘存储时要注意什么?数据怎么存储才安全?
  3. Kernel启动流程源码解析 2 head.S
  4. 【JAVA】二分查找
  5. Ubuntu18.04安装MySql步骤和坑
  6. 江苏开放大学 2023春-工程制图与CAD△-过程性作业1(12%)(含实训一)
  7. 地铁查询-全国地铁查询
  8. 快来玩玩博主的原创虐心游戏
  9. 每日简报 6月7日简报新鲜事 每天一分钟 了解新鲜事
  10. WPS第二章的二级目录从1.1开始,怎么让它从2.1开始