使用facebook messenger api和botkit发送表情符号

时间:2016-05-17 15:44:38

标签: javascript facebook emoji

我正在使用botkit.js为facebook messenger编写一个基本的机器人。我需要能够发送一串表情符号。 FB API只需要一个UTF8字符串。所以我能够通过在unescape中包装字符串来获得一些表情符号。但是,这对所有表情符号都不起作用。

unescape('I have been running for \u23F3' + uptime)

以上工作正常,会显示小时玻璃表情符号。但是,如果我尝试使用另一个表情符号,如太空入侵者发货\ u1F47E它不起作用。它显示的全部是文本中的E.

这里有什么东西可以让这些工作起作用,还是我只能使用一套有限的表情符号?

3 个答案:

答案 0 :(得分:4)

我通过以下方式取得了成功:

  1. 将表情符号发送到您的机器人
  2. 在服务器上记录传入消息
  3. 将记录消息中的表情符号复制并粘贴到您要从
  4. 发送的代码中

    我认为这是有效的,因为传入的消息是UTF8格式,所以表情符号虽然在log()中显示为实际的表情符号,但是是UTF8格式,因此可以通过api发送。

答案 1 :(得分:3)

查看Facebook Emoji Codes,我认为您可以将表情符号粘贴到字符串中,下面是我对发送API的实验,我使用Postman发出{{3的请求}和hourglass emojis作为消息。

{
    recipient: {id: xxxxxxxx},
    message: {text: "⌛"}
}
{
    recipient: {id: xxxxxxxx},
    message: {text: ""}
}

这就是我在Facebook上得到的,希望这会有所帮助:D

alien monster

答案 2 :(得分:0)

我的问题被传递给了Facebook Messenger API团队的某个人。简短的回答是这样的。虽然facebook messenger支持表情符号,但API却没有。因此,虽然您可以在正常聊天中使用它们,但当您尝试通过API使用它们时,它们会被剥离。所以目前,由于这种限制,这是不可能的。