惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
J
Java Code Geeks
小众软件
小众软件
D
Docker
腾讯CDC
H
Hackread – Cybersecurity News, Data Breaches, AI and More
V
V2EX
博客园 - 叶小钗
GbyAI
GbyAI
Microsoft Azure Blog
Microsoft Azure Blog
Stack Overflow Blog
Stack Overflow Blog
B
Blog RSS Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 【当耐特】
IT之家
IT之家
博客园 - 司徒正美
M
MIT News - Artificial intelligence
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
罗磊的独立博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志
C
Check Point Blog

Chat SDK Documentation

History | Chat SDK History | Chat SDK List a vendor-official adapter | Chat SDK Approvals | Chat SDK Vercel Connect | Chat SDK Teams Low-Level APIs | Chat SDK CLI | Chat SDK Platform Adapters | Chat SDK State Adapters | Chat SDK Cards | Chat SDK Getting Started | Chat SDK Introduction | Chat SDK Modals | Chat SDK Slack Low-Level APIs | Chat SDK Streaming | Chat SDK Testing | Chat SDK Overview | Chat SDK toAiMessages | Chat SDK Cards | Chat SDK Overview | Chat SDK Markdown | Chat SDK Modals | Chat SDK AI SDK Tools | Chat SDK Types | Chat SDK Message Subject | Chat SDK Conversation History | Chat SDK Transcripts | Chat SDK Slack bot with Next.js and Redis Actions | Chat SDK Direct Messages | Chat SDK
Emoji | Chat SDK
Vercel · 2026-04-06 · via Chat SDK Documentation

Type-safe, cross-platform emoji that automatically convert to each platform's format.

The emoji helper provides cross-platform emoji that automatically convert to the correct format for each platform. On Slack, emoji render as :shortcode: format. On other platforms, they render as Unicode characters.

import { emoji } from "chat";

await thread.post(`${emoji.thumbs_up} Great job!`);
// Slack: ":+1: Great job!"
// Teams/GChat/Discord: "👍 Great job!"

Emoji also work in reactions:

await sent.addReaction(emoji.check);

bot.onReaction(["thumbs_up", "heart", "fire"], async (event) => {
  if (!event.added) return;
  await event.adapter.addReaction(event.threadId, event.messageId, emoji.raised_hands);
});
NameEmojiNameEmoji
emoji.thumbs_up👍emoji.thumbs_down👎
emoji.heart❤️emoji.smile😊
emoji.laugh😂emoji.thinking🤔
emoji.eyes👀emoji.fire🔥
emoji.checkemoji.x
emoji.questionemoji.party🎉
emoji.rocket🚀emoji.star
emoji.wave👋emoji.clap👏
emoji["100"]💯emoji.warning⚠️
emoji.raised_hands🙌emoji.muscle💪
emoji.ok_hand👌emoji.sad😢
emoji.memo📝emoji.gear⚙️
emoji.wrench🔧emoji.bug🐛
emoji.calendar📅emoji.clock🕐
emoji.sun☀️emoji.rainbow🌈

For a one-off custom emoji, use emoji.custom("name").

For workspace-specific emoji with full type safety, use createEmoji():

import { createEmoji } from "chat";

const myEmoji = createEmoji({
  unicorn: { slack: "unicorn_face", gchat: "🦄" },
  company_logo: { slack: "company", gchat: "🏢" },
});

await thread.post(`${myEmoji.unicorn} Magic! ${myEmoji.company_logo}`);
// Slack: ":unicorn_face: Magic! :company:"
// GChat: "🦄 Magic! 🏢"

You can also extend the built-in emoji map with TypeScript module augmentation:

declare module "chat" {
  interface CustomEmojiMap {
    my_custom: EmojiFormats;
  }
}