Skip to content
Voltar para open source

universal-emoji-parser

Faz parsing de unicode e shortcodes de emoji para imagens HTML consistentes — testado em batalha desde o Dailybot 1.0.

universal-emoji-parser é a pequena biblioteca que o Dailybot usa desde o dia um para manter o render de emojis idêntico em cada superfície — Slack, Microsoft Teams, Discord, Google Chat e o navegador. Faz parsing de qualquer mistura de emojis unicode e shortcodes (`:rocket:`, `:tada:`, `:heart:`) em tags HTML `<img>` consistentes com suporte a Twemoji. É assim que um relatório que um humano escreve no Slack aparece igual quando um bot renderiza no app, em um email ou no navegador de um cliente.

Licença: MITLinguagem principal: TypeScript

1.898

entradas de emoji curadas

2-vias

conversão unicode ↔ shortcode

Twemoji

render de imagens consistente

MIT

licença, de ponta a ponta

Por que existe

As peças que fazem valer a pena adotar.

1.898 entradas de emoji curadas

Um catálogo mantido à mão dos emojis que realmente são usados no chat de equipes — sem bloat, sem candidatos obscuros de Unicode 15. Cada entrada tem nome, shortcode, unicode e referência Twemoji.

Unicode ↔ shortcode nos dois sentidos

Faz parsing de uma mensagem com `🚀` e renderiza `:rocket:`, ou faz parsing de `:rocket:` e renderiza `🚀`. Qualquer direção, mesma função, mesma saída.

Suporte a CDN e tag HTML personalizados

Aponte o parser para o seu próprio CDN de Twemoji, use uma tag HTML personalizada (`<span>`, `<i>`, etc.) ou adicione uma classe custom. A biblioteca se adapta ao seu stack de renderização, não ao contrário.

Testado em batalha desde o Dailybot 1.0

O mesmo parser de emoji rodou em cada versão do Dailybot desde o dia um. Cada kudos, cada reação, cada relatório que você já viu no Dailybot passa por essa biblioteca.

Pequena, poucas dependências

Bundle TypeScript pequeno, sem dependências de framework. Funciona no Node, no navegador e em runtimes edge.

MIT + totalmente forkável

Toda a biblioteca é MIT. Forke, estenda o catálogo, adapte ao seu CDN — o código e a licença dizem sim.

Instalação

Comece em segundos.

Escolha o canal que combina com seu stack. Cada caminho te deixa no mesmo estado funcional.

npm i universal-emoji-parser

Na prática

O que as equipes realmente fazem com ele.

01

Render de emoji consistente entre superfícies

Um usuário escreve `:rocket:` no Slack. Sua integração replica no Microsoft Teams, Discord e no inbox do cliente. As quatro superfícies mostram o mesmo glyph de Twemoji, não quatro renders de vendor diferentes.

02

Editores rich-text que falam os dois formatos

Usuários colam `🚀` do teclado, digitam `:rocket:` por memória muscular, ou copiam de outro app. O editor faz parsing dos dois e renderiza igual.

03

Histórico de chat que sobrevive migrações de plataforma

Migrando do Slack para o Teams (ou o contrário)? O parser normaliza cada mensagem histórica para uma forma HTML canônica, depois re-renderiza para as convenções da nova plataforma.

Numa olhada

A lista curta.

1.898 entradas de emoji curadas

Unicode ↔ shortcode nos dois sentidos

CDN e tag HTML personalizáveis

Render de imagens com Twemoji

FAQ

As perguntas que mais ouvimos.

Preciso do Twemoji?

Twemoji é o default, mas a biblioteca aceita qualquer URL de CDN. Aponte para o seu próprio conjunto de emojis e renderiza esses no lugar.

Suporta todos os emojis Unicode?

Suporta o conjunto curado de ~1.898 emojis que realmente são usados em chat de equipes. É uma escolha deliberada — candidatos obscuros de Unicode são filtrados para manter o bundle pequeno.

Posso estender o catálogo com emojis custom?

Sim. Registre um emoji custom com seu próprio shortcode, unicode ou URL de imagem. O parser trata idêntico ao catálogo built-in.

O que é

universal-emoji-parser é uma biblioteca TypeScript pequena e focada que mantém o render de emojis consistente em cada superfície — chat, email, UI in-app. É a mesma biblioteca que o Dailybot usa desde o dia um para garantir que :rocket: pareça um foguete em todo lugar.

Por que open source

Porque “por que o emoji parece diferente no Slack vs Teams?” é um problema resolvido, e a solução deveria ser compartilhável. MIT, desenvolvido no aberto e usado em produção pelo Dailybot todo dia.

Como se encaixa no ecossistema

Cada superfície do Dailybot que renderiza conteúdo gerado por usuários — relatórios, kudos, forms, respostas de chat — passa por esse parser. Sua estabilidade é a estabilidade do Dailybot. Torná-lo open source significa que qualquer um construindo UI de chat multi-superfície pode tomar emprestada a mesma garantia.

Pronto para experimentar?

Open source, MIT, e em produção no Dailybot todo dia. Forke, conecte, contribua.