Skip to main content

Introduzione

Per sviluppare e ospitare un bot WhatsApp 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 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.

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
  1. Installazione delle dipendenze: installa le librerie essenziali per il funzionamento del bot:
Terminal
  1. Creazione del file principale: sviluppa il file index.js con la struttura di base del bot:
index.js

Configurare Square Cloud

Crea un file squarecloud.app nella radice del tuo progetto, accanto a index.js. Indica a Square Cloud come eseguire il tuo bot:
squarecloud.app
  • MEMORY è la RAM del bot in MB. whatsapp-web.js esegue un browser Chromium headless, quindi assegnagli almeno 1024 MB.
  • AUTORESTART=true riavvia il bot se va in crash. Consulta come funziona il riavvio automatico.
  • Non c’è SUBDOMAIN: il bot non serve pagine web.
Il tuo ZIP contiene index.js, package.json e squarecloud.app. Lascia fuori node_modules: Square Cloud installa le dipendenze durante il deploy. Consulta il riferimento del file di configurazione per tutti i campi.

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
4

Conferma che la tua app sia online

Il primo deploy richiede di solito meno di un minuto. Nella dashboard, attendi che lo stato della tua applicazione mostri “in esecuzione” e controlla i log per eventuali errori di avvio.
Se hai fatto il deploy di un sito web o di un’API, apri https://<tuo-sottodominio>.squareweb.app nel tuo browser: dovresti vedere la tua applicazione rispondere. Se hai fatto il deploy di un bot, invia un comando per confermare che sia online.
La tua app non si avvia? Consulta la guida alla risoluzione dei problemi per le cause più comuni e le relative soluzioni.

Tramite CLI

Per utilizzare questo metodo, il tuo progetto deve avere un file di configurazione chiamato squarecloud.app nella sua radice. Indica a Square Cloud come eseguire la tua applicazione.

Guida al file di configurazione

Scopri come creare il file di configurazione squarecloud.app che definisce l’ambiente della tua applicazione.
1

Installa la CLI

Installa la CLI di Square Cloud. Se ce l’hai già, esegui lo stesso comando per aggiornarla:
2

Accedi

Esegui il comando qui sotto. Apre il tuo browser: approva l’accesso lì e la CLI è pronta. Non c’è nessuna chiave API da copiare. Per script e CI, consulta Autenticazione della CLI.
3

Carica il tuo progetto

Dalla cartella del tuo progetto, esegui il comando qui sotto. La CLI comprime la cartella corrente, escludendo ciò che elenca squarecloud.ignore, e la carica:
Per caricare uno zip che hai creato tu, passalo con --file:
4

Conferma che la tua app sia online

Il primo deploy richiede di solito meno di un minuto. Controlla lo stato e i log della tua applicazione direttamente dal terminale:
Se hai fatto il deploy di un sito web o di un’API, apri https://<tuo-sottodominio>.squareweb.app nel tuo browser: dovresti vedere la tua applicazione rispondere. Se hai fatto il deploy di un bot, invia un comando per confermare che sia online.
La tua app non si avvia? Consulta la guida alla risoluzione dei problemi per le cause più comuni e le relative soluzioni.

Test del bot

Apri i log dell’applicazione nella dashboard di Square Cloud. Al primo avvio, il bot stampa lì un QR Code: sul tuo telefono, apri WhatsApp, vai su Dispositivi collegati > Collega un dispositivo e scansionalo. Il messaggio WhatsApp client successfully initialized! conferma che la sessione è attiva. Poi invia !ping da un altro numero all’account WhatsApp collegato e verifica che risponda con pong - Bot working correctly!.
Il QR Code è disegnato con caratteri di testo e WhatsApp lo sostituisce periodicamente, quindi scansiona quello più recente. Se il tuo telefono non riesce a leggerlo, riduci lo zoom finché l’intero codice non entra nello schermo, oppure passa la dashboard al tema scuro.
LocalAuth salva la sessione nella cartella .wwebjs_auth, così i riavvii si riconnettono senza un nuovo QR Code. Per collegare un numero diverso, elimina quella cartella e riavvia l’applicazione.
Il login ha smesso di funzionare dopo un aggiornamento di WhatsApp Web? Aggiorna la libreria con npm install whatsapp-web.js@latest e fai di nuovo il deploy. Evita di fissare una vecchia versione di WhatsApp Web con l’opzione webVersionCache: le versioni obsolete tendono a rompere il login.

Usare Baileys al posto di whatsapp-web.js

Baileys è una libreria alternativa che si connette direttamente all’API multi-dispositivo di WhatsApp tramite WebSocket, senza avviare un browser headless. Poiché non c’è un’istanza Chromium/Puppeteer da eseguire, utilizza una quantità di RAM significativamente inferiore rispetto a whatsapp-web.js. Baileys salva la sua sessione (il file creds.json e le chiavi) nella cartella auth tramite useMultiFileAuthState. Square Cloud conserva i file della tua applicazione tra un riavvio e l’altro, quindi dovrai scansionare di nuovo il QR Code solo se esci dall’account o elimini quella cartella.
  1. Installa la libreria:
Terminal
  1. Crea un file index.js usando makeWASocket e useMultiFileAuthState per caricare e salvare la sessione:
index.js
Poiché Baileys non necessita di un browser, il suo file di configurazione su Square Cloud può usare un valore di MEMORY inferiore rispetto all’esempio whatsapp-web.js sopra:
squarecloud.app

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.

Prossimi passi

L'app non si avvia

Risolvi moduli mancanti, errori di memoria e altri errori di avvio.

Evolution API

Esegui un’API WhatsApp che gestisce molte istanze contemporaneamente.

Hosting di bot

Cosa offre Square Cloud per i bot che girano 24/7.

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: la qualità del supporto è una parte importante del motivo per cui gli sviluppatori valutano Square Cloud 4,9/5 su 402 recensioni su Google e Trustpilot.