whatsapp-rust
Uma biblioteca Rust assíncrona e de alto desempenho para a API do WhatsApp Web. Inspirada em whatsmeow (Go) e Baileys (TypeScript).Esta é uma reimplementação não oficial e de código aberto. Usar clientes personalizados do WhatsApp pode violar os Termos de Serviço da Meta e resultar em suspensão da conta. Use por sua conta e risco.
Principais recursos
Autenticação
- Pareamento por QR code - Escaneie o QR code do seu celular para autenticar
- Vinculação por código de pareamento - Vincule usando o número de telefone com um código de 8 dígitos
- Sessões persistentes - Reconexão automática com gerenciamento de sessão
Mensageria
- Criptografia de ponta a ponta - Implementação completa do Signal Protocol
- Conversas individuais e em grupo - Envie e receba mensagens em qualquer tipo de chat
- Edição de mensagens e reações - Edite mensagens enviadas e adicione reações
- Citação/resposta - Responda a mensagens específicas com contexto
- Confirmações de entrega - Acompanhe os status de entrega, leitura e reprodução
Manipulação de mídia
- Upload e download - Suporte para imagens, vídeos, documentos, GIFs e áudio
- Mensagens em álbum - Envie álbuns de mídia agrupados (várias imagens/vídeos em uma única bolha)
- Criptografia automática - Criptografia/descriptografia transparente para todas as mídias
Grupos e comunidades
- Gerenciamento de grupos - Crie, gerencie, convide, aprove participantes e vincule subgrupos
- Suporte a comunidades - Crie comunidades, vincule/desvincule subgrupos, consulte participantes
- Links de convite - Gere, redefina e entre via códigos de convite
- Controles de associação - Modo de aprovação, modo de adição de membros, promoção/rebaixamento de administradores
Newsletters
- Criar e participar - Crie newsletters e participe por JID ou código de convite
- Enviar mensagens - Mensagens de texto e reações com emoji
- Atualizações em tempo real - Inscreva-se para mudanças em tempo real nas contagens de reações
- Histórico de mensagens - Busque mensagens da newsletter com paginação
Atualizações de status
- Texto, imagem e vídeo - Publique atualizações de status com cores de fundo e fontes
- Controles de privacidade - Envie para todos os contatos, listas de permissão ou listas de bloqueio
- Revogação - Exclua atualizações de status publicadas
Contatos
- Consulta de número de telefone - Verifique em lote se números estão no WhatsApp
- Fotos de perfil - Busque fotos de perfil em prévia ou tamanho real
- Informações do usuário - Obtenha LID, texto de status, status business e IDs de imagem
Presença e estado de chat
- Status online/offline - Defina seu status de presença
- Indicadores de digitação - Mostre os estados de digitando, gravando e pausado
- Bloqueio - Bloqueie e desbloqueie contatos, consulte a lista de bloqueios
Ações de chat
- Arquivar/fixar/silenciar - Organize chats com ações de arquivar, fixar e silenciar
- Favoritar mensagens - Favorite e desfavorite mensagens individuais
- Sincronização de estado do app - As ações são sincronizadas em todos os dispositivos vinculados
Perfil
- Nome de exibição - Defina seu nome de exibição com sincronização do estado do app
- Texto de status - Atualize seu texto de “recado”
- Foto de perfil - Defina ou remova sua foto de perfil
Privacidade
- Configurações de privacidade - Busque e defina visibilidade de visto por último, online, foto, status e adição em grupos
- Mensagens temporárias - Defina a duração padrão das mensagens temporárias
- Confirmações de leitura - Controle a visibilidade das confirmações de leitura
Arquitetura
- Independente de runtime - Runtime assíncrono, transporte, cliente HTTP e armazenamento plugáveis via abstrações de traits
- Design modular - Troque qualquer componente (Tokio, SQLite, ureq) sem alterar o código da aplicação
- Pronto para WASM - A biblioteca core do protocolo (
wacore) não tem dependências de runtime, permitindo alvos WebAssembly - SQLite incluído - Backend de armazenamento padrão com SQLite empacotado, facilmente substituível
Começando
Instalação
Adicione whatsapp-rust ao seu projeto com cargo
Início rápido
Crie seu primeiro bot do WhatsApp em minutos
Arquitetura
Entenda a arquitetura modular
Backends personalizados
Implemente sua própria camada de armazenamento ou transporte