2016-10-07 7 views
0

私はPythonでFacebookメッセンジャーボットを構築しています。そして、すべて正常に動作します。しかし、私がemojisをFacebookチャットのテキストとしてAPIに送ると、それは間違っています。 これはFacebookからemojisを送信する場合の例です。Facebookのメッセンジャーからemojisの入力を確認してエンコードする方法は?

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

したがって、received_message = message['message']['text']です。 Facebookからnon text message(絵文字)を送信するたびに、スキャンしてエンコードしてからAPIに送信します。私はこの質問をする前に文書を読みましたが、ほとんどの人はemojisというユーザーから与えられ、すべてのスキャナではなく、emojisをエンコードしています(もし私が何かが恋しくなるなら、私は初心者ですから私を修正してください)。私の質問を更新する必要があるかどうか教えてください。

+0

あなたの 'text'値の 'repl'を投稿できますか、またはUnicodeコードポイントを与えることができますか? –

+0

申し訳ありませんが、私はあなたの質問を明確に理解していませんか? 'text'値はFacebookから送信したもので、 'text'が 'string'でない場合は、それをUnicodeにエンコードします。 –

答えて

1

ユニコードコードポイントとASCII表現の間のマッピングを使用できます。ここでは、テーブルのこの種を参照してください:http://lolhug.com/facebook-emoticons/

公式絵文字テーブルはここにある:http://unicode-table.com/en/blocks/emoticons/

ライブラリEmojiがあなたの絵文字を変換するお手伝いをすることができます。

+0

ありがとうございました!私は今それを試してみましょう! –

+0

これはおそらく、すべてのemojisなど、利用可能なすべてのUnicodeコードポイントを表現することはできません。 –

0

対応するコードポイントのエスケープされたバージョンを使用する必要があります。これは、ASCII文字のみを使用してUnicodeの全範囲を表現できるテクニックです。

EG。絵文字は、Javaでは"\uD83D\uDCA9"、またはPythonではu"\U0001F4A9"と表現できます。 http://www.fileformat.info/info/unicode/char/1f4a9/index.htm

NB:一部の絵文字は、フラグやファミリなどの複数のコードポイントで構成されています。 Unicode Emojisの完全なリストを見つけてくださいhttp://unicode.org/emoji/charts/full-emoji-list.html

関連する問題