2016-05-17 99 views
1

我正在写一个使用botkit.js for facebook messenger的基本bot。我需要能够发送一串emojis。 FB API只需要一个UTF8字符串。所以我能够通过在unescape中包装字符串来获得一些表情符号。但是,这并不适用于所有emojis。用facebook messenger api和botkit发送emojis

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

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

有什么我在这里失踪让这些工作,还是只是我只能使用一套有限的emojis?

回答

3

退房的Facebook Emoji Codes,我想你可以只是表情符号,粘贴到您的字符串,下面是我的实验发送API,我用Postman做一个POST请求与hourglassalien monster表情符号,消息。

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

,这就是我在Facebook上,希望这将有助于:d

enter image description here

+0

我可以让这些工作正常。我找到了答案并将其发布到问题中。问题是Facebook API不支持大部分emojis,即使使用者也是如此。 –

0

我的问题是一起有人在Facebook的Messenger的API团队通过。简短的答案是这样的。虽然Facebook Messenger支持表情符号,但API不支持。因此,虽然您可以在正常聊天中使用它们,但当您尝试通过API使用它们时,它们会被剥离出来。所以目前,由于这种限制,这是不可能的。

+0

我知道使用emojis的机器人(包括国旗),所以一定有办法!?尽管如此,还没有找到通过node.js发送它们的方法。 – Klemens

+0

您是否找到解决方案? – Klemens

3

我发现成功通过执行以下操作:

  1. 发送表情符号到你的机器人
  2. 登录服务器
  3. 复制传入消息并粘贴表情符号记录的消息中插入代码你想从哪里发送它

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

+0

现在,在提出API不支持它的问题的时候,它会删除大多数表情符号。他们此后增加了支持。 –

相关问题