Olá a todos! Adoramos o Discourse, ele é a espinha dorsal da nossa comunidade.
Somos um projeto de código aberto com forte presença no GitHub. Temos um robô escrito em Python que gerencia nossos repositórios do GitHub e realiza tarefas como mesclar pull requests automaticamente quando eles foram aprovados. Como temos muitos repositórios e nem todos acompanham cada um deles, seria incrível se o robô pudesse postar nos fóruns quando um novo projeto é criado ou quando um pull request precisa ser revisado.
Alguém pode me indicar como posso melhor chamar a API do Discourse a partir do 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.
Olá a todos, também estou interessado em obter dados do Discourse (principalmente estatísticas sobre visualizações e número de usuários) usando Python. Muitos dos pacotes listados aqui não parecem mais estar ativos. Existe uma nova maneira padrão de fazer isso em 2026?
Você nem sempre precisa usar a interface de outra pessoa.
Não é muito complicado fazer isso através da biblioteca requests integrada, e se você usar algo (por exemplo, Postman, que eu já configurei), você pode importar nossa especificação de API para ele e então pedir para gerar código: