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

推荐订阅源

IT之家
IT之家
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The GitHub Blog
The GitHub Blog
MyScale Blog
MyScale Blog
爱范儿
爱范儿
GbyAI
GbyAI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
美团技术团队
Y
Y Combinator Blog
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
Martin Fowler
Martin Fowler
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
M
MIT News - Artificial intelligence
博客园 - Franky
V
Visual Studio Blog
I
InfoQ
V
V2EX
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
博客园 - 司徒正美
L
LangChain 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;
  }
}