Files
InfiniteAPI/src/Types
Claude 79b9c9f7da feat(sticker-pack): implement native sticker pack support (3-30 stickers)
Implementa suporte completo para envio de pacotes de stickers seguindo o
padrão oficial do WhatsApp (3-30 stickers por pack).

**Novos Recursos:**
- Tipos TypeScript: Sticker e StickerPack com documentação completa
- Função prepareStickerPackMessage() com criptografia AES-256-CBC + HMAC
- Conversão automática para WebP usando Sharp
- Detecção de stickers animados via VP8X header
- Deduplicação automática de stickers por hash SHA256
- Compressão ZIP usando fflate (level 0 para performance)
- Upload de thumbnail 252x252 JPEG com mesma mediaKey
- Validações conforme especificações oficiais WhatsApp

**Especificações Implementadas:**
- Mínimo 3, máximo 30 stickers (padrão oficial WhatsApp)
- Limite 1MB por sticker (hard limit)
- Recomendado: 100KB estático, 500KB animado
- Formato WebP obrigatório
- Tray icon 252x252 pixels
- Limite total pack: 30MB

**Arquivos Modificados:**
- src/Types/Message.ts: tipos Sticker e StickerPack
- src/Defaults/index.ts: media paths e HKDF keys
- src/Utils/sticker-pack.ts: implementação core (440 linhas)
- src/Utils/messages-media.ts: export getImageProcessingLibrary, mediaKey opcional
- src/Utils/messages.ts: integração com generateWAMessageContent
- src/Socket/messages-send.ts: detecção de tipo 'sticker_pack'
- package.json: dependência fflate@^0.8.2

**Segurança:**
- Criptografia AES-256-CBC com autenticação HMAC-SHA256
- HKDF key derivation para separação de chaves
- Reutilização intencional de mediaKey (protocolo WhatsApp)
- Validação de tamanhos e formatos

**Compatibilidade:**
-  Não impacta mensagens interativas existentes
-  Tipos completamente separados no union type
-  Sharp como peer dependency opcional
-  Graceful degradation se Sharp não instalado

**Uso:**
\`\`\`typescript
await sock.sendMessage(jid, {
  stickerPack: {
    name: 'Meu Pack',
    publisher: 'Autor',
    cover: coverBuffer,
    stickers: [
      { data: sticker1, emojis: ['😀'] },
      { data: sticker2, emojis: ['😎'] }
    ]
  }
})
\`\`\`

https://claude.ai/code/session_01FaRqGuPecEyPx1qiuRV8Ye
2026-02-05 15:54:27 +00:00
..
2025-05-06 12:10:19 -03:00
2025-07-17 13:54:17 +03:00
2025-05-06 12:10:19 -03:00
2025-05-06 12:10:19 -03:00
2025-07-17 13:54:17 +03:00
2025-07-17 13:54:17 +03:00