> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Hosting di bot

> Ospita i tuoi bot Discord, WhatsApp e Telegram sulla più grande piattaforma dell'America Latina. Prestazioni enterprise, sicurezza avanzata e strumenti di sviluppo per il tuo progetto.

<Frame>
  <img src="https://squarecloud.app/banners/it/bots.png" alt="Panoramica del servizio Square Cloud Bots" style={{ borderRadius: "0.2rem" }} />
</Frame>

## Perché scegliere Square Cloud?

Siamo la **più grande piattaforma di hosting di bot dell'America Latina**, con la fiducia di **80 dei 100 più grandi server Discord brasiliani**. Un bot vive o muore in base al suo uptime e alla sua latenza verso i gateway di Discord, WhatsApp e Telegram, quindi ogni livello del nostro stack, dall'hardware all'edge di rete, è ottimizzato per mantenere il tuo processo online e reattivo 24/7.

<CardGroup cols={2}>
  <Card title="Prestazioni progettate su misura" icon="bolt">
    Ogni bot gira su **SSD NVMe Samsung enterprise** dietro uplink da **10Gbps**, in un container isolato con **CPU e RAM applicate a livello di kernel**, così il picco di traffico di un vicino non diventa mai il tuo problema di latenza.
  </Card>

  <Card title="Un ecosistema completo per sviluppatori" icon="code">
    **CLI**, **SDK JavaScript e Python**, un'**estensione VSCode** e **GitHub Actions/Webhooks** per il CI/CD. Effettua il deploy dal tuo terminale, dal tuo editor o con un `git push`.
  </Card>

  <Card title="Square Shield + Cloudflare" icon="shield-halved">
    Un edge **fronteggiato da Cloudflare** più **Square Shield** mantiene il tuo bot entro i rate limit delle API delle piattaforme (Discord e altre), prevenendo i ban e i cooldown che mettono offline un bot.
  </Card>

  <Card title="Snapshot istantanei" icon="server">
    **Punti di ripristino con un clic** inclusi senza costi aggiuntivi. Ripristina un deploy corrotto in pochi secondi, senza perdita di dati e senza downtime.
  </Card>
</CardGroup>

<Info>
  **Provato su larga scala:** la nostra reputazione è stata guadagnata gestendo i bot dietro alcune delle community più affollate dell'America Latina, il tipo di carico sostenuto e ad alto tasso di eventi che silenziosamente mette in luce le infrastrutture deboli. Il tuo gira sugli stessi cluster.
</Info>

***

## Ambienti supportati

Offriamo un'ampia compatibilità così puoi sviluppare con la tua tecnologia preferita.

### Piattaforme

<CardGroup cols={4}>
  <Card title="Discord" icon="discord" />

  <Card title="WhatsApp" icon="whatsapp" />

  <Card title="Telegram" icon="telegram" />

  <Card title="Twitter" icon="twitter" />

  <Card title="Instagram" icon="instagram" />

  <Card title="Facebook" icon="facebook" />

  <Card title="Slack" icon="slack" />

  <Card title="YouTube" icon="youtube" />
</CardGroup>

### Linguaggi

<CardGroup cols={3}>
  <Card title="JavaScript" icon="node-js" href="../articles/getting-started-with-nodejs" />

  <Card title="Python" icon="python" href="../articles/getting-started-with-python" />

  <Card title="Java" icon="java" href="../articles/getting-started-with-java" />

  <Card title="Rust" icon="rust" href="../articles/getting-started-with-rust" />

  <Card title="Elixir" icon="droplet" href="../articles/getting-started-with-elixir" />

  <Card title="PHP" icon="php" href="../articles/getting-started-with-php" />

  <Card title="Go" icon="golang" href="../articles/getting-started-with-go" />

  <Card title="C#" icon="c" href="../articles/getting-started-with-csharp" />

  <Card title="Ruby" icon="gem" href="../articles/getting-started-with-ruby" />
</CardGroup>

<Info>
  Oltre a questi, supportiamo vari altri linguaggi e librerie. La nostra infrastruttura è flessibile per adattarsi alle esigenze del tuo progetto.
</Info>

***

## Caratteristiche principali

### Infrastruttura costruita per carichi di lavoro always-on

Ogni cluster gira su **SSD NVMe Samsung enterprise** con **uplink da 10Gbps**, e il tuo bot gira in un container isolato e senza privilegi con limiti dedicati di CPU e RAM. L'isolamento è ciò che trasforma il "veloce sulla carta" in veloce in produzione: il tuo processo non lotta mai con un vicino rumoroso per l'I/O o la CPU, così i tempi di risposta restano bassi anche sotto carico sostenuto di eventi.

### Square Shield: restare entro i rate limit

Discord, WhatsApp e Telegram bannano i bot che superano i rate limit dei loro gateway e delle loro REST. **Square Shield** si posiziona tra il tuo bot e quelle API, monitorando i pattern delle richieste per mantenerti entro il budget consentito: la differenza tra un bot che scala in modo pulito e uno che finisce in cooldown offline nel momento peggiore.

### Opera con piena visibilità

<AccordionGroup>
  <Accordion title="Snapshot con un clic">
    I punti di ripristino ti permettono di annullare un deploy sbagliato in pochi secondi, senza perdita di dati né downtime. I piani Pro ed Enterprise aggiungono snapshot giornalieri automatici.
  </Accordion>

  <Accordion title="Log in tempo reale">
    Trasmetti in streaming lo stdout/stderr della tua applicazione in tempo reale per eseguire il debug in produzione nel momento in cui qualcosa non funziona, senza riavviare il deploy.
  </Accordion>

  <Accordion title="Analisi in tempo reale">
    Monitora il consumo di CPU, RAM e rete in tempo reale da un pannello intuitivo, così puoi dimensionare correttamente le risorse e individuare le regressioni prima dei tuoi utenti.
  </Accordion>
</AccordionGroup>

### Strumenti di sviluppo

Per ottimizzare il tuo flusso di lavoro, offriamo un ecosistema completo di strumenti:

<Steps>
  <Step title="Square Cloud CLI">
    Gestisci le tue applicazioni direttamente dal terminale. Effettua il deploy, controlla i log e molto altro, in modo rapido e pratico.

    ```bash theme={null}
    npm install -g @squarecloud/cli
    squarecloud auth login
    ```
  </Step>

  <Step title="Estensione VSCode">
    Integra la gestione dell'hosting nel tuo editor di codice preferito, semplificando il processo di sviluppo e deploy.
  </Step>

  <Step title="GitHub Actions">
    Automatizza il deploy continuo (CI/CD) del tuo bot. A ogni `push` sul tuo repository, la tua applicazione viene aggiornata automaticamente sulla nostra piattaforma.
  </Step>
</Steps>

<Warning>
  **Attenzione:** per utilizzare il deploy tramite GitHub Actions, devi configurare un `token` API nei secret del tuo repository. Consulta la nostra documentazione specifica per la guida passo passo.
</Warning>

## Come ospitare il mio bot?

<Steps>
  <Step title="File di configurazione" icon="file">
    Il primo passo per ospitare il tuo bot su **Square Cloud** è creare un file di configurazione dettagliato. Questo file non è solo un semplice documento di testo, ma una guida completa che definisce le impostazioni dell'applicazione su **Square Cloud**. Funziona come un progetto architettonico per il tuo progetto sulla piattaforma.

    Una volta acquistato il piano, devi creare questo file, specificando ogni configurazione e compilandolo correttamente. I dettagli su come creare questo file sono disponibili [qui](https://docs.squarecloud.app/it/getting-started/config-file), con una guida passo passo.
  </Step>

  <Step title="Creazione del file ZIP" icon="file-zip">
    Con il file di configurazione pronto, il passo successivo è preparare la tua applicazione per il caricamento. Questo comporta inserire i file dell'applicazione e il file di configurazione di **Square Cloud** all'interno di un file .zip.

    Tuttavia, non tutti i file devono essere inclusi in questo .zip. File come `node_modules`, `package-lock.json`, `pyproject.toml` e `poetry.lock` non sono necessari, poiché possono essere generati automaticamente lato server.
  </Step>

  <Step title="File delle dipendenze" icon="box">
    Un altro aspetto cruciale è includere il file delle dipendenze nel .zip. Questo file indica alla piattaforma **Square Cloud** quali dipendenze installare per il tuo progetto. Per un progetto Node.js, questo file è `package.json`, mentre per un progetto Python è `requirements.txt`.

    Questi file elencano le librerie e i pacchetti necessari al corretto funzionamento dell'applicazione. Mantenere questi file aggiornati è fondamentale per evitare errori di installazione. Inoltre, è importante notare che le dipendenze native, come `node-fetch` in Node.js e `random` in Python, non devono essere incluse in questi file, poiché sono librerie native.
  </Step>

  <Step title="Caricamento del bot" icon="arrow-up">
    Dopo aver seguito tutti i passaggi e configurato il tuo progetto per **Square Cloud**, è il momento di caricare il tuo bot. Accedi alla pagina di caricamento sul sito **Square Cloud** e invia il tuo file .zip [qui](https://squarecloud.app/it/dashboard/new).

    Il processo è semplice: seleziona il tuo file .zip e clicca sul pulsante di caricamento. La piattaforma **Square Cloud** avvierà il processo di deploy, installando le dipendenze necessarie e configurando l'ambiente in base al file di configurazione.

    <Frame>
      <img src="https://cdn.squarecloud.app/docs/articles/dashboard/uploading.gif" alt="Caricamento dell'applicazione su Square Cloud" style={{ borderRadius: "0.2rem" }} />
    </Frame>
  </Step>
</Steps>
