Hi everyone! Love discourse, it’s the backbone of our community.
We are an open source project with a strong presence on Github. We have a robot written in Python which manages our Github repositories and does things like merge pull requests automatically if they have been approved. Since we have a lot of repositories and not everyone follows every repository it would be awesome if the robot could post in the forums when a new project is created or when a pull request needs to be reviewed.
Can anyone point me in the direction of how I could best call the Discourse API from 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í, sé que esta es una publicación antigua, pero dado que es esencialmente lo que busco, no tiene sentido crear una nueva publicación cuando esta funciona, pero solo necesita actualizarse.
Si bien sé programar en muchos lenguajes de programación, lamento decir que Ruby no es uno de ellos. Me preguntaba si hay respuestas más nuevas o mejores a esta pregunta.
¿Interactuar con Discourse desde Python?
Como pregunta secundaria, ¿se pueden crear complementos y/o temas de Discourse usando Python?
Lo uso en producción para un propósito muy específico, ya que no existe un módulo equivalente mantenido en el ecosistema RoR, por lo que me evita tener que traducir y luego mantener todo ese código especializado en Ruby.
Funciona sorprendentemente bien.
Dicho esto, la base de ese complemento todavía está escrita en Ruby.
Te recomendaría que simplemente aprendieras Ruby on Rails también; realmente es un lenguaje muy agradable y, en mi opinión, el código es más agradable de leer que Python
También debería tomarme el tiempo para aprender más Python si/cuando sea necesario.
Nota secundaria interesante: parte del código en Discourse Chatbot 🤖 que crea el comportamiento del agente se basó en un agente de Python llamado “Funkagent”, que primero traduje a Ruby on Rails (y luego modifiqué, mejoré). Por lo tanto, la traducción puede ser una opción, por supuesto, si tiene sentido hacerlo. En ese caso, tuvo sentido.
Escribí varios scripts de importación antes de “aprender” realmente ruby. Dependiendo de lo que quieras hacer, podrías hacer más con tus habilidades actuales de lo que crees. Probablemente sea más fácil usar ruby que averiguar cómo usar otra cosa.
Sin embargo, si estás interactuando con la API, puedes usar el lenguaje que quieras.
Ruby está bellamente diseñada y es pan comido de aprender, en mi humilde opinión.
Ruby on Rails requiere un poco más de aprendizaje y, como framework que se basa en convenciones, puede ser complicado a veces, pero muy potente una vez que le coges el truco.
Elige algo que quieras hacer que parezca simple. Si quieres algo como cakeday que cambia la definición de un aniversario, entonces cakeday podría ser un buen lugar para empezar. Seleccionarías una cosa pequeña que quieras cambiar y harías las cosas un paso a la vez.