# Migliori pratiche per l'utilizzo di un Raspberry PI come bot per la pubblicazione di aggiornamenti in Discourse

**URL:** https://meta.discourse.org/t/best-practise-for-using-a-raspberry-pi-as-bot-for-posting-updates-in-discourse/195107
**Category:** Support
**Created:** [26 Giugno 2021, 4:05pm UTC](https://meta.discourse.org/t/best-practise-for-using-a-raspberry-pi-as-bot-for-posting-updates-in-discourse/195107 "2021-06-26T16:05:50Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![elRicharde](https://avatars.discourse-cdn.com/v4/letter/e/5e9695/32.png) [@elRicharde](https://meta.discourse.org/u/elRicharde)
#### Post date: [26 Giugno 2021, 4:05pm UTC](https://meta.discourse.org/t/best-practise-for-using-a-raspberry-pi-as-bot-for-posting-updates-in-discourse/195107/1 "2021-06-26T16:05:50Z")

</div>

Ciao a tutti,

Sto cercando il modo migliore (o una procedura ben documentata / guida per principianti) per configurare un Bot che aggiorni un Post su Discourse.

Vogliamo utilizzare un Raspberry Pi per controllare alcuni interruttori e, in base al loro stato, aggiornare un Post nel nostro Forum.

Qualsiasi buon consiglio è ben accetto. Grazie in anticipo.

Richarde

---

<div class="post-metadata">

### Author: ![Pravi](https://avatars.discourse-cdn.com/v4/letter/p/76d3ee/32.png) [@Pravi](https://meta.discourse.org/u/Pravi)
#### Post date: [26 Giugno 2021, 6:44pm UTC](https://meta.discourse.org/t/best-practise-for-using-a-raspberry-pi-as-bot-for-posting-updates-in-discourse/195107/2 "2021-06-26T18:44:39Z")

</div>

Per aggiornare un post da remoto, devi configurare un ricevitore email oppure puoi affidarti all’API di Discourse.

---

<div class="post-metadata">

### Author: ![elRicharde](https://avatars.discourse-cdn.com/v4/letter/e/5e9695/32.png) [@elRicharde](https://meta.discourse.org/u/elRicharde)
#### Post date: [27 Giugno 2021, 11:53am UTC](https://meta.discourse.org/t/best-practise-for-using-a-raspberry-pi-as-bot-for-posting-updates-in-discourse/195107/3 "2021-06-27T11:53:25Z")

</div>

Grazie @Pravi

Esiste qualche guida per principianti su questo?

Grazie in anticipo

Modifica: mentre pensavo alle possibilità che l’API offre, preferirei quella soluzione.  
Inizierò subito a cercare informazioni su come configurarla… qualsiasi suggerimento è benvenuto.

---

<div class="post-metadata">

### Author: ![fzngagan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fzngagan/32/259349_2.png) [@fzngagan](https://meta.discourse.org/u/fzngagan)
#### Post date: [27 Giugno 2021, 12:33pm UTC](https://meta.discourse.org/t/best-practise-for-using-a-raspberry-pi-as-bot-for-posting-updates-in-discourse/195107/4 "2021-06-27T12:33:48Z")

</div>

Puoi utilizzare questo gem per connetterti al tuo Discourse ed eseguire tutte le operazioni necessarie.

> [@Use the Discourse API ruby gem](https://meta.discourse.org/t/using-the-discourse-api-ruby-gem/17587):
>
> So you want to use [Discourse API](https://meta.discourse.org/t/discourse-api-documentation/22706)? Great! Let’s get started. Set up Discourse development environment Set up Discourse development environment using our [Windows](https://meta.discourse.org/t/install-discourse-on-windows-for-development/75149), [macOS](https://meta.discourse.org/t/install-discourse-on-macos-for-development/15772/) or [Ubuntu](https://meta.discourse.org/t/install-discourse-on-ubuntu-or-debian-for-development/14727/) guide. Clone Discourse API Gem Now that you have set up Discourse development environment, you should already have Git and Ruby installed on your system. You can install Discourse API gem by running following command from console: git clone https://github.com/discourse/discourse\_api.git ~/discourse\_api Alternatively…

---

<div class="post-metadata">

### Author: ![Pravi](https://avatars.discourse-cdn.com/v4/letter/p/76d3ee/32.png) [@Pravi](https://meta.discourse.org/u/Pravi)
#### Post date: [27 Giugno 2021, 12:35pm UTC](https://meta.discourse.org/t/best-practise-for-using-a-raspberry-pi-as-bot-for-posting-updates-in-discourse/195107/5 "2021-06-27T12:35:08Z")

</div>

Non ho mai utilizzato l’API di Discourse prima d’ora, quindi non posso aiutarti con l’API. Tuttavia, spero che i seguenti link ti siano utili per iniziare.

[https://meta.discourse.org/search?q=discourse%20api](https://meta.discourse.org/search?q=discourse%20api)

> [@Discourse REST API Documentation](https://meta.discourse.org/t/discourse-api-documentation/22706):
>
> Discourse API Please view the Discourse API Documentation site for detailed info: [https://docs.discourse.org](https://docs.discourse.org)information_source Authentication API requests must use HTTP header based authentication. Pass your Api-Key and Api-Username as HTTP headers. Authentication via query parameters or request body is not supported (this was removed in April 2020). Please see the example cURL request below. The only API endpoints that continue to support credentials in query parameters are requests to…

[https://meta.discourse.org/t/how-to-run-data-explorer-queries-with-the-discourse-api/120063/2](https://meta.discourse.org/t/how-to-run-data-explorer-queries-with-the-discourse-api/120063/2)

> [@Reverse engineer the Discourse API](https://meta.discourse.org/t/how-to-reverse-engineer-the-discourse-api/20576):
>
> Discourse is backed by a complete JSON api. Anything you can do on the site you can also do using the JSON api. The API is documented at [docs.discourse.org](https://docs.discourse.org). You can also use the [discourse\_api](https://github.com/discourse/discourse_api) Ruby gem as a client library. However, not every endpoint is documented. To determine how to do something with the JSON API here are some steps you can follow. Example: recategorize a topic. Go to a topic and start editing a category: Open Chrome dev tools, switch to the Network tab, select …

---

<div class="post-metadata">

### Author: ![elRicharde](https://avatars.discourse-cdn.com/v4/letter/e/5e9695/32.png) [@elRicharde](https://meta.discourse.org/u/elRicharde)
#### Post date: [27 Giugno 2021, 3:37pm UTC](https://meta.discourse.org/t/best-practise-for-using-a-raspberry-pi-as-bot-for-posting-updates-in-discourse/195107/6 "2021-06-27T15:37:10Z")

</div>

Sono in viaggio:

Cosa ho fatto finora:

- Ho generato una chiave API
- Ho scritto alcune richieste PUT e GET in Postman, che hanno funzionato perfettamente
- Ho esportato la raccolta come file JSON

So che esiste un framework Ruby per l’API, ma preferirei Python, dato che ho già realizzato alcuni script in quel linguaggio.

Qualcuno ha un’idea su come procedere?

Cordiali saluti,  
Richarde

---

<div class="post-metadata">

### Author: ![elRicharde](https://avatars.discourse-cdn.com/v4/letter/e/5e9695/32.png) [@elRicharde](https://meta.discourse.org/u/elRicharde)
#### Post date: [27 Giugno 2021, 5:29pm UTC](https://meta.discourse.org/t/best-practise-for-using-a-raspberry-pi-as-bot-for-posting-updates-in-discourse/195107/7 "2021-06-27T17:29:27Z")

</div>

Ok, ho appena trovato pydiscourse e sembra funzionare abbastanza bene 🙂

Quindi il passaggio di impostare tutto in Postman non era necessario, ma ha aiutato a capire la logica dell’API, quindi non è stato una completa perdita di tempo 🙂

In breve: se vuoi interagire con il tuo Discourse tramite Python, puoi usare [pydiscourse](https://github.com/bennylope/pydiscourse) di

> (Basato sulla lista originale degli autori e potrebbe essere incompleta)
> 
> Marc Sibson  
> James Potter  
> Ben Lopatin  
> Daniel Zohar  
> Matheus Fernandes  
> Scott Nixon  
> Jason Dorweiler  
> Pierre-Alain Dupont  
> Karl Goetz  
> Alex Kerney  
> Gustav [https://github.com/dkgv](https://github.com/dkgv)

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [27 Luglio 2021, 5:30pm UTC](https://meta.discourse.org/t/best-practise-for-using-a-raspberry-pi-as-bot-for-posting-updates-in-discourse/195107/8 "2021-07-27T17:30:26Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
