从 Facebook Messenger Bot 触发用户操作

Trigger User Action from Facebook Messenger Bot

我有一个正在运行的 Facebook Messenger 机器人。

在 Messenger 应用程序中,我希望我的机器人为用户触发 "camera" 操作(拍摄新图片或视频)。

为了用假设的上下文进行说明,我将创建持久菜单操作,它模仿单击消息文本区域下的 "camera" 按钮的行为。

我查看了图形 Api 的 "Page Call To Action" 操作,但找不到会产生所需行为的参数。

我很确定现在没有办法做你想做的事。希望 Messenger 团队将来会为聊天机器人添加更多类似的功能。

这是您问题的解决方案。

在 Facebook Messenger 中,您可以打开网页视图并加载网页。但请记住,好旧的 HTML 5 为我们提供了一种简单的方法来要求用户在移动时使用他们的相机。

今天以下这些步骤有效

  1. 您可以使用 url 按钮打开 webview

    "buttons":[ { "type":"web_url", "url":"https://url_to_your_webpage", "title":"View Item", "webview_height_ratio": "compact" } ]

  2. 在您的网页中,包含此 HTML5 元素,允许用户通过手机上的相机拍摄图像

    <input type="file" accept="image/*" capture="camera" />

  3. 将图像提交到您的服务器,关闭 webview,然后进行任何必要的处理。例如,您现在可以将图像从您的机器人发送回用户。

您可以简单地向用户发送消息以单击相机图标,单击图片并将其发送给机器人。然后您可以接收该图像作为 attachment -> read 'Message with image attachment' 并回复用户。这将是更多的原生体验。在 webview 中,用户可以拒绝对相机的许可(如果需要)。希望这对您有所帮助!