내 프로필 페이지의 「메시지」와 「채팅」 버튼

@donaldsoncd JS 탭에 이 부분을 추가해 보세요. 사용자 페이지에서만 버튼이 숨겨집니다. 사용자 카드에는 버튼이 계속 표시됩니다.

import { apiInitializer } from "discourse/lib/api";

export default apiInitializer((api) => {
  api.onPageChange((url, title) => {
      if (url.startsWith("/u/natedhaliwal")) {
          const pmBtn = document.querySelector("button.compose-pm");
          pmBtn.style.display = "none";
          const chatBtn = document.querySelector("li.user-card-below-message-button.chat-button");
          if (chatBtn.parentNode.className != "usercard-controls") {
              chatBtn.style.display = "none";
          }
      }
  });
});

조금 해킹적인 방식이지만 원하는 결과를 얻을 수 있습니다.

/u/natedhaliwal 부분을 /u/<username>으로 교체할 수 있습니다.


누구도 당신에게 개인 메시지나 채팅을 보낼 수 있는 기능을 완전히 제거하려면 다음을 수행해야 합니다.

  1. discourse.example.com/my/preferences/users로 이동합니다.
  2. 다른 사용자가 나에게 개인 메시지 및 채팅 다이렉트 메시지를 보낼 수 있도록 허용 체크박스를 해제합니다.

도움이 되길 바랍니다!