web-dev-qa-db-fra.com

Comment puis-je obtenir la liste complète des emoji lâches via l'API?

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?

18
Luca Stucchi

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_upa 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)

14
Wilhelm Klopp

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:

  1. Tout d'abord, j'ai reçu le Slack Emoji personnalisé via this URL slack

  2. É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.

  3. 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:

  • les noms abrégés sont les noms utilisés dans slack (vous devrez transformer smiley en :smiley:)
  • unified est le caractère unicode à utiliser (pour l'utiliser directement dans une page HTML, vous devrez ajouter &#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

20
Luca Stucchi

En étendant simplement la solution géniale de @ Luca, j'ai créé un shortnames => html unicode dictionnaire javascript ...

Téléchargement: émoticônes Slack pour le mappage html unicode .

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": "????"}

5
Nick Grealy