Skip to main content
The Chat SDK provides a unified emoji system that works consistently across all platforms. Emoji are represented as immutable singleton EmojiValue objects that support object identity comparison.

Quick Start

The emoji Helper

The emoji object provides type-safe access to all well-known emoji.

EmojiValue

Immutable singleton objects representing emoji.
Key Properties:
  • Object Identity: Same emoji name always returns same object instance, enabling === comparison
  • Template String Support: toString() is called automatically in template strings
  • Platform Conversion: Placeholders are automatically converted to platform-specific format
Example:

Well-Known Emoji

The SDK includes 80+ emoji that work across all platforms:

Reactions & Gestures

Emotions & Faces

Status & Symbols

Status Indicators

Objects & Tools

Arrows & Directions

Nature & Weather

Custom Emoji

Add custom emoji using module augmentation and createEmoji().

Step 1: Declare Custom Emoji Types

Create a .d.ts file:

Step 2: Create Emoji Helper

Step 3: Use Custom Emoji

createEmoji

Create a type-safe emoji helper with custom emoji.
Example:

EmojiResolver

Converter between platform-specific formats and normalized emoji.
Example:

getEmoji

Get or create an immutable singleton EmojiValue.
Example:

convertEmojiPlaceholders

Convert emoji placeholders in text to platform-specific format.
Example:

Usage in Event Handlers

Reaction Events

Adding Reactions

Platform Format Reference

Slack

  • Format: :emoji_name:
  • Example: :+1:, :fire:, :heart:
  • Colons are automatically added/removed by the SDK

Google Chat

  • Format: Unicode emoji
  • Example: 👍, 🔥, ❤️

Teams

  • Format: Predefined reaction types
  • Supported: like, heart, laugh, surprised, sad, angry
  • Maps to: thumbs_up, heart, laugh, surprised, sad, angry

Discord

  • Format: Unicode emoji (same as Google Chat)
  • Example: 👍, 🔥, ❤️

Complete Example