Webhook evento Topic non funzionante - falsi messaggi topic_created

Voglio intraprendere un’azione quando c’è un nuovo argomento. Quindi ho abilitato un webhook per gli eventi degli argomenti. Controllo le intestazioni per vedere se si tratta di un evento topic_created e, in tal caso, intraprendo un’azione.

Questo ha funzionato per molti mesi, ma ora fallisce a volte, forse dopo l’aggiornamento la scorsa settimana. Ora a volte ottengo topic_created nelle intestazioni, tuttavia l’argomento è in realtà vecchio e qualcuno ha semplicemente risposto all’argomento.

Il mio codice:

    event_type = request.headers['X-Discourse-Event-Type']
    event = request.headers['X-Discourse-Event']
    if event_type == 'topic' and event == 'topic_created':
         take_action()

Esempio di payload da una richiesta che aveva event == ‘topic_created’ nelle intestazioni. Nota che il presunto “nuovo” argomento è stato in realtà creato nel 2017 e ha 306 risposte.

payload
{
	'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'
}
2 Mi Piace

Ci sono alcune prove che i messaggi falsi topic_created vengano attivati quando qualcuno risponde via email.

Ho aggiunto una correzione qui

1 Mi Piace

Questo argomento è stato chiuso automaticamente dopo 18 ore. Non sono più consentite nuove risposte.