Skip to main content

Introduzione

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

Per creare un bot Slack, avrai bisogno di un account e dei permessi per creare app su Slack. Crea o accedi al tuo account su Slack prima di seguire i passaggi successivi.

Applicazione bot su Slack

  1. Vai su Slack API - Your Apps e clicca su “Create New App”.
  2. Scegli “From scratch”, assegna un nome all’app e seleziona il workspace in cui la installerai.
  3. Nella sezione “Socket Mode”, abilita il Socket Mode e genera un app-level token con lo scope connections:write. Copialo (inizia con xapp-): questo è il tuo SLACK_APP_TOKEN.
  4. Nella sezione “OAuth & Permissions”, aggiungi gli scope di cui il tuo bot ha bisogno (ad esempio chat:write, app_mentions:read, commands), installa l’app nel tuo workspace e copia il Bot User OAuth Token (inizia con xoxb-): questo è il tuo SLACK_BOT_TOKEN.
  5. In “Event Subscriptions”, abilita gli eventi e iscriviti al bot event app_mention. In “Slash Commands”, crea il comando /hello. Con il Socket Mode abilitato, nessuno dei due richiede una Request URL.
Sicurezza: non esporre mai pubblicamente l’app-level token o il Bot Token. Trattali come credenziali sensibili: gli esempi qui sotto li leggono dalle variabili d’ambiente, mai dal tuo codice.
Con il Socket Mode, è il bot stesso ad aprire la connessione verso Slack, quindi funziona come qualsiasi altro bot: non servono URL pubblici né porte. Se preferisci che Slack invii gli eventi via HTTP, consulta “Usare la modalità HTTP al posto del Socket Mode” alla fine di questa pagina.

Sviluppo del progetto

Usa le sezioni sottostanti a seconda del linguaggio che scegli. Entrambi gli esempi mostrano un bot che risponde a menzioni o comandi semplici.
Configurazione dell’ambiente Node.js
  1. Assicurati che Node.js sia installato.
  2. Inizializza un progetto e installa le dipendenze:
Terminal
  1. Crea un file index.js con il seguente contenuto:
index.js

Configurare Square Cloud

Crea un file squarecloud.app nella radice del tuo progetto, accanto al file principale. Indica a Square Cloud come eseguire il tuo bot:
  • MAIN è il file che Square Cloud esegue, e MEMORY è la RAM del bot in MB. I bot richiedono almeno 256 MB; 512 MB lasciano spazio per crescere.
  • AUTORESTART=true riavvia il bot se va in crash. Consulta come funziona il riavvio automatico.
  • Non c’è SUBDOMAIN: in Socket Mode, il bot non ha bisogno di un URL pubblico.
Consulta il riferimento del file di configurazione per tutti i campi.

Impostare i token

Il tuo codice legge entrambi i token dalle variabili d’ambiente SLACK_BOT_TOKEN e SLACK_APP_TOKEN, quindi non finiscono mai nei tuoi file. Impostali in uno di questi modi:
  • Dashboard: nella pagina di upload, apri Advanced configuration e aggiungi entrambe le variabili. Per un bot già pubblicato, aggiungile nella pagina Environment Variables dell’applicazione e riavvia il bot.
  • CLI: subito dopo aver caricato il bot (vedi Distribuzione), impostale con squarecloud app env set e riavvia il bot:
Il bot legge le variabili d’ambiente all’avvio, quindi riavvialo dopo ogni modifica. Consulta Variabili d’ambiente per gli altri modi di gestirle.

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

  1. Nel pannello dell’app Slack, sotto “OAuth & Permissions”, installa l’app nel workspace (se non l’hai ancora fatto).
  2. Controlla i log dell’applicazione nella dashboard di Square Cloud per eventuali errori di avvio. Con il Socket Mode non c’è nessuna Request URL da configurare: il bot si connette a Slack non appena si avvia.
  3. Invita il bot in un canale, poi menzionalo o esegui il comando /hello per convalidare le risposte.
Esempio di link di installazione (sostituisci il client_id):

Usare la modalità HTTP al posto del Socket Mode

Le app che usano il Socket Mode non possono essere pubblicate nello Slack Marketplace pubblico. Se hai bisogno che Slack invii gli eventi via HTTP, esegui il bot come applicazione web:
  1. Nelle impostazioni dell’app Slack, disabilita il Socket Mode e copia il Signing Secret (sotto “Basic Information”) in una variabile d’ambiente SLACK_SIGNING_SECRET, impostata come i token.
  2. Crea l’app con il signing secret al posto dell’app-level token e mettiti in ascolto sulla porta indicata dalla variabile d’ambiente PORT:
Entrambi i server ascoltano su tutte le interfacce di rete (0.0.0.0), come richiede Square Cloud.
  1. Aggiungi un SUBDOMAIN al tuo file di configurazione (oppure seleziona “Web Publication” e imposta un sottodominio quando carichi dalla dashboard), così il bot ottiene un URL pubblico. Le applicazioni web richiedono almeno MEMORY=512:
squarecloud.app
Un’applicazione caricata senza sottodominio non può riceverne uno in seguito. Se il tuo bot gira già in Socket Mode, carica la versione HTTP come nuova applicazione.
  1. In “Event Subscriptions” e nello slash command /hello, imposta la Request URL su https://<subdomain>.squareweb.app/slack/events.

Risorse aggiuntive

Per ulteriori approfondimenti, consulta la documentazione ufficiale di Slack:

Prossimi passi

L'app non si avvia

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

Variabili d'ambiente

Gestisci i token del tuo bot e gli altri segreti.

Bot Discord

Ospita un bot Discord accanto al tuo bot Slack.

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.