مرحبًا، لقد قمت بإنشاء أداة بلغة بايثون عن طريق توسيع عميل pydiscourse لإرسال رسائل خاصة.
def send_private_message(self, content_html, title, target_usernames):
""" إرسال رسالة خاصة باسم مستخدم API الذي تم إنشاء هذه النسخة معه """
if type(target_usernames) is list:
target_usernames = ",".join(target_usernames)
return self.create_post(content_html, title=title, target_usernames=target_usernames,
archetype="private_message")
أستخدم هذه الأداة من خلال سكريبت يحتوي على قائمة مستلمين خارجية لإرسال رسائل جماعية. ومع ذلك، لا يتم تحديث قائمة المستلمين دائمًا، وقد ينقص بعض المستخدمين.
لذا، حاولت إرسال رسالة إلى حوالي 100 مستخدم وحصلت على خطأ 422 مع الرسالة:
One of the users you are sending this message to could not be found discourse
هذه الرسالة غير مفيدة عند محاولة معرفة اسم المستخدم “المشكلة”. هل توجد طريقة للحصول على رسالة خطأ أكثر تفصيلاً، أو هل توجد طريقة لمعرفة هوية هذا المستخدم قبل إجراء هذه الدعوة؟ بالطبع يمكنني الاستعلام عن كل مستخدم على حدة قبل الإرسال، لكن هذا يسبب خسارة كبيرة في الأداء خاصة مع القوائم الطويلة.
شكرًا لك