skip to Main Content

I’m building a Facebook messenger bot in Python. And everything works fine. But if I send emojis as text from Facebook chat to API, then it goes wrong.
This is an example when I send emojis from Facebook.

{'message': {'mid': 'mid.1475846223244:e7eea53884', 'seq': 10863, 'text': '👍🏽'},

So the received_message = message['message']['text'].
What I want is whenever I send a (emoji) non text message from Facebook, I can scan and encode it before I send it to my API. I have read documents before asking this question but most of them are given emojis from user and not all a scanner and encode any emojis (if I miss something, please correct me because i’m a newbie). Tell me if I need to update my question.

2

Answers


  1. You may use a mapping between unicode code-points and ASCII representation. See this kind of table here: http://lolhug.com/facebook-emoticons/

    The official Emoticons table is here: http://unicode-table.com/en/blocks/emoticons/

    The library Emoji can help you to convert your Emojis.

    Login or Signup to reply.
  2. You should use the escaped version of the corresponding code point. This is a technique that allow you to express the whole Unicode range using only ASCII characters.

    EG. The Emoji 💩 can be represented in Java as "uD83DuDCA9" or in Python as u"U0001F4A9". http://www.fileformat.info/info/unicode/char/1f4a9/index.htm

    NB: some emojis are composed by multiple code points such as flags or families. Please find here the complete list of Unicode Emojis http://unicode.org/emoji/charts/full-emoji-list.html

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search