Pular para o conteúdo principal

Introdução

Para desenvolver e hospedar um aplicativo no Square Cloud, é essencial seguir uma sequência estruturada de configurações e pré-requisitos. Este guia técnico abordará todo o processo, desde a configuração inicial até a implantação em produção.

Pré-requisitos

  • Conta Square Cloud: Plataforma de hospedagem para seu aplicativo. Cadastre-se através da página de cadastro usando seu e-mail.
  • Plano Pago Ativo: Garante recursos dedicados e desempenho otimizado para seu aplicativo. Confira nossos planos disponíveis e escolha o mais adequado às suas necessidades.
Está se perguntando quanta RAM e CPU seu plano precisa para hospedar Bots do WhatsApp?
Não se preocupe, estamos aqui para ajudar. Nosso plano Standard oferece 4GB de RAM e 4vCPU, o que deve ser suficiente para a maioria dos Bots do WhatsApp. No entanto, se você estiver trabalhando em um projeto maior e precisar de mais estabilidade, recomendamos considerar nosso plano Pro. Com recursos adicionais, você pode manter a estabilidade mesmo durante picos de demanda. Para comprar, basta clicar aqui.

Criando o projeto

Ter o WhatsApp instalado e configurado é um requisito para a autenticação e vinculação do bot. Se você não tem o aplicativo, visite o site oficial do WhatsApp para download e configuração.
Se sua implementação precisar acessar o caminho remoto para a versão do WhatsApp Web, siga este procedimento técnico:
  1. Acesse o repositório wa-version
  2. Selecione a versão desejada (sempre é recomendado usar a mais recente)
  3. Clique em “Raw” para visualizar o arquivo
  4. Copie a URL gerada para uso posterior
Exemplo de URL configurada:
[https://raw.githubusercontent.com/wppconnect-team/wa-version/main/html/2.2412.54.html](https://raw.githubusercontent.com/wppconnect-team/wa-version/main/html/2.2412.54.html)

Desenvolvendo o projeto

  1. Verificação do Node.js: Confirme se o Node.js está instalado em seu sistema. Caso contrário, baixe-o no site oficial do Node.js.
  2. Inicialização do projeto: Configure um novo projeto Node.js executando o comando de inicialização:
Terminal
npm init -y
  1. Instalação de dependências: Instale as bibliotecas essenciais para a funcionalidade do bot:
Terminal
npm install whatsapp-web.js qrcode
  1. Criação do arquivo principal: Desenvolva o arquivo index.js com a estrutura base do bot:
index.js
// Importa os módulos necessários
const { Client } = require("whatsapp-web.js");
const qrcode = require("qrcode");

// Cria uma nova instância do cliente WhatsApp
const client = new Client({
  puppeteer: {
    // Roda o Chrome em modo headless (sem interface gráfica)
    headless: true,
    args: [
      // Desabilita recursos de sandboxing do Chrome
      // Necessário para execução em ambientes conteinerizados
      "--no-sandbox",
      // Flag adicional de sandboxing para desabilitar setuid sandbox
      "--disable-setuid-sandbox",
    ],
  },
  // Configuração de cache da versão Web
  webVersionCache: {
    // O tipo "remote" indica que a versão do WhatsApp Web será buscada de uma URL remota
    type: "remote",
    // Caminho remoto para a versão do WhatsApp Web
    remotePath: "INSIRA_SUA_URL_AQUI",
  },
});

// Listener de evento para geração do QR Code
client.on("qr", async (qr) => {
  // Usa a biblioteca qrcode para gerar e salvar o QR Code
  try {
    await qrcode.toFile("./qrcode.png", qr);
    console.log("QR Code gerado e salvo como qrcode.png");
  } catch (err) {
    console.error("Erro ao gerar o QR Code:", err);
  }
});

// Listener de evento para cliente pronto
client.on("ready", () => {
  // Log de confirmação quando a sessão do WhatsApp Web é estabelecida
  console.log("Cliente WhatsApp inicializado com sucesso!");
});

// Listener de evento para mensagens criadas
client.on("message_create", (msg) => {
  // Log do conteúdo da mensagem no console
  console.log("Mensagem recebida:", msg.body);

  // Implementação de comando de teste
  if (msg.body === "!ping") {
    // Resposta automática para o comando ping
    msg.reply("pong - Bot funcionando corretamente!");
  }
});

// Inicializa o cliente WhatsApp
client.initialize();

Realizando o Deploy

Após preparar os arquivos do seu projeto, você pode enviá-los para a Square Cloud e hospedar seu projeto. Para fazer isso, crie um arquivo ZIP contendo todos os arquivos do seu projeto.

Via dashboard

1

Acesse a página de upload

Acesse a página de upload e envie seu arquivo zip.
2

Configure seu ambiente

Após fazer o upload do seu arquivo zip, você precisará configurar o nome, o arquivo principal ou o ambiente de execução e outras configurações do seu projeto.
Se você estiver enviando um projeto web, certifique-se de selecionar "Publicação na Web" e definir um subdomínio para o seu projeto.
3

Faça o deploy do projeto

Finally, click on the "Deploy" button to host your project on Square Cloud.
After deployment, you can monitor your project's status and logs from the dashboard.

Via CLI

Para usar esse método, você precisa criar um arquivo de configuração chamado squarecloud.app no diretório raiz do seu projeto. Esse arquivo conterá a configuração necessária para o seu projeto.

Saiba mais sobre: Como criar arquivo de configuração da Square Cloud.

O arquivo squarecloud.app é um arquivo de configuração que será usado para configurar seu aplicativo; ele será usado para definir seu ambiente.
1

Primeiro Passo

Primeiro, você precisa ter a CLI instalada em seu ambiente. Se você ainda não a possui, execute o seguinte comando em seu terminal:
npm install -g @squarecloud/cli
Se você já a possui, recomendamos atualizá-la. Para fazer isso, execute o seguinte comando em seu terminal:
squarecloud update
2

Segundo Passo

Agora, para autenticar e usar outros comandos da CLI, você encontrará sua chave de autorização aqui clicando em "Solicitar Chave da API". Após obter sua chave de autorização, execute o seguinte comando:
squarecloud auth login
3

Terceiro Passo

Finalmente, para fazer o deploy da sua aplicação para a Square Cloud usando a CLI, você precisa executar o seguinte comando:
squarecloud upload
Ou se já possui o zip criado:
squarecloud upload --file <caminho/para/zip>

Recursos Adicionais

Para aprofundar seus conhecimentos sobre o desenvolvimento de bots do WhatsApp usando o whatsapp-web.js, consulte a documentação oficial da biblioteca whatsapp-web.js. A documentação oferece guias técnicos detalhados, tutoriais avançados e referência completa da API para maximizar o potencial de implementação.

Contate-nos

Se você continuar enfrentando dificuldades técnicas, nossa equipe de suporte especializada está disponível para auxiliá-lo. Entre em contato conosco e teremos prazer em ajudá-lo a resolver qualquer questão.