معرفة عدد المراقبين

I think I bought this up way back when I first started testing the platform.
Will there ever be a way to know how many people are subscribing (watching) a particular topic?

I am being asked for this information more often these days.

إعجابَين (2)

This seems unlikely to ever be added as visible to non-administrators.

The freedom of individual users to choose how they want to consume the forum is important, and giving special consideration to Watching a topic by making the number visible to everyone is likely to create bad behavior patterns. (Number Go Up Syndrome is very powerful.)

You should be able to take a Data Explorer query that gets this data and mark it as runnable by moderators or employees, if that’s who the requests are coming from.

3 إعجابات

We would never want this for non-admins. I will try this with the DE.

إعجابَين (2)

Was this ability ever added to Discourse reporting?

هل كان هناك أي تحديثات لهذا؟

مرحباً توم،

لم تتم إضافة هذا كتقرير افتراضي لـ DE. ومع ذلك، وجدت موضوعًا يوفر استعلام DE أساسيًا لسحب هذه المعلومات، ربما يكون ذلك مفيدًا:

إعجابَين (2)

مرحباً مارك،

شكراً لك. إذن، من هذا يبدو أنني لا أستطيع أداء هذه الوظيفة على مستوى الموضوع. هل هذا صحيح؟

توم،

لا، يمكنك الحصول على هذه المعلومات على مستوى الموضوع عن طريق استبدال “topic” بـ “category” كالتالي:

SELECT
  COUNT(topic_id)
FROM
  topic_users
WHERE
  notification_level = 3

مرة أخرى، هذا استعلام أساسي جدًا يعيد العدد الإجمالي للمراقبين من… في هذه الحالة… جميع المواضيع. إذا كنت ترغب في تحديد موضوع معين، يمكنك الإضافة إلى جملة WHERE، على سبيل المثال:

WHERE
  notification_level = 3
  AND topic_id = 29
8 إعجابات

هذا رائع!

شكرا لك!

إعجاب واحد (1)

هذا مفيد جدًا، شكرًا @MarkDoerr. قمت بتعديل الاستعلام للإبلاغ عن مستويات الإشعارات الأربعة كلها في مرة واحدة، ولاستقبال مصفوفة من topic_ids إذا لزم الأمر.
جدول الإخراج الشبكي الكامل ليس جميلًا ولكنه يحتوي على كل المعلومات التي أحتاجها.

تعديل: فور نشر التعليق، أظهر لي Discourse بلطف ستة روابط لطرق أخرى لحل هذه المشكلة! استمر في الاستعلام!

SELECT 
  topic_id,
  notification_level,
  COUNT(CASE WHEN notification_level = 0 THEN topic_id END) AS Muted_0,
  COUNT(CASE WHEN notification_level = 1 THEN topic_id END) AS Normal_1,
  COUNT(CASE WHEN notification_level = 2 THEN topic_id END) AS Tracking_2,
  COUNT(CASE WHEN notification_level = 3 THEN topic_id END) AS Watching_3
FROM 
  topic_users 
WHERE 
  topic_id IN (9831, 9572, 9424, 7567) -- أضف معرفات المواضيع الخاصة بك هنا
GROUP BY
  topic_id, notification_level
إعجاب واحد (1)