我正在使用botkit.js为facebook messenger编写一个基本的机器人。我需要能够发送一串表情符号。 FB API只需要一个UTF8字符串。所以我能够通过在unescape中包装字符串来获得一些表情符号。但是,这对所有表情符号都不起作用。
unescape('I have been running for \u23F3' + uptime)
以上工作正常,会显示小时玻璃表情符号。但是,如果我尝试使用另一个表情符号,如太空入侵者发货\ u1F47E它不起作用。它显示的全部是文本中的E.
这里有什么东西可以让这些工作起作用,还是我只能使用一套有限的表情符号?
答案 0 :(得分: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
答案 2 :(得分:0)
我的问题被传递给了Facebook Messenger API团队的某个人。简短的回答是这样的。虽然facebook messenger支持表情符号,但API却没有。因此,虽然您可以在正常聊天中使用它们,但当您尝试通过API使用它们时,它们会被剥离。所以目前,由于这种限制,这是不可能的。