Ciao a tutti! Amiamo Discourse, è la spina dorsale della nostra comunità.
Siamo un progetto open source con una forte presenza su GitHub. Abbiamo un robot scritto in Python che gestisce i nostri repository GitHub e svolge compiti come l’unione automatica delle pull request se sono state approvate. Dato che abbiamo molti repository e non tutti seguono ogni singolo repository, sarebbe fantastico se il robot potesse pubblicare nei forum quando viene creato un nuovo progetto o quando è necessario revisionare una pull request.
Qualcuno può indicarmi la strada migliore per chiamare l’API di Discourse da Python?
I’m suddenly seeing this error too over the weekend when attempting to fetch a topic. This topic fetch code hasn’t changed in over a year, so something about the API must have changed. I’m investigating.
I don’t know about the project mentioned above, but here is the status for bennylope’s project. Maybe the same fix is needed on other wrappers as well.
Thanks! This worked. I uninstalled pydiscourse, and used a local copy based on what you suggested. And now, it works!
I am trying to use Python’s Sentiment analyzer to get a sentiment analysis of the latest posts. I will keep you updated on how it goes.
Sì, so che questo è un vecchio post, ma dato che è essenzialmente ciò che cerco, non ha senso crearne uno nuovo quando questo funziona, ma ha solo bisogno di essere aggiornato.
Sebbene sappia programmare in molti linguaggi di programmazione, mi dispiace dire che Ruby non è uno di questi. Mi chiedevo se ci fossero risposte più recenti o migliori a questa domanda.
Interagire con Discourse da Python?
Come domanda secondaria, è possibile creare plugin e/o temi di Discourse utilizzando Python?
Lo uso in produzione per uno scopo molto specifico poiché non esiste un modulo equivalente mantenuto nell’ecosistema RoR, quindi mi evita di dover tradurre e poi mantenere tutto quel codice specialistico in Ruby.
Funziona sorprendentemente bene.
Detto questo, la base di quel plugin è ancora scritta in Ruby.
Ti consiglio semplicemente di imparare anche Ruby on Rails, è davvero un linguaggio molto piacevole e secondo me il codice è più bello da leggere di Python
Dovrei anche prendermi il tempo per imparare più Python se/quando necessario.
Nota a margine interessante: parte del codice in Discourse Chatbot 🤖 che crea il comportamento dell’agente si basava su un agente Python chiamato “Funkagent” che ho prima tradotto in Ruby on Rails (e poi modificato, migliorato.). Quindi la traduzione può essere un’opzione ovviamente se ha senso farlo. In quel caso aveva senso.
Ho scritto diversi script di importazione prima di aver veramente “imparato” ruby. A seconda di ciò che vuoi fare, potresti essere in grado di fare di più con le tue attuali competenze di quanto pensi. È probabile che sia più facile usare ruby che capire come usare qualcos’altro.
Se stai interagendo con l’API, allora puoi usare qualsiasi linguaggio tu voglia.
Ruby è progettato in modo splendido e facile da imparare, secondo me.
Ruby on Rails richiede un po’ più di apprendimento e, come framework basato sulle convenzioni, a volte può essere complicato ma molto potente una volta che ci si prende la mano.
Scegli qualcosa che vuoi fare che sembri semplice. Se vuoi qualcosa come cakeday che cambia la definizione di un anniversario, allora cakeday potrebbe essere un buon punto di partenza. Selezioneresti una piccola cosa che vuoi cambiare e faresti le cose un piccolo passo alla volta.
Ciao a tutti, sono anch’io interessato a ottenere dati da Discourse (principalmente statistiche su visualizzazioni e numero di utenti) da Python. Molti dei pacchetti elencati qui non sembrano più attivi. Esiste un nuovo modo standard per farlo nel 2026?
Non è sempre necessario utilizzare l’interfaccia di qualcun altro.
Non è troppo difficile farlo tramite la libreria requests integrata, e se si utilizza qualcosa (ad esempio Postman, che ho già configurato) è possibile importare la nostra specifica API e poi fargli generare il codice: