You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Slack API开发聊天应用:Emoji格式转换及自定义发送问题

问题解答

一、将Slack的:xxx:格式Emoji转换为Unicode/HTML展示

要实现这个需求,核心是获取Slack官方的Emoji映射关系,再做文本替换:

  1. 获取Emoji映射表
    调用Slack API的emoji.list方法,该接口会返回当前Workspace内所有标准Emoji和自定义Emoji的映射:
  • 标准Emoji(如:grinning:)会直接返回对应的Unicode字符
  • 自定义Emoji会返回对应的图片URL
  1. 前端文本替换实现
    拿到映射表后,编写正则匹配文本中的:xxx:格式,替换为对应的Unicode字符或图片标签。示例JavaScript代码:
// 从Slack API获取的Emoji映射表
const slackEmojiMap = {
  "grinning": "😀",
  "wave": "👋",
  "custom_dog": "https://your-domain.com/custom_dog.png"
};

function convertSlackEmoji(text) {
  return text.replace(/:([a-zA-Z0-9_+-]+):/g, (match, emojiKey) => {
    const target = slackEmojiMap[emojiKey];
    if (!target) return match; // 未找到则保留原格式
    
    // 区分是Unicode还是自定义图片
    if (target.startsWith('http')) {
      return `<img src="${target}" alt="${emojiKey}" style="height:1em; vertical-align:middle;" />`;
    } else {
      return target;
    }
  });
}

调用该函数后,就能把:grinning:转成😀,自定义Emoji则转为对应图片标签在HTML中展示。

二、自定义Emoji集发送至Slack的支持情况

完全支持,分两步操作:

  1. 添加自定义Emoji到Slack Workspace
    使用Slack API的emoji.add方法,需要申请emoji:write权限。调用时传入Emoji名称、图片文件(或图片URL),即可将自定义Emoji添加到目标Workspace。

  2. 发送含自定义Emoji的消息
    添加完成后,直接在发送给Slack的消息中使用:自定义Emoji名称:格式即可,Slack会自动识别并展示对应的自定义Emoji。

注意:自定义Emoji仅在添加的Workspace内有效,其他Workspace需单独添加才能使用相同格式的Emoji。

内容的提问来源于stack exchange,提问作者Propool

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 18:31:05