WhatsApp 无疑是最受欢迎的消息应用程序,它可以帮助人们在全球范围内建立联系。 可以肯定地说,WhatsApp 正在成为我们生活中不可或缺的一部分。 该平台每月拥有超过 XNUMX 亿活跃用户。 有了这么多潜在的用户群,任何企业都不能忽视 WhatsApp。 我们都在体验企业如何利用平台与客户互动。
此外,许多企业正在使用 WhatsApp 聊天机器人来自动化各种业务操作,从而为用户提供更好的体验。 有许多平台,例如 Twilio,允许企业将聊天机器人集成到 WhatsApp 上。
在本教程中,我们将学习如何将我们的 WhatsApp 帐户与 Twilio 沙箱连接,并进一步了解如何通过 Twilio 发送不同的响应。 此外,当我们向 Twilio Whatsapp 帐户发送任何文件时,然后在服务器上获取该文件。
在这里,我们了解如何从机器人获得不同类型的响应,例如:
- 文本
- 图片
- 视频
- 文件
- Audio
创建 WhatsApp 机器人的步骤
:通过访问创建一个 Twilio 帐户 官网.
步骤2: 转到 Twilio WhatsApp 官网.
步骤3: 将 Twilio 与 WhatsApp 连接。
然后我们需要去 WhatsApp 并将消息发送到给定的号码,如上图所示。 当我们发送消息时,它会显示在下面的屏幕中。
在 Twilio 沙盒上,我们还会收到祝贺的消息。
步骤4: 安装一些库。
$ pip 安装烧瓶
$ pip 安装 twilio
步骤5: 创建一个烧瓶应用程序。
在下面添加以下代码以创建一个简单的烧瓶应用程序并运行它。
从烧瓶进口烧瓶
app = Flask(__ name__)
@app.route("/")
def wa_hello():
返回“你好,世界!” 如果 __name__ == "__main__":
应用程序运行(调试=真)
运行代码后,我们将在终端中找到 localhost 链接,例如 http://127.0.0.1:5000/ 当我们访问那个链接时,我们可以看到“Hello, World!” 那里留言。
步骤6: NGROK 设置。
姓氏: 下载 ngrok 在本地系统中。
转到 Ngrok 并在运行此命令后键入命令“ngrok http 5000”,您将获得链接。
从该 Ngrok 链接中,复制 HTTPS 链接并将其粘贴到您的浏览器。 我们可以看到响应与本地主机的响应相同。
步骤7: Twilio 连接。
复制以下代码并准备 python 脚本。
从烧瓶进口烧瓶,请求
从 twilio.twiml.messaging_response 导入消息响应
app = Flask(__ name__)
@app.route("/wa")
def wa_hello():
返回“你好,世界!”
@app.route("/wasms", methods=['POST'])
def wa_sms_reply():
"""用简单的短信回复来电。"""
# 获取消息
msg = request.form.get('Body').lower()
# 从whatsapp读取消息
打印(“味精-->”,味精)
resp = 消息响应()
回复=resp.message()
# 创建回复
如果味精==“嗨”:
回复.body("你好!")
返回 str(resp)
如果__name__ ==“ __main__”:app.run(debug = True)
使用此代码,我们正在读取用户发送给 Twilio 号码的消息,如果它读取“hi”消息,那么它会以“hello!”响应。 信息。
现在我们需要运行上面的代码脚本。 对于我们将从 Ngrok 获得的链接,我们需要复制该链接并将其粘贴到 Twilio 帐户。
要将 Ngrok 链接粘贴到 Twilio 帐户中,请转到 官网.
将您的链接粘贴到您已决定的端点的给定部分。 在本节中,我们将使用 Ngrok URL 添加“/wasms”,这是我们用于烧瓶应用程序的端点。
然后向下滚动并单击 保存。
现在转到 WhatsApp 并向 Twilio 机器人发送一条“hi”消息。
机器人将回复“你好”消息。
步骤8: 通过机器人发送不同形式的文件。
我们还可以通过我们的聊天机器人获取不同的文件,例如图像、视频、音频和文档文件。 这可以通过在媒体部分共享文件 URL 来完成。
通过运行以下代码,我们还可以通过机器人获取文件。
从烧瓶进口烧瓶,请求
从 twilio.twiml.messaging_response 导入消息响应
app = Flask(__ name__)
@app.route("/wa")
def wa_hello():
返回“你好,世界!”
@app.route("/wasms", methods=['POST'])
def wa_sms_reply():
"""用简单的短信回复来电。"""
# 获取消息
msg = request.form.get('Body').lower()
# 从whatsapp读取消息
打印(“味精-->”,味精)
resp = 消息响应()
回复=resp.message()
# 创建回复
# 文字回复
if msg == "hi": reply.body("hello!") # 图片响应 elif msg == "image":
reply.media('https://raw.githubusercontent.com/fbsamples/original-coast-clothing/main/public/styles/male-work.jpg',caption="jj ccp")
# 音频响应
elif msg == "音频": reply.media('http://www.largesound.com/ashborytour/sound/brobob.mp3')
# 视频回复
elif msg == "video": reply.media('https://www.appsloveworld.com/wp-content/uploads/2018/10/640.mp4')
# 文件响应
elif msg == "文件": reply.media('http://www.africau.edu/images/default/sample.pdf'
)
# resp = 消息响应()
# resp.message("你说:{}".format(msg))
其他:
reply.body("来自你") return str(resp)
如果 __name__ == "__main__":
应用程序运行(调试=真)
在媒体部分,我们可以传递文件的 URL,在正文部分,我们传递我们想要发送的文本。
它将尝试读取用户发送的消息,当它遇到特定消息时,它将使用我们提供给它的回复来响应它。
我们需要输入一个图像,机器人会用图像响应。 同样,我们也可以处理其他形式的文件。
步骤9: 上传图片并在后端获取。
首先,我们将图像上传到机器人。
看看我们在后端得到了什么类型的 JSON。
从这个响应中,我们将尝试从文件中获取 URL 和文件的扩展名,并将其保存到我们的计算机。
为此,我们需要将以下代码添加到我们之前的代码中。
从烧瓶进口烧瓶,请求
从 twilio.twiml.messaging_response 导入消息响应
app = Flask(__ name__)
@app.route("/wa")
def wa_hello():
返回“你好,世界!”
@app.route("/wasms", methods=['POST'])
def wa_sms_reply():
"""用简单的短信回复来电。"""
# 获取消息
Fetch_msg= request.form print("Fetch_msg-->",Fetch_msg)
尝试:
# 将用户发送到我们计算机中的 Twilio whatsapp 号码的文件存储起来
msg_url=request.form.get('MediaUrl0')
# 获取文件的地址
print("msg_url-->",msg_url)
msg_ext=request.form.get('MediaContentType0')
# 获取文件的扩展名
print("msg_ext-->",msg_ext)
ext = msg_ext.split('/')[-1]
print("ext-->",ext)
如果 msg_url != 无:
json_path = requests.get(msg_url)
文件名 = msg_url.split('/')[-1]
打开(文件名+"."+ext, 'wb').write(json_path.content)
# 存储文件除了: print("no url-->>")
msg = request.form.get('Body').lower()
# 从whatsapp读取消息
打印(“味精-->”,味精)
回复=resp.message()
# 创建回复
# 文字回复
如果味精==“嗨”:
回复.body("你好!")
# 图像响应
elif msg == "image": reply.media('https://raw.githubusercontent.com/fbsamples/original-coast-clothing/main/public/styles/male-work.jpg',caption="jj ccp" )
# 音频响应
elif msg == "音频": reply.media('http://www.largesound.com/ashborytour/sound/brobob.mp3')
# 视频回复
elif 味精 == “视频”:
reply.media('https://www.appsloveworld.com/wp-content/uploads/2018/10/640.mp4')
# 文档响应
elif msg == "文件": reply.media('http://www.africau.edu/images/default/sample.pdf')
其他:
reply.body("来自你")
返回 str(resp)
如果 __name__ == "__main__":
应用程序运行(调试=真)
从响应中获取 URL 后,我们会将 URL 保存在另一个变量中,然后我们还将提取已上传文件的扩展名。 然后我们试图获取我们将在我们的计算机上保存文件的文件的名称。 为此,我们通过响应的 URL 获取文件名。 获得所有信息后,我们将借助文件名和文件扩展名保存文件。
运行代码后,我们可以发现我们发送给机器人的图像已保存到我们的计算机中。
我们也可以尝试另一个文件,因为对于该文件,我们也获得了 URL,并且通过 URL 我们将文件保存到我们的计算机。
在这里检测到任何未定义的消息,然后它将以“来自您”的消息进行响应。
通过遵循上述教程,我们了解到在 Twilio 沙盒连接和 WhatsApp 的帮助下,我们如何从聊天机器人获取文本消息、图像、视频、音频和文件。 然后,我们如何上传需要发送到聊天机器人的不同类型的文件,以将它们存储在我们的计算机上。 您可以在我们的 Github存储库.
希望你喜欢我们的教程! 您可以自己尝试,如果您遇到任何困难,请在评论中告诉我们。
想学习如何为其他平台构建聊天机器人? 好了,你可以按照我们的Chatbot开发教程来搭建 电报机, 松弛机器人及 不和谐机器人.
最初发表于 使用带有示例的 Python 教程使用 Twilio 创建 WhatsApp 机器人 19 年 2022 月 XNUMX 日。
使用带有示例的 Python 教程使用 Twilio 创建 WhatsApp 机器人 最初发表于 聊天机器人生活 在媒体上,人们通过突出和回应这个故事继续谈话。
- "
- &
- 2022
- 7
- 9
- a
- 账号管理
- 横过
- 要积极。
- AI
- 所有类型
- 另一个
- 应用
- 四月
- 音频
- 自动化
- 精美
- 因为
- 成为
- 如下。
- 亿
- 身体
- 博特
- 浏览器
- 建立
- 商业
- 企业
- 可以得到
- 码
- 一台
- 研讨会 首页
- 分享链接
- 地都
- 内容
- 谈话
- 创建信息图
- 合作伙伴
- 决定
- 描述
- 检测
- 研发支持
- 不同
- 向下
- 端点
- 从事
- 例子
- 除
- 体验
- 经历
- 面部彩妆
- 公平
- 美联储
- 遵循
- 以下
- 申请
- 形式
- 止
- ,
- 进一步
- 越来越
- 地球
- 帮助
- 帮助
- 创新中心
- How To
- HTTPS
- 图片
- 图片
- 信息
- 安装
- 整合
- 积分
- IT
- 知道
- 学习用品
- 知道
- 借力
- 友情链接
- 链接
- 本地
- 媒体
- 中等
- 条未读消息
- 消息
- 通讯应用
- 每月一次
- 更多
- 最先进的
- 最受欢迎的产品
- 数
- 运营
- 其他名称
- 己
- 部分
- 通过
- 员工
- 平台
- 平台
- 热门
- 潜力
- Prepare
- 以前
- 提供
- 出版
- 阅读
- 请求
- 要求
- 响应
- 回报
- 运行
- 运行
- 说
- 同
- 沙箱
- 保存
- 保存
- 屏风
- 格局
- 共享
- 如图
- 同样
- 简易
- 一些
- 具体的
- 商店
- 故事
- 系统
- 终端
- 通过
- 类型
- us
- 用户
- 各个
- 视频
- 视频
- 音色
- 什么是
- 您一站式解决方案