# Pubblicazione su X (Twitter)

Il BOT supporta la pubblicazione di Tweet su un profilo X (Twitter) utilizzando le API ufficiali.

{% hint style="warning" %}
Le API ufficiali permettono, in versione gratuita, la pubblicazione di massimo **500 Post** mensili (*circa 15 tweet al giorno*). Ogni Tweet ha una lunghezza massima di **280 caratteri**.

Il BOT non è in grado di modificare un Tweet pubblicato, ma solo di eliminarlo (*limitazione delle API*).
{% endhint %}

Le impostazioni relative alla pubblicazione su X si trovano sul BOT in:\
\
\&#xNAN;*Impostazioni -> Integrazioni -> X (Twitter)*<br>

### Ottenimento dei Token API

Per collegare il BOT al proprio account X è necessario prima procurarsi i Token API:

1. Effettuare il login al proprio account X dal sito: <https://x.com/home><br>
2. Dopo aver effettuato il login, aprire <https://developer.twitter.com/en/portal/dashboard><br>
3. Verrà chiesta conferma per la creazione di un *Account Sviluppatore* e verranno proposti dei piani a pagamento. In basso si troverà l'opzione "*Sign Up For Free Account*", selezionarla per procedere alla creazione di un account gratuito:<br>

   <figure><img src="/files/8KXFH3WCQWokQ8IDty5u" alt=""><figcaption></figcaption></figure>
4. A questo punto ci verranno chieste le motivazioni di utilizzo delle API, scriviamo quanto segue:\
   `I want to tweet some posts on my account using the API while staying within the free monthly limit of 500 tweets. I don’t expect to make any other API calls besides the Manage Tweets endpoint. I’d also like to include media in my tweets for my audience.`\
   \
   Attiviamo poi tutte le spunte presenti e premiamo il pulsante "**Submit**":<br>

   <figure><img src="/files/BirAj7pFsiJzJhmSH6C0" alt=""><figcaption></figcaption></figure>
5. Ci troveremo ora nella dashboard del nostro account sviluppatore ([link](https://developer.twitter.com/en/portal/dashboard)). Selezioniamo il pulsante a impostazioni accanto alla nostra "**Project App**":<br>

   <figure><img src="/files/8mle4NHKD30gHoEuKm1o" alt=""><figcaption></figcaption></figure>
6. In basso troveremo la sezione "*User authentication settings*", selezioniamo il pulsante "**Set up**":<br>

   <figure><img src="/files/nkAf4owjDN22uachOcHt" alt=""><figcaption></figcaption></figure>
7. Nella sezione "*App Permissions*" selezioniamo "**Read and Write**":<br>

   <figure><img src="/files/XYambBBeEGx7hcV98pc2" alt=""><figcaption></figcaption></figure>
8. Nella sezione "*Type of App*" selezioniamo "**Web App, Automated App or Bot**":<br>

   <figure><img src="/files/vmTscY9Z8GhyyA9gxLK6" alt=""><figcaption></figcaption></figure>
9. Nella sezione "*App Info*":\
   \- Inseriamo `https://dealsbot.io/twitterLogin.php` nella "**Callback URI**"\
   \- Inseriamo `https://dealsbot.io` nella "**Website URL**"

<figure><img src="/files/U9bAREOurysJ6fXafY2U" alt=""><figcaption></figcaption></figure>

10. Premiamo ora il pulsante "**Save**" in basso e conferiamo con "**Yes**".<br>
11. Verranno ora visualizzati il "**Client ID**" (**1**) e la "**Client Secret**" (**2**) dell'App, salviamoli in un blocco note perché ci serviranno più tardi sul BOT rispettivamente allo Step 1 e allo Step 2 di configurazione delle chiavi. \
    Dopo averli copiati premere il pulsante "**Done**" e poi "**Yes, I have saved it**".\
    **Nota:** sarà eventualmente possibile rigenerare questi token dalla sezione "*OAuth 2.0 Client ID and Client Secret*" dell'App sul portale sviluppatore qualora venissero persi.<br>

    <figure><img src="/files/rCQYOjtNpqDBRtDgPCUR" alt=""><figcaption></figcaption></figure>
12. Una volta tornati nella pagina di gestione dell'App selezioniamo, in alto, il menu "**Keys and tokens**":\
    ![](/files/gU17Zwk8zQwRYSV27Tqc)<br>
13. Come prima voce troveremo "*Consumer Keys*", selezioniamo il pulsante "**Regenerate**" a lato e confermiamo con "**Yes, regenerate**" al popup che ci viene mostrato:<br>

    <figure><img src="/files/mQZMgQ0cr6TuSudsctD6" alt=""><figcaption></figcaption></figure>
14. Copiamo quindi l'**API Key** (**3**) e l'**Api Key Secret** (**4**) su un blocco note, ci serviranno più tardi sul BOT rispettivamento allo Step 3 e allo Step 4 di configurazione delle chiavi.<br>
15. Confermiamo quindi con "**Yes, I have saved them**" e spostiamoci sul BOT.<br>

### Configurazione dei Token sul BOT e connessione dell'Account

Adesso configureremo le chiavi appena generate sul BOT e procederemo alla connessione dell'account X.

1. Dal BOT aprire la sezione: *Impostazioni -> Integrazioni -> X (Twitter)*<br>

2. Selezionare quindi il pulsante *"Configurazione Token":*
   1. **Step 1:** inviare come messaggio il "**Client ID**" generato precedentemente allo Step 11
   2. **Step 2:** inviare come messaggio la "Client Secret" generata precedentemente allo Step 11
   3. **Step 3:** inviare come messaggio l'API Key generata precedentemente allo Step 14
   4. **Step 4:** inviare come messaggio l'API Secret generata precedentemente allo Step 14<br>

3. Se non abbiamo ricevuto errori in nessuno degli Step precedenti, allora le chiavi sono state configurate correttamente e possiamo procedere ora alla connessione dell'account tramite il pulsante "**Collega Account**" (*che sarà comparso*).<br>

4. Seguire le istruzioni fornite dal BOT per la connessione dell'Account. Sarà necessario fornire l'autorizzazione due volte.\
   La prima autorizzazione sarà simile alla seguente (**Nota:** assicurarsi di aver effettuato il login al proprio account Twitter pima di aprire il link di autorizzazione, in modo che il pulsante visualizzato sia "**Authorize app**" e non "Sign In").<br>

   <figure><img src="/files/2WAOMuiKtxVVtpTNT498" alt=""><figcaption></figcaption></figure>

5. Dopodiché si verrà riportati ad una seconda autorizzazione, in cui bisognerà sempre selezionare "**Authorize app**".\
   **Nota:** potrebbe succedere che in questa seconda autorizzazione vi venga richiesto il Login a X. In tal caso effettuare il login. Al termine del login si verrà portati sulla Home di X, sarà pertanto necessario tornare sul BOT, selezionare il pulsante "*Indietro*" e **ripetere** la procedura di Collegamento Account. Nel secondo tentativo non vi verrà richiesto il Login e potrete quindi procedere normalmente.\
   ![](/files/0bkFOVYC16s8HK4HNJP7)<br>

6. Se tutto è stato eseguito correttamente verrà visualizzato il messaggio "*OK! You can go back to the BOT!*" e il BOT visualizzerà la conferma di avvenuto collegamento:\
   ![](/files/p43tvPCg92u0wfL8WdCt)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dealsbot.io/integrazioni/pubblicazione-su-x-twitter.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
