J'utilise l'API slack pour obtenir la liste complète des emoji, de sorte que lorsque je reçois un message, je remplace simplement :squirrel:
avec l'icône.
La méthode https://slack.com/api/emoji.list
fonctionne comme un charme, mais ne renvoie que 30 icônes. Je pense que c'est correct car dans la page de documentation ( https://api.slack.com/methods/emoji.list ) ils disent:
Cette méthode répertorie les emoji personnalisés pour une équipe.
D'accord, mais comment obtenir la liste complète des associations nom-icône/URL de l'icône?
Je ne sais pas exactement si c'est ce que vous recherchez, mais s'il s'agit simplement de mapper des images à des noms de style lâche, c'est une très bonne bibliothèque:
https://github.com/iamcal/emoji-data
Donc, en s'appuyant sur l'exemple de leur fichier README:
L'emoji avec le nom court de style Slack point_up
a la valeur hexadécimale 261d
, et peut donc être trouvé ici: https://github.com/iamcal/emoji-data/blob/master/img-Apple-160/261d.png
(Apple, car les emoji détendus par défaut sont les Apple emoji)
J'ai finalement réussi à obtenir toutes les icônes et à les utiliser et je poste ici la solution pour tous ceux qui souhaitent utiliser faire de même:
Tout d'abord, j'ai reçu le Slack Emoji personnalisé via this URL slack
Étant donné qu'à l'étape 1, nous n'obtenons que des emojis personnalisés, il est utile de savoir que slack utilise des emoji standard définis en caractères unicode, mappés via des poignées personnalisées comme :smiley:
ou :horse:
. La bonne chose est que nous pouvons trouver, lié via la page lâche a lien vers un objet JSON avec tous les mappages emoji . Ce fichier est ÉNORME, mais contient tout ce dont nous avons besoin.
Dans le fichier, vous trouverez un tableau d'objets javascript comme celui ci-dessous:
{
"name":"SMILING FACE WITH OPEN MOUTH",
"unified":"1F603",
"variations":[],
"docomo":"E6F0",
"au":"E471",
"softbank":"E057",
"google":"FE330",
"image":"1f603.png",
"sheet_x":26,
"sheet_y":18,"
short_name":"smiley",
"short_names":["smiley"],
"text":":)",
"texts":["=)","=-)"],
"category":"People",
"sort_order":5,
"has_img_Apple":true,
"has_img_google":true,
"has_img_Twitter":true,
"has_img_emojione":true
}
J'ai utilisé les informations suivantes:
smiley
en :smiley:
)&#x
dans ce cas, vous devrez utiliser 😃
qui est rendu ????En utilisant ces informations, vous pourrez créer une fonction slack-to-html pour décoder les emojis et les afficher où vous le souhaitez
En étendant simplement la solution géniale de @ Luca, j'ai créé un shortnames
=> html unicode
dictionnaire javascript ...
Généré - 17 août 2018 à partir de la source https://raw.githubusercontent.com/iamcal/emoji-data/master/emoji.json
Exemple:
{
"+1": "👍",
"-1": "👎",
"100": "💯",
"1234": "🔢",
"8ball": "🎱",
"ab": "🆎",
"abc": "🔤",
"abcd": "🔡",
"accept": "🉑",
...
"zebra_face": "🦓",
"zipper_mouth_face": "🤐",
"zombie": "🧟",
"zzz": "💤"
}
Ce qui devient ...
{"+1": "????", "-1": "????", "100": "????",
"1234": "????", "8ball": "????", "ab": "????",
"abc": "????", "abcd": "????", "accept": "????",
... "zebra_face": "????", "zipper_mouth_face": "????",
"zombie": "????", "zzz": "????"}