如何通过API获取完整的松弛表情符号列表?

Luc*_*chi 17 slack-api slack

我正在使用松弛的API来获取表情符号的完整列表,这样当我收到消息时,我将替换:squirrel:为图标.

该方法的https://slack.com/api/emoji.list工作方式类似于魅力,但仅返回30个图标.我认为这是正确的,因为在文档页面(https://api.slack.com/methods/emoji.list)中他们说:

此方法列出了团队的自定义表情符号.

很公平,但我怎样才能获得关联icon-name/icon URL的完整列表?

Luc*_*chi 20

我终于设法得到所有的图标并使用它们,我在这里发布解决方案,对于任何想要使用类似的人来说:

  1. 首先,我通过这个松弛的URL 获得了Slack Custom Emoji

  2. 因为在步骤1我们只得到自定义Emojis,所以知道slack使用unicode字符中定义的标准表情符号很有用,通过自定义句柄映射,如:smiley::horse:.好消息是,我们可以通过松弛页面找到与所有表情符号映射的JSON对象链接.这个文件很大,但我们需要的东西.

  3. 在文件中,您将找到一个javascript对象数组,如下所示:

{
 "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
}
Run Code Online (Sandbox Code Playgroud)

我使用了以下信息:

  • 短名称是松弛使用的名称(你需要smiley变成:smiley:)
  • unified是要使用的unicode字符(要在HTML页面中直接使用它,你需要添加它,&#x所以在这种情况下你必须使用😃它被渲染?

使用此信息,您将能够创建一个松弛到html函数来解码表情符号并在任何地方显示它们


Wil*_*opp 13

不完全确定这是否是您正在寻找的,但如果只是将图像映射到松散风格的名称,这是一个非常好的库:

https://github.com/iamcal/emoji-data

因此,建立在自述文件中的示例:

具有Slack样式短名称的表情符号具有point_up十六进制值261d,因此可以在此处找到:https://github.com/iamcal/emoji-data/blob/master/img-apple-160/261d.png

(Apple,因为默认的松弛表情符号是苹果表情符号)

  • 嘿@wilhelm-klopp,谢谢你的提示!是的,这非常有用!我找到了一个包含所有可能匹配项的 JSON,我使用它来获取 unicode 值并将图标呈现为 HTML。如果解决的话我会发布解决方案! (2认同)

Nic*_*aly 5

只是扩展@Luca的出色解决方案,我已经创建了shortnames=> html unicodejavascript字典...

下载:Slack表情符号到unicode html映射

生成-2018年8月17日,来自源https://raw.githubusercontent.com/iamcal/emoji-data/master/emoji.json

例:

{
  "+1": "👍",
  "-1": "👎",
  "100": "💯",
  "1234": "🔢",
  "8ball": "🎱",
  "ab": "🆎",
  "abc": "🔤",
  "abcd": "🔡",
  "accept": "🉑",
  ...
  "zebra_face": "🦓",
  "zipper_mouth_face": "🤐",
  "zombie": "🧟",
  "zzz": "💤"
}
Run Code Online (Sandbox Code Playgroud)

变成...

{“ +1”:“?”,“ -1”:“?”,“ 100”:“?”,
“ 1234”:“?”,“ 8ball”:“?”,“ ab”:“?” ,
“ abc”:“?”,“ abcd”:“?”,“ accept”:“?”,
...“ zebra_face”:“?”,“ zipper_mouth_face”:“?”,
“ zombie”:“? “,” zzz“:”?“}

  • 做得好!但我已经更新了列表,因为我遗漏了很多。https://gist.github.com/harmjanluth/ba3a38491dbbb11828f4b023becd1d64 这里没有变化,不知道如何映射/处理它们转换为html unicode。 (2认同)