2016-05-17 96 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不支持它的問題的時候,它會刪除大多數表情符號。他們此後增加了支持。 –

相關問題