标签: facebook-chatbot

Facebook Messenger僵尸不按顺序发送消息

我正在玩一个简单的Facebook Messenger聊天机器人,我无法按顺序发送消息.

在此输入图像描述

在上面的例子中,它应该按顺序打印"Hello!","1","2","3".我目前正在关注这里发现的Facebook文档来实现这个简单的文本消息功能.我在下面包含了我的Express Node.JS服务器代码:

定义sendTextMessage()功能:

var request = require("request");
function sendTextMessage(user, text) {
    messageData = {
        text: text
    };
    request({
        url: "https://graph.facebook.com/v2.6/me/messages",
        qs: {access_token: PAGE_ACCESS_TOKEN},
        method: "POST",
        json: {
            recipient: {id: user},
            message: messageData
        }
    }, function(error, response, body) {
        if (error) {
            console.log("Error sending message: ", error);
        } else if (response.body.error) {
            console.log("Error: ", response.body.error);
        } else {
            console.log("Message successfully send.")
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

用它来发送回复:

sendTextMessage(user, "Hello!");
sendTextMessage(user, "1");
sendTextMessage(user, "2");
sendTextMessage(user, "3");
Run Code Online (Sandbox Code Playgroud)

我甚至尝试实现一个对消息进行 …

facebook chatbot node.js messenger facebook-chatbot

13
推荐指数
2
解决办法
9218
查看次数

如何从Facebook Messenger平台发送位置?

有一种方法可以从移动客户端将我的位置发送到facebook-messenger,但是如何从机器人发送一些位置?(信使平台api)

当我尝试从bot发送类似的结构时,我收到一个错误: (#100) Unsupported attachment type

有没有办法从机器人发送我的位置?

收到的bot消息示例:

{
   "object": "page",
   "entry": [{
       "id": "1719442148306048",
       "time": 1466780344978,
       "messaging": [{
           "sender": {"id": "123456789"},
           "recipient": {"id": "987654321"},
           "timestamp": 1466780344847,
           "message": {
               "mid": "mid.12345698875:c80066d69b6cee1779",
               "seq": 65,
               "attachments": [{
                   "title": "Dmitry's Location",
                   "url": "Link to bing.com through facebook redirect"
                   "type": "location",
                   "payload": {"coordinates": {"lat": 55, "long": 37}}
               }]
           }
       }]
   }]
}
Run Code Online (Sandbox Code Playgroud)

我尝试发送带附件的邮件,如下所示:

               "attachment": {
                   "type": "location",
                   "payload": {"coordinates": {"lat": 55, "long": 37}}
               }
Run Code Online (Sandbox Code Playgroud)

messenger facebook-messenger facebook-chatbot

11
推荐指数
1
解决办法
8791
查看次数

在Facebook Messenger机器人中保存/跟踪状态的正确方法是什么?

如果我的机器人提出不同的问题,如果用户回答了每个问题,我如何找出哪个答案与哪个问题相关.有一个称为元数据的字段,您可以将其附加到sendTextMessage API,但是当用户响应时,此元数据将以未定义的形式出现.你们是否使用任何节点缓存来跟踪状态或FSM,如machina.js?我怎样才能最好地弄清楚我们目前陷入的对话?

bots chatbot facebook-chatbot

10
推荐指数
2
解决办法
4661
查看次数

"Get Started"按钮不会出现在FB Messenger bot的欢迎屏幕中

我按照这个帖子中的解决方案,它仍然无法正常工作 如何在facebook messenger bot中设置"开始"按钮以及何时发送欢迎消息

我尝试了graph.facebook.com/v2.6/me/thread_settings?access_token=xxxxx和graph.facebook.com/v2.6/page_id/thread_settings?access_token=xxxxx与原始身体

{
  "setting_type":"call_to_actions",
  "thread_state":"new_thread",
  "call_to_actions":[
    {
  "payload":"USER_DEFINED_PAYLOAD"

   }
 ]
}   
Run Code Online (Sandbox Code Playgroud)

响应消息是这样的

  {
  "result": "Successfully added new_thread's CTAs"
 }
Run Code Online (Sandbox Code Playgroud)

但欢迎屏幕中的消息只是显示"输入消息......"

请帮忙.这太令人沮丧了.FB开发者网站上的文档根本没有帮助 https://developers.facebook.com/docs/messenger-platform/thread-settings/get-started-button

facebook facebook-graph-api facebook-messenger facebook-chatbot

10
推荐指数
2
解决办法
8874
查看次数

Facebook Messenger Chatbot自定义事件跟踪

我正在尝试使用我开发的Facebook Chatbot记录自定义事件,但是我不能为我的生活找到custom_events类型的参考.

其参考中列出的示例显示fb_mobile_purchase为自定义eventName.我不希望这样,我找不到任何列出其他类型的地方.

我希望能够跟踪聊天机器人向用户发送特定消息的时间,但只需设置eventName任何内容就会在Google Analytics中生成事件名称Reserved5.

在Facebook文档中是否有对eventNames的引用?

facebook-graph-api facebook-chatbot

10
推荐指数
1
解决办法
826
查看次数


Facebook聊天机器人中响应文本的富文本格式

我想格式化(更改字体大小/文本颜色/应用文本样式 - 粗体/下划线/斜体等)响应文本发送给Facebook聊天机器人用户.

我没有在messenger API中看到任何此类支持.只想确认是否支持?有没有其他方法/方法来实现这一目标?

提前谢谢,picku

bots chatbot wit.ai facebook-chatbot

8
推荐指数
1
解决办法
2506
查看次数

Facebook messenger聊天机器人显示"检查您的连接,然后重试."

最近,我正在尝试为自己构建一个机器人.当我使用ngrok在本地测试我的僵尸程序时,它可以完美运行,但是当我部署到AWS时,我开始偶尔看到下面捕获的错误,并且没有导致从Facebook发送到我的服务器的webhook请求.我不知道什么可能出错.我已经检查了使用tcpflow到我的服务器的请求,但是没有运气,似乎Facebook没有将该特定请求发送到我的服务器.这是一个非常奇怪的问题,发生在我的机器人对话流程的特定点上.我总是需要重复我的回答或我的回发才能让它发挥作用.

一些基本的服务器信息(不知道这是否重要):

  1. 可用区:ap-southeast-1b
  2. 输入:t2.micro
  3. CPU使用率(当时):4%

如果有人能解开我的神秘,我真的很感激.谢谢.

仅供参考,我已将此报告给Facebook:https://developers.facebook.com/bugs/1825253057751227

连接错误示例

javascript facebook amazon-ec2 node.js facebook-chatbot

7
推荐指数
1
解决办法
917
查看次数

如何使用单一平台创建多个Facebook机器人?

我有一个Facebook机器人,我已将其与Facebook页面连接.但要公开发布,我必须等待Facebook的批准.

如果你必须制作一个单一的机器人不是问题,如果你必须在比例级别上做这个问题(例如:100多个机器人).

作为ChatfuelContent Api的平台允许您只选择您拥有的页面并自动连接机器人.

几分钟内,机器人就可以公开发布,在Facebook上跳过审查阶段(显然).

我在Facebook开发者指南中没有找到任何关于它的信息,有一种内部API不适用于所有人?如果是这样,您如何请求访问?

facebook bots chatbot facebook-graph-api facebook-chatbot

7
推荐指数
1
解决办法
2278
查看次数

如何远程调试heroku上的node.js应用程序?

我正在构建一个node.js聊天机器人,然后我将它部署在heroku上.该应用程序使用webhooks,它必须位于服务器可以访问的公共URL.因此,在我的机器上本地运行服务器将无法正常工作.有没有办法可以远程调试我的应用程序?有小费吗?

remote-debugging heroku node.js facebook-chatbot

6
推荐指数
1
解决办法
2372
查看次数