Ich tue es tatsächlich, ja.
category_notifications = {'muted_category_ids': [54],
'regular_category_ids': [],
'tracked_category_ids': [],
'watched_category_ids': [],
'watched_first_post_category_ids': [61],
}
api(config, f\"u/{username}.json\", method='put',
json=category_notifications)
… wobei api() eine dünne Abstraktionsschicht um das Python-Modul Requests ist und nur ein HTTP-PUT an /u/whateverusernameyouarechanging.json auf Ihrer Discourse-Site durchführt, und die Nutzlast sind einfach die Kategorien, die Sie ändern möchten. (Sie können alle überspringen, die Sie nicht ändern möchten.)
Beachten Sie, dass Sie die numerischen Kategorie-IDs benötigen – Namen funktionieren nicht. Und natürlich müssen Sie den Benutzer zuerst lesen, wenn Sie die bereits vorhandenen Daten zusammenführen oder beibehalten möchten.