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.
Sim, sei que esta é uma postagem antiga, mas como essencialmente é o que procuro, não faz sentido criar uma nova postagem quando esta funciona, mas precisa ser atualizada.
Embora eu saiba programar em muitas linguagens de programação, sinto dizer que Ruby não é uma delas. Estava me perguntando se existem respostas mais novas ou melhores para esta pergunta.
Interagir com o Discourse a partir do Python?
Como uma pergunta secundária, os plugins e/ou temas do Discourse podem ser criados usando Python?
Eu o uso em Produção para um propósito muito específico, pois não há módulo equivalente mantido no ecossistema RoR, então isso me evita ter que traduzir e depois manter todo esse código especializado em Ruby.
Funciona surpreendentemente bem.
Dito isso, a base desse Plugin ainda é escrita em Ruby.
Eu recomendaria que você simplesmente aprendesse Ruby on Rails também - é realmente uma linguagem muito agradável e, na minha opinião, o código é mais agradável de ler do que Python
Eu também deveria reservar um tempo para aprender mais Python se/quando for necessário.
Nota secundária interessante: parte do código em Discourse Chatbot 🤖 que cria o comportamento do agente foi baseado em um agente Python chamado “Funkagent”, que eu primeiro traduzi para Ruby on Rails (e depois modifiquei, aprimorei.). Portanto, a tradução pode ser uma opção, é claro, se fizer sentido. Nesse caso, fez sentido.
Escrevi vários scripts de importação antes de realmente “aprender” Ruby. Dependendo do que você quer fazer, você pode ser capaz de fazer mais com suas habilidades atuais do que pensa. Provavelmente é mais fácil usar Ruby do que descobrir como usar outra coisa.
No entanto, se você estiver interagindo com a API, pode usar qualquer linguagem que quiser.
Ruby é lindamente projetada e muito fácil de aprender, na minha humilde opinião.
Ruby on Rails exige um pouco mais de aprendizado e, como um framework baseado em convenções, pode ser complicado às vezes, mas muito poderoso quando você pega o jeito.
Escolha algo que você queira fazer e que pareça simples. Se você quiser algo como o cakeday, que muda a definição de um aniversário, então o cakeday pode ser um bom lugar para começar. Você selecionaria uma pequena coisa que deseja mudar e faria as coisas um passo minúsculo de cada vez.