أرغب في اتخاذ إجراء عند وجود موضوع جديد. لذلك، لديّ خطاف ويب ممكّن لأحداث الموضوع. أتحقق من الرؤوس لمعرفة ما إذا كان حدث topic_created، وإذا كان الأمر كذلك، أتخذ إجراءً.
لقد نجح هذا لعدة أشهر ولكنه يفشل الآن أحيانًا، ربما بعد الترقية الأسبوع الماضي. الآن في بعض الأحيان أحصل على topic_created في الرؤوس، ومع ذلك فإن الموضوع قديم بالفعل وشخص ما رد ببساطة على الموضوع.
التعليمات البرمجية الخاصة بي:
event_type = request.headers['X-Discourse-Event-Type']
event = request.headers['X-Discourse-Event']
if event_type == 'topic' and event == 'topic_created':
take_action()
مثال على حمولة من طلب كان event == ‘topic_created’ في الرؤوس. لاحظ أن الموضوع “الجديد” المزعوم تم إنشاؤه بالفعل في عام 2017 ولديه 306 ردود.
حمولة
{
'bookmarked': False,
'word_count': 272108,
'visible': True,
'like_count': 567,
'highest_post_number': 758,
'has_deleted': True,
'tags_descriptions': {},
'deleted_at': None,
'archetype': 'regular',
'id': 1357,
'pinned_until': None,
'archived': False,
'user_id': 4,
'title': 'Tax Time! Discussions of Taxes and Accountants',
'last_posted_at': '2022-01-05T01:41:26.000Z',
'tags': [],
'created_by': {
'username': 'redacted',
'avatar_template': '/user_avatar/forum.redacted.com/redacted/{size}/45_2.png',
'id': 4,
'name': 'redacted'
},
'pinned': False,
'queued_posts_count': 0,
'closed': False,
'unpinned': None,
'participant_count': 162,
'views': 19557,
'pinned_at': None,
'last_poster': {
'username': 'redacted',
'avatar_template': '/letter_avatar_proxy/v4/letter/j/45deac/{size}.png',
'id': 142,
'name': 'JohnJacobs'
},
'pending_posts': [],
'posts_count': 744,
'slug': 'tax-time-discussions-of-taxes-and-accountants',
'thumbnails': None,
'created_at': '2017-01-21T00:25:01.000Z',
'deleted_by': None,
'featured_link': None,
'reply_count': 306,
'pinned_globally': False,
'category_id': 16,
'fancy_title': 'Tax Time! Discussions of Taxes and Accountants'
}