自分のプロフィールページにある「メッセージ」と「チャット」ボタン

@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. 「他のユーザーが私にプライベートメッセージやチャットのダイレクトメッセージを送信することを許可する」のチェックボックスをオフにします。

お役に立てば幸いです!