问题标签 [facebook-messenger-bot]

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 投票
1 回答
1723 浏览

bots - 如何在 Messenger 1.4 API 中获取机器人用户的姓名、时区、性别?

Messenger 1.4 API 中似乎缺少负责获取用户姓名、性别、年龄和时区的 API。任何想法如何在新 API 中获取这些详细信息?

0 投票
1 回答
790 浏览

php - Facebook Messenger Bot:如何记住对话(保持上下文)?

我是这个话题的新手,因此我只是尝试了这个脚本。然后它完美地工作。

但问题在于对话/上下文。

现在机器人只能完美地处理用户的最后一条消息。但它不知道较早的消息是什么,因此无法维持对话,因为我不知道如何以正确的方式检索上一个/最后一个消息。

我的机器人现在的行为(示例)

如您所见(在消息的最后部分),Bot 在用户的后续回复后丢失了上下文(对话)。无法链接到上一条消息。

请问如何解决这个问题?

0 投票
1 回答
1257 浏览

facebook - Facebook Messenger Send Api - 发送给大量用户

我在 Facebook 上有一个机器人,人们正在订阅体育更新。

我有 1,000 到 10,000 个用户想要向其发送更新。

目前,在像 20 条消息这样的小范围内,我会使用 Facebook Batch 请求。

但是,我不确定大规模发送消息的最佳方式是什么。

我的两个选择是:

  1. 批处理- 每个批处理请求限制为 50 个请求。我真的不知道我是否应该期望延迟执行请求。

  2. 定期调用 - 我将遍历我的接收器并分别向每个接收器发送一条消息。我担心 Facebook 可能会因为我认为我在发送垃圾邮件而阻止我,否则我会超出速率限制。

我不得不说我期待来自 Facebook 的更通用的方法,因为他们允许用户通过我的机器人订阅更新,因此,我希望他们提供关于发送用户订阅更新的最佳实践的指南.

0 投票
1 回答
2497 浏览

facebook - Messenger 应用程序上的 FB Messenger 机器人不会出现“开始使用”按钮

出于某种原因,“开始”按钮不会出现在移动 Messenger 应用程序上,但它可以在网络上完美运行。我尝试删除按钮并重新发布。但仍然有同样的问题。我使用node js并遵循了 Facebook 的文档:

facebook 开始按钮文档

有人有解决方案吗?它是一个错误吗?非常感谢您的回答。

0 投票
0 回答
1187 浏览

facebook - Facebook messenger 复选框插件:无法向用户发送消息

我正在尝试设置 facebook messenger 复选框插件来订阅用户以在订阅时接收自动响应。

到目前为止,我能够使用带有 user_ref 参数的 app_id 和 page_id 呈现复选框插件,如https://developers.facebook.com/docs/messenger-platform/plugin-reference/checkbox-plugin#implementation中所述

我可以选择,它会在订阅的事件(messenger_checkbox)和应用程序 webhook 中收到确认响应。我在 webhook 发布数据中收到带有 user_ref 的 optin 对象。我认为到目前为止它工作正常。

现在,当我尝试在确认响应中收到 user_ref 的情况下向订阅用户发送消息时,出现错误 {"error":{"message":"(#100) No matching user found","type":"OAuthException","code":100,"error_subcode":2018001,"fbtrace_id":"CqlbK97gibd"}}

我的卷曲请求是:

curl -X POST -H "Content-Type: application/json" -d '{ "recipient": { "user_ref": "unique_user9898" }, "message": { "text":"hello, world!" } }' "https://graph.facebook.com/v2.8/me/messages?access_token=XXXXXXXXXX_PAGE_ACCESS_TOKEN_XXXXXXXXXX"

我正在从 FB graph api explorer 获取页面访问令牌。 在此处输入图像描述

我还在这里仔细检查了Send/Receive API部分

我希望我能够解释这个问题。

0 投票
2 回答
31356 浏览

facebook-messenger - 创建将打开 facebook messenger 并发送消息的链接

我正在为我正在编写的 facebook messenger bot 的用户创建一个注册码。而不是要求他们打开与我的机器人聊天并输入注册码,我想向他们提供一个链接,该链接将在与我的机器人聊天窗口上打开他们的 Facebook Messenger,并自动发送注册码。

我看到了一个打开聊天窗口的链接(https://m.facebook.com/messages/compose?ids=USER_ID),但也无法让它发送消息。

如果您知道如何做到这一点,或者有其他建议,我将不胜感激。

0 投票
6 回答
10117 浏览

facebook-messenger - Facebook Messenger Bot - 不公开工作

我创建了一个 facebook 页面和 facebook messenger bot。当机器人按照我的个人资料设计的那样工作时,我都被吓到了。但是当我请朋友测试它时。我的页面名称不会出现在信使中。该页面将出现在搜索中。然后,如果他们单击发送消息,并向机器人提问......机器人将无法工作。

难住 1. 为什么我的 pageid 没有显示为 FB Messenger 收件人 2. 为什么 bot 对用户不起作用

0 投票
3 回答
2649 浏览

mobile - Facebook Messenger 检测关闭 web 视图(移动)

我有一个 Messenger 机器人,它为用户提供网页链接。有没有办法检测用户何时关闭 web 视图并因此返回机器人对话?

这个问题只适用于手机上的 Messenger 应用程序,桌面很好。

window.onbeforeunload不支持,window.pagehide仅适用于重新加载,但不适用于关闭 webview 以及window.unload.

0 投票
1 回答
611 浏览

bots - Facebook Messenger Chatbot 消息标记(各种)

我有一个 Facebook Messenger 机器人(用 NodeJS 编写)和一个单独的控制面板,用户可以在其中管理机器人正在使用的信息(如库存等)。其中之一是记录机器人和访问者之间的所有对话。控制面板允许管理员用户通过机器人向访问者发送消息。有一个输入框,他们可以在其中输入消息,当他们单击“发送”时,消息会发送到机器人应用程序,然后通过发送 API 将其发送回用户。

消息被记录到数据库中;那些去机器人(来自访问者)的人在收到时会被记录下来,而机器人回应的人会通过“回声”回调记录下来。

这样做的问题是机器人可以回复某些访问者命令(短语)并尝试根据输入执行某些操作。我为此使用了 Wit.ai,但由于可能的短语和关键字的范围,当有人发送文本消息时,默认模式是将其发送到 Wit.ai 进行处理。但是,如果管理员用户从控制面板向访问者发送消息,则访问者可能希望响应该消息(而不是发送机器人命令),并且该响应不应发送到 Wit.ai 进行处理。而且由于可以说的内容可能变化的范围很广,再加上他们实际上也可以在响应中使用一些关键字,在这种情况下用 Wit.ai 处理意图太不确定了。

我想知道是否有办法以某种方式识别/标记机器人发送给访问者的消息来源,所以当回声回调到来时,我可以知道它是来自常规机器人例程还是来自用户 -输入回复。就像可以与消息一起发送的一些附加元标记也将与回声一起返回,但这不会污染消息本身。这样的事情可能吗?或者有没有不同的方法可以达到相同的结果。

0 投票
1 回答
2644 浏览

bots - Facebook Messenger 扩展 Javascript 错误 2071011

我正在尝试在我的机器人上使用 Facebook Messenger 扩展,但在添加了附加的 html 和 javascript 代码后,我收到错误2071011(我在 Android 手机上尝试过)。

在“messenger.Extensions.js”SDK 文件中,我发现了以下错误解释:

“JavaScript 桥不存在 - 请确保您使用的是最新版本的 Facebook 或 Messenger 应用程序。”

那是什么意思有人可以解释问题所在?