하지만 카테고리 '설명(description)'을 설정하는 방법은 매우 혼란스럽습니다. 카테고리 설명은 실제로 표시되는 내용과 전혀 다르기 때문입니다. 사실 카테고리 이름 아래에는 비어 있는 HTML 요소인 'cooked’가 있습니다. 그렇다면 이 값을 어떻게 설정해야 하는지 궁금합니다.
제가 파악한 바로는, 'About the --카테고리 이름-- …'라는 제목의 게시물을 작성해야 하고, 해당 카테고리에서 첫 번째 게시물이 되어야 한다고 생각합니다. 그러나 ‘cooked’ 값이나, 그곳에 먼저 게시물을 작성하는 봇(Bot)의 존재와 같은 다른 기준들도 있을 것 같습니다.
제 게시물이 위에 나타나도록 created_at/updated_at 날짜를 조정하여 카테고리가 해당 설명을 가져오거나 사용하게 시도해 보았지만, 성공하지 못했습니다! 'cooked’와/또는 카테고리 설명에 대해 제가 이해하지 못하는 부분이 있는 것 같습니다. 매우 혼란스럽고 관련 문서를 찾지 못했지만 계속 찾아볼 것입니다. 시도해 볼 아이디어가 있으시면 알려주세요.
다른 곳에서 문서화되어 있지 않다면, discourse 저장소의 스펙 파일 내에서 검색하면 프로그래밍 언어 작동 방식에 대한 기본적인 이해를 바탕으로 이러한 질문에 답할 수 있습니다.
이 경우, 카테고리 스펙의 다음 줄들은 description_text가 description에서 파생되며 description을 설정한 직후 바로 사용 가능하다는 것을 보여줍니다.
이는 description이 설명의 원시 문자열(raw string)이며, 설정 시 조리(cooked)되어 description_text에 할당된다는 것을 의미합니다. 또는 description_text가 접근될 때 계산될 수도 있지만, 저는 그렇게 생각하지 않습니다. 어쨌든 설정해야 할 것은 description입니다.
## 카테고리 생성
ret_cat = client.create_category(name, color = color, **kwargs)
## 첫 번째 게시글 ID 가져오기
cat_id = ret_cat["category"]["id"]
print("Cat id", cat_id)
topics = client.category_topics(cat_id)
first_post_id = client.topic_posts(topics["topic_list"]['topics'][0]["id"])['post_stream']['posts'][0]['id']
## 첫 번째 게시글 수정
ret_post = client.update_post(first_post_id, cat["about_msg"],"set up")