Как программно включить это поле «Solved» для каждой категории

Насколько мне известно, если вы создаёте категории с помощью скрипта, вы, вероятно, используете JSON для их добавления. Вам потребуется внести некоторые изменения в конечную точку (endpoint) и сам скрипт. Также вы можете обратиться к этой документации: Discourse Categories API.

Однако Discourse — мощный инструмент. Вы можете ознакомиться с этим руководством: Reverse Engineering the Discourse API. Поскольку Discourse работает на основе полноценного JSON API, вы можете провести его реверс-инжиниринг, внести необходимые изменения и настроить его так, как нужно.

Небольшая подсказка:

  • Вручную измените нужную настройку «Solved» в интерфейсе.
  • Изучите сетевые запросы, отправляемые браузером, чтобы определить точную конечную точку API, метод запроса (например, PUT) и полезную нагрузку (payload).

В скрипте на Python это выглядело бы примерно так:

payload = {
        "enable_solved": True  # Отрегулируйте это
    }

    response = requests.put(url, headers=headers, json=payload)
    if response.status_code == 200:
        print("Category updated")
    else:
        print(f"Failed: {response.status_code} - {response.text}")

update_category_settings(category_id=123)

PS: Я не совсем уверен в этом, но недавно я написал несколько скриптов, поэтому данный ответ основан на том, с чем я столкнулся на данный момент. :slightly_smiling_face: