Vai al contenuto principale

Introduzione

Per sviluppare e ospitare su Square Cloud, è essenziale seguire una sequenza strutturata di configurazioni e prerequisiti. Questa guida tecnica coprirà l’intero processo, dalla configurazione iniziale al deploy in produzione.

Prerequisiti

  • Account Square Cloud: Registrati tramite la pagina di registrazione usando la tua email.
  • Piano a pagamento attivo: Garantisce risorse dedicate e prestazioni ottimizzate per la tua applicazione. Consulta i nostri piani disponibili e scegli quello più adatto alle tue esigenze.

Creazione del progetto

È necessario avere WhatsApp installato e configurato per l’autenticazione e il collegamento del bot. Se non hai l’app, visita il sito ufficiale di WhatsApp per il download e la configurazione.
Se la tua implementazione ha bisogno di accedere al percorso remoto per la versione WhatsApp Web, segui questa procedura tecnica:
  1. Accedi al repository wa-version
  2. Seleziona la versione desiderata (è sempre consigliato usare la più recente)
  3. Clicca su “Raw” per visualizzare il file
  4. Copia l’URL generato per un uso successivo
Esempio di URL configurato:
https://raw.githubusercontent.com/wppconnect-team/wa-version/main/html/2.2412.54.html

Sviluppo del progetto

  1. Verifica di Node.js: conferma che Node.js sia installato sul tuo sistema. In caso contrario, scaricalo dal sito ufficiale di Node.js.
  2. Inizializzazione del progetto: configura un nuovo progetto Node.js eseguendo il comando di inizializzazione:
Terminal
npm init -y
  1. Installazione delle dipendenze: installa le librerie essenziali per il funzionamento del bot:
Terminal
npm install whatsapp-web.js qrcode
  1. Creazione del file principale: sviluppa il file index.js con la struttura di base del bot:
index.js
// Import necessary modules
const { Client } = require("whatsapp-web.js");
const qrcode = require("qrcode");

// Create a new WhatsApp client instance
const client = new Client({
  puppeteer: {
    // Run Chrome in headless mode (without graphical interface)
    headless: true,
    args: [
      // Disable Chrome sandboxing features
      // Required for execution in containerized environments
      "--no-sandbox",
      // Additional sandboxing flag to disable setuid sandbox
      "--disable-setuid-sandbox",
    ],
  },
  // Web version cache configuration
  webVersionCache: {
    // Type "remote" indicates WhatsApp Web version will be fetched from remote URL
    type: "remote",
    // Remote path for WhatsApp Web version
    remotePath: "INSERT_YOUR_URL_HERE",
  },
});

// Event listener for QR Code generation
client.on("qr", async (qr) => {
  // Use qrcode library to generate and save QR Code
  try {
    await qrcode.toFile("./qrcode.png", qr);
    console.log("QR Code generated and saved as qrcode.png");
  } catch (err) {
    console.error("Error generating QR Code:", err);
  }
});

// Event listener for client ready
client.on("ready", () => {
  // Confirmation log when WhatsApp Web session is established
  console.log("WhatsApp client successfully initialized!");
});

// Event listener for created messages
client.on("message_create", (msg) => {
  // Log message content to console
  console.log("Message received:", msg.body);
  
  // Test command implementation
  if (msg.body === "!ping") {
    // Automatic response for ping command
    msg.reply("pong - Bot working correctly!");
  }
});

// Initialize WhatsApp client
client.initialize();

Distribuzione

Dopo aver preparato i file del tuo progetto, puoi ora caricarli su Square Cloud e ospitare il tuo progetto. Per farlo, crea un file ZIP contenente tutti i file del tuo progetto.

Tramite dashboard

1

Accedi alla pagina di upload

Accedi alla pagina di upload e carica il file zip del tuo progetto.
2

Configura il tuo ambiente

Dopo aver caricato il tuo zip, dovrai configurare il nome, il file principale o il runtime environment e altre impostazioni per il tuo progetto.
Se stai caricando un progetto web, assicurati di selezionare “Web Publication” e di impostare un sottodominio per il tuo progetto.
3

Esegui il deploy del tuo progetto

Infine, clicca sul pulsante “Deploy” per ospitare il tuo progetto su Square Cloud.
Dopo il deploy, puoi monitorare lo stato e i log del tuo progetto dalla dashboard.
Caricamento dell'applicazione su Square Cloud

Tramite CLI

Per utilizzare questo metodo, devi creare un file di configurazione chiamato squarecloud.app nella directory principale del tuo progetto. Questo file conterrà la configurazione necessaria per il tuo progetto.

Scopri di più su: come creare il file di configurazione per Square Cloud.

Il file squarecloud.app è un file di configurazione che verrà utilizzato per configurare la tua applicazione; verrà usato per definire il tuo ambiente.
1

Installa la CLI

Per prima cosa, devi avere la CLI installata nel tuo ambiente. Se non la hai ancora, esegui il seguente comando nel tuo terminale:
npm install -g @squarecloud/cli
Se la hai già, ti consigliamo di aggiornarla. Per farlo, esegui il seguente comando nel tuo terminale:
squarecloud update
2

Autenticati

Ora, per autenticarti e utilizzare gli altri comandi della CLI, troverai la tua chiave di autorizzazione qui cliccando su “Request API Key”. Dopo aver ottenuto la tua chiave di autorizzazione, esegui il seguente comando:
squarecloud auth login
3

Carica il tuo progetto

Infine, per eseguire il deploy della tua applicazione su Square Cloud tramite la CLI, devi eseguire il seguente comando:
squarecloud upload 
Oppure, se hai creato lo zip manualmente, puoi usare:
squarecloud upload --file <path/to/zip> 

Risorse aggiuntive

Per approfondire le tue conoscenze sullo sviluppo di bot WhatsApp usando whatsapp-web.js, consulta la documentazione ufficiale della libreria whatsapp-web.js. La documentazione offre guide tecniche dettagliate, tutorial avanzati e un riferimento completo alle API per massimizzare il potenziale dell’implementazione.

Contattaci

Se continui a riscontrare difficoltà tecniche, il nostro team di supporto specializzato è disponibile ad assisterti. Contattaci e saremo felici di aiutarti a risolvere qualsiasi problema.