mvo-whats-php

mcp
Security Audit
Pass
Health Pass
  • License — License: NOASSERTION
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 10 GitHub stars
Code Pass
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

MVO WHATS PHP — biblioteca PHP nativa para WhatsApp, com QR Code, sessões persistentes, mensagens, mídia e integração MCP para LLMs.

README.md

MVO WHATS PHP

MVO WHATS PHP

Conecte. Receba. Envie. Tudo no seu projeto PHP.

Biblioteca nativa para integrar o protocolo WhatsApp a workers, aplicações e APIs PHP.

Versão no Packagist PHP CI PHP 8.2 ou superior Licença MIT

Instalação · Primeira conexão · Exemplos · Documentação web · LLMs e MCP · llms.txt


PHP 8.2+ · Linux e Windows · Composer · Sessões persistentes · Eventos

Use uma instalação da biblioteca para atender várias contas, cada uma com seu próprio identificador, credenciais e processo de conexão. O transporte, a criptografia e os serviços da biblioteca executam em PHP, sem exigir Node.js ou uma API intermediária.

Comece pelo terminal

Com PHP e as extensões necessárias instalados:

git clone https://github.com/mmhospedagem/mvo-whats-php.git
cd mvo-whats-php
composer install --no-dev --prefer-dist
php examples/connect.php --session=demo --mode=qr

Escaneie o QR em WhatsApp → Aparelhos conectados → Conectar um aparelho. O exemplo atualiza o QR enquanto ele muda e mantém o processo conectado. Execute novamente com a mesma sessão para restaurar um vínculo válido.

Para usar no seu próprio projeto, instale o pacote mmhospedagem/mvo-whats-php pelo Composer:

composer require "mmhospedagem/mvo-whats-php:^1.0"

O Composer encontra o pacote no Packagist, sem configurar repositório VCS. Veja os requisitos e a configuração completa no guia de instalação.

Integre diretamente no PHP

Os comandos de terminal são exemplos. Sua aplicação controla o cliente pelas próprias classes da biblioteca:

<?php
declare(strict_types=1);

require __DIR__.'/vendor/autoload.php';

use MVO\Auth\QrCode;
use MVO\WaClient;

$client = new WaClient(
    sessionId: 'cliente-demo',
    authDirectory: __DIR__.'/storage/whatsapp',
);

$client->on('auth_qr', static function (array $event): void {
    // Encaminhe este SVG somente ao usuário autorizado a vincular a conta.
    file_put_contents(__DIR__.'/storage/qr-demo.svg', QrCode::svg($event['qr']));
});

$client->on('message', static function (array $event): void {
    echo ($event['from'] ?? '').': '.($event['text'] ?? '[mídia]').PHP_EOL;
});

try {
    $client->connect();
    while ($client->isRunning()) {
        $client->poll(0.25);
        // Consuma sua fila e chame sendText()/sendMessage() quando conectado.
    }
} finally {
    $client->disconnect();
}

Salve como worker.php e execute php worker.php. Mantenha storage fora da raiz pública da aplicação. Veja como enviar mensagens no loop, conectar por código e integrar eventos à sua API.

O que você pode construir

Área Recursos Guia
Conexão QR rotativo, código, eventos, restauração e reconexão Conexão
Mensagens Texto, mídia, localização, contatos, reações, enquetes e interativos Tipos de mensagens
Mídia Upload, download verificado, arquivos e streams Mídia
Conversas Histórico, contatos, recibos, presença e sincronização de estado Histórico · Presença
Grupos e comunidades Administração, participantes, convites e configurações Serviços · Comunidades
Business Perfil comercial, catálogo, produtos e ferramentas de negócio Serviços
Status e canais Publicações, consultas, interações e gerenciamento Status · Canais
Persistência SQLite e backends configuráveis para estado e histórico Armazenamento
Extensões Formulários, agendamentos, plugins, MCP e chamadas opcionais Formulários · Agendamentos · MCP · VoIP

Uma biblioteca, várias sessões

$client = new MVO\WaClient(
    sessionId: 'cliente-001',
    authDirectory: '/var/lib/minha-aplicacao/whatsapp',
);

Para 60 clientes, use uma instalação do código e 60 sessões isoladas. A arquitetura recomendada é um worker por sessão, supervisionado pela sua aplicação. Não abra dois processos para o mesmo identificador e diretório: a biblioteca usa um lock para impedir conexões concorrentes. Veja a organização completa.

Guias para avançar

Participe

Encontrou um problema ou quer contribuir? Veja como contribuir, os canais de relato e o changelog. A documentação também está disponível offline em docs/index.html.

Compatibilidade e operação

A biblioteca implementa o protocolo WhatsApp e não é um produto oficial da Meta. A disponibilidade de um recurso e sua renderização dependem da conta, do servidor e do aplicativo receptor. Consulte a matriz de recursos e os guias específicos; testes locais não comprovam suporte universal em contas reais.

O processo PHP precisa continuar executando para receber eventos e manter a conexão. Credenciais e estado persistem no disco; disconnect() encerra o transporte preservando o vínculo, enquanto logout() solicita a remoção do aparelho. Uma sessão revogada no celular exige novo pareamento.

Mensagens funcionam com as extensões PHP descritas na instalação. Alguns recursos de mídia e chamadas utilizam FFmpeg ou bibliotecas nativas opcionais instaladas separadamente. No Linux, essas dependências usam os binários da plataforma; DLLs de Windows não são usadas no Ubuntu.

Licença

Distribuído sob a licença do projeto. Consulte também os avisos e atribuições de terceiros.

Reviews (0)

No results found