问题标签 [facebook-chatbot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
15636 浏览

facebook-graph-api - Facebook 聊天机器人 (PHP webhook) 发送多个回复

我的 Facebook 聊天机器人正在工作,但在我向它发送初始消息后它会发回多条消息。这是我的 webhook 脚本(我很欣赏这是一个非常粗糙的工作示例):

0 投票
2 回答
2022 浏览

webhooks - 保护您的 facebook 聊天机器人 webhook 的最佳做法是什么?

我正在玩在 facebook Messenger 平台上开发一个聊天机器人。我浏览了 Facebook 文档,但找不到如何保护我webhook免受随机呼叫的影响。

例如,如果用户可以使用我的机器人购买东西,那么知道某人的 userId 的攻击者可以通过调用我的 webhook 开始下未经授权的订单。

我对如何保护它有几个想法。

  1. 将我的 API 列入白名单,只允许来自 Facebook 的调用。
  2. 使用回发调用创建类似 CSRF 令牌的东西。

有任何想法吗?

0 投票
5 回答
7449 浏览

php - PHP 中的 Messenger Bot:无响应返回

我正在尝试用 PHP 构建一个测试信使机器人。我的网络挂钩设置完美,甚至页面订阅也正确完成。但是,我的机器人不响应 Messenger 中的任何文本。我曾尝试更改应用程序 ID、页面 ID,以确保其中是否存在任何问题。我还尝试了各种方法,包括此处概述的基本 curl: Facebook 聊天机器人(PHP webhook)发送多个回复

并尝试了 2 个不同的 php 库: https://github.com/Fritak/messenger-platform https://github.com/pimax/fb-messenger-php

我没有遇到 PHP 错误,挑战在 Facebook 结束时仍然成功。我的 SSL 证书很好,但我无法让机器人响应。

对此的任何帮助将不胜感激。

0 投票
2 回答
2320 浏览

facebook - 尝试创建 Facebook 聊天机器人时获取和“错误,错误的验证令牌”

我正在尝试使用 NodeJS、Express 和 Heroku 服务器创建一个 Facebook 聊天机器人。

我在 heroku 上创建了我的 webhook,并由 facebook 验证和保存。然后我开始添加可以回复传入消息的代码,但我似乎无法连接它。当我尝试在浏览器中加载我的 webhook 时,它一直说“错误,错误的验证令牌”。当我尝试向我的机器人发送消息时,我没有得到任何回应。即使我已经对其进行了验证并且没有更改代码。

这是我的代码:

所以我很困惑为什么什么都没有发生以及为什么我会收到这个错误。我觉得我错过了一个完整的步骤。顺便说一句,我正在关注本教程:https ://developers.facebook.com/docs/messenger-platform/quickstart

任何帮助表示赞赏。谢谢!

编辑:这是我的heroku日志

Heroku 日志

0 投票
1 回答
2083 浏览

node.js - Facebook Messenger bot 错误“TypeError:无法读取未定义的属性‘0’。”

我正在尝试使用 NodeJS、Express 和 Heroku 服务器创建一个 Facebook 聊天机器人。

我在 Heroku 上创建了我的 webhook,并由 Facebook 验证和保存。然后我运行此代码将我的 webhook 连接到 Facebook。

这返回了 {success:true}。

因此,我开始添加可以回复传入消息的代码,但我似乎无法让它接收发送的信息。每当我发送消息时,我都没有得到回复。

一切都已连接并正在运行,但我收到“TypeError:无法读取未定义的属性'0'”的这个错误是因为我没有收到从 facebook 发送到我的 webhook 的消息信息。这是空的代码行:

这是我的完整代码:

这是我的 Heroku 日志:

Heroku 日志

所以我很困惑为什么当我的 webhook 连接到 Facebook 并且他们正在通信时我没有收到消息数据。我还确保检查了所有必要的订阅字段。

有人看到问题了吗?任何帮助表示赞赏。谢谢!

编辑:顺便说一句,我正在遵循本指南 - https://developers.facebook.com/docs/messenger-platform/quickstart

0 投票
3 回答
5696 浏览

facebook - Facebook Messenger 平台上提供哪些用户个人资料信息?

Messenger 平台文档展示了如何通过其 API 获取用户个人资料信息的示例(请参阅)。如果显示的示例实际上包含所有可能检索的信息(意思是:first_name、last_name、profile_pic、locale、timezone、gender)或者它只是一个示例,我可以通过 API 找到更多用户数据(再次,指仅通过信使平台(即通过机器人)执行此操作)。谢谢 !

0 投票
2 回答
1593 浏览

node.js - 等待 Facebook Messenger 机器人的文本回复

我正在编写一个 Facebook Messenger 机器人,并试图在回发后存储文本回复。我的意思是我有一条消息可以发回一个帖子,根据他们选择的选项,他们可以输入一条消息,然后我存储该文本。问题是我只想在他们为回发消息选择一个选项后存储此文本。文本也可以是任何东西,所以我不能为它写一个 if 语句。

这是我的代码:

一切都已设置并正在运行。但是当收到回发时,我想在完成之前等待用户的回复,这样我就可以保存文本。就像我之前说的那样,它可以是任何意思,我不能像“开始”那样只写一个 if 语句。我也只想在他们单击回发按钮后保存文本。

我正在考虑添加一个while循环并在完成回发功能之前等待接收文本,但无法弄清楚。

那么,在我发送带有回发的消息后,我将如何等待文本呢?

任何帮助表示赞赏,谢谢!

0 投票
11 回答
10516 浏览

node.js - Facebook Messenger bot 未按顺序发送消息

我正在尝试构建一个简单的 Facebook Messenger 聊天机器人,但无法按顺序发送消息。

在此处输入图像描述

在上面的示例中,它应该按顺序打印“Hello!”、“1”、“2”、“3”。我目前正在关注此处找到的 Facebook 文档来实现这个简单的短信功能。我在下面包含了我的 Express Node.JS 服务器代码:

定义sendTextMessage()函数:

使用它来发送响应:

我什至尝试实现一个简单的队列request,该队列对消息进行排队,并且在每个成功回调之后一次只发送一条消息。这让我怀疑我没有正确地与 Messenger API 交互。

有没有人遇到过这个问题?如何让消息按顺序发送?谢谢!

编辑

因为我实现了一个简单的队列但仍然遇到这个问题,所以我在这里包含了我的简单队列系统的代码。

更新

这个“错误”已报告给 Facebook,但听起来他们不会修复它请在此处阅读 Facebook 帖子上的票务线程,了解他们所说的情况的详细信息。(感谢 Louise 引起 Facebook 的关注)

0 投票
1 回答
96 浏览

facebook-messenger - 已批准的 Facebook Messenger 应用程序在设置为开发模式时是公开的

在我的 App Review 选项卡中,我看到“您的应用程序正在开发中,对公众不可用”。

但是,当人们向我的页面发送消息时,我会在我的 webhook 上收到消息,他们可以单击模板消息并与机器人交互。

我不打算让我的应用程序公开。有没有其他人注意到这一点?

0 投票
1 回答
2402 浏览

facebook - 我们如何使用图形 api 获取带有 fb 发件人 ID 的 fb 用户的时区?

我们在 fb messenger 上有一些机器人,facebook 向我们发送连接到我们页面的用户发件人 ID,而不是实际的 fb 用户 ID。当我们尝试使用图形 api 获取用户配置文件时,时区错误。其余所有详细信息(如用户名、性别和个人资料图片)均正确,因此访问令牌和发件人 ID 正确。

所有用户的时区都以 IST (5.5) 的形式出现,我们从中进行操作。所以我想这与发送者 ID 的创建方式有关,或者 fb 发送的是我们页面的时区而不是用户个人资料。还有其他人面临类似的问题吗?