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.
نعم، أعلم أن هذا منشور قديم ولكن نظرًا لأنه يلبي ما أبحث عنه بشكل أساسي، فلا داعي لإنشاء منشور جديد عندما يعمل هذا المنشور ولكنه يحتاج فقط إلى تحديث.\n\nبينما أعرف كيفية البرمجة بلغات برمجة عديدة، يؤسفني القول إن Ruby ليست واحدة منها. كنت أتساءل عما إذا كانت هناك إجابات أحدث أو أفضل لهذا السؤال.\n\n> التفاعل مع Discourse من Python؟\n\n—\n\nكسؤال جانبي، هل يمكن إنشاء إضافات و/أو سمات Discourse باستخدام Python؟
أستخدمه في بيئة الإنتاج لغرض محدد جدًا حيث لا توجد وحدة مكافئة تتم صيانتها في نظام Ruby on Rails البيئي، لذا فإنه يجنبني الاضطرار إلى ترجمة ثم صيانة كل هذا الكود المتخصص بلغة Ruby.
إنه يعمل بشكل جيد بشكل مدهش.
ومع ذلك، فإن أساس تلك الإضافة لا يزال مكتوبًا بلغة Ruby.
أوصي ببساطة بتعلم Ruby on Rails أيضًا - إنها لغة ممتعة جدًا وفي رأيي الكود أجمل للقراءة من Python
يجب أن أخصص أيضًا وقتًا لتعلم المزيد من Python إذا/عندما تدعو الحاجة.
ملاحظة جانبية مثيرة للاهتمام: بعض الكود في Discourse Chatbot 🤖 الذي ينشئ سلوك الوكيل كان يعتمد على وكيل Python يسمى “Funkagent” والذي قمت بترجمته أولاً إلى Ruby on Rails (ثم قمت بتعديله وتحسينه.). لذا يمكن أن تكون الترجمة خيارًا بالطبع إذا كان ذلك منطقيًا. في تلك الحالة، كان الأمر منطقيًا.
لقد كتبت العديد من نصوص الاستيراد قبل أن “أتعلم” لغة روبي حقًا. اعتمادًا على ما تريد القيام به، قد تتمكن من فعل المزيد بمجموعة مهاراتك الحالية مما تعتقد. من المحتمل أن يكون استخدام لغة روبي أسهل من معرفة كيفية استخدام شيء آخر.
إذا كنت تتفاعل مع واجهة برمجة التطبيقات (API)، فيمكنك استخدام أي لغة تريدها.
اختر شيئًا تريد القيام به يبدو بسيطًا. إذا كنت تريد شيئًا مثل “cakeday” الذي يغير تعريف الذكرى السنوية، فيمكن أن يكون “cakeday” مكانًا جيدًا للبدء. ستقوم بتحديد شيء صغير تريد تغييره والقيام بالأشياء خطوة صغيرة واحدة في كل مرة.