Stickers 🏷️
Olá, pessoal! 👋
Extensão em que venho trabalhando para o Flarum 2.x: um gerenciador de stickers que traz stickers animados — incluindo arquivos Lottie JSON e Telegram TGS — para o compositor do seu fórum.
Repositório: https://github.com/ram0ng1/stickers
Packagist: https://packagist.org/packages/ramon/stickers
Suporte: https://ramonguilherme.com.br
Prévia


O que ela faz
A Stickers permite que sua comunidade insira stickers expressivos e animados nas postagens da mesma forma que usariam emojis. Os administradores gerenciam tudo pelo painel; os usuários escolhem stickers através de um seletor flutuante no compositor.
Ela suporta nativamente:
- Lottie JSON (
.json) — renderizado com o canvas renderer do lottie-web
- Telegram TGS (
.tgs) — Lottie comprimido em gzip, descomprimido no navegador via API nativa DecompressionStream
- PNG, GIF, WebP, JPEG — para todo o resto
Funcionalidades
- 🖼️ Envie e gerencie stickers pelo painel de administração
- 📂 Organize stickers por categorias com nomes de exibição personalizados
- 🎬 Suporte a stickers animados via lottie-web (canvas renderer)
- ✍️ Insira stickers nas postagens através de um seletor de stickers flutuante no compositor
- 💬 Códigos de substituição de texto (ex.:
:nome_do_sticker:) renderizados inline nas postagens
- 📦 Envio em massa de múltiplos arquivos de uma só vez
- 🗑️ Exclusão em massa por seleção
- 📤 Exporte todos os stickers como um ZIP (arquivos + metadados)
- 📥 Importe a partir de ZIP ou JSON — com deduplicação automática (códigos
:existentes: são ignorados)
- ⚙️ Configurações de administração:
- Reproduzir animações apenas ao passar o mouse, ou automaticamente
- Mostrar/ocultar tooltip com o nome do sticker ao passar o mouse
Instalação
composer require ramon/stickers
Atualização
composer update ramon/stickers
php flarum cache:clear
⚠️ Um aviso sobre arquivos TGS — por favor, leia
Esta extensão suporta o formato TGS como uma capacidade técnica, mas o suporte ao formato não concede nenhum direito sobre o conteúdo dentro dele.
Os pacotes de stickers do Telegram são obras criativas pertencentes aos seus autores. Antes de enviar um arquivo TGS para o seu fórum, certifique-se de que:
- Você é o autor original do sticker, ou
- Você tem permissão explícita do autor para redistribuí-lo, ou
- O sticker foi lançado sob uma licença que permite a redistribuição (ex.: Creative Commons)
A extensão exibe um lembrete de licença dentro do painel de administração sempre que um arquivo TGS é carregado. Esse lembrete é apenas informativo — o administrador do fórum é o único responsável por garantir que o conteúdo enviado esteja em conformidade com as leis de direitos autorais e com os termos de serviço da plataforma original.
Não me responsabilizo por qualquer uso não autorizado de conteúdo de stickers de terceiros.
Nos bastidores
Tanto os arquivos .json quanto .tgs são renderizados com o lottie-web, especificamente o canvas renderer (lottie-web/build/player/lottie_canvas), empacotado estaticamente no JS da extensão para que não haja dependência de CDN em tempo de execução. A descompressão do TGS acontece inteiramente no lado do cliente, usando a API nativa DecompressionStream do navegador — sem necessidade de bibliotecas extras.
Licença
MIT — © Ramon Guilherme
Feedback, relatos de bugs e sugestões são muito bem-vindos! Se você testar a extensão no seu fórum, vou adorar saber como foi. 🥑