danb35
(Dan)
1
約8か月前、Yahoo グループからダウンロードした .mbox ファイルを Discourse へインポートすることで、新しい Discourse インストールへ移行しました。インポートは順調に進み、特に活発なコミュニティではありませんが、ユーザーは新しい形式を気に入っているようです。しかし、旧グループはほぼ20年にわたって存在していたため、それ自体がいくつかの問題を引き起こしています。
グループの存続期間中に所属していた多くのメンバーのメールアドレスが無効になっています(場合によっては、故人も含まれます)。そのため、定期的に「承認を待っているユーザーが約385人います」というシステムメッセージが表示されているのかもしれません。
しかし、「それらを確認してください」というリンクをクリックすると、次のような表示になります。
これは大きな問題ではありませんが、やや煩わしいです。これを解決する方法はありますか?
@tshenry コマンドラインでこれらを削除する方法はありますか?
tshenry
(Taylor)
3
ここでいくつかのオプションがあります。最も簡単な方法は、以下のサイト設定を -1 に設定することです。
唯一の欠点は、指定された時間以上待機している承認待ちのユーザーがいる場合、リマインダーが送信されなくなることです。通常、新しいユーザーの承認を行える人が常時いるのであれば、問題ないはずです。
もう一つの選択肢は、コマンドラインからユーザーを削除するか承認することです。どちらのアプローチを希望するかお知らせください。どちらの場合でも、必要なコマンドを作成してご案内できます。
danb35
(Dan)
4
一括承認の方が良いかもしれません。サイトがさほど活発ではないため、新しいユーザーの承認のために毎日ログインしているわけではないのです。お手伝いいただきありがとうございます。
tshenry
(Taylor)
8
はい、わかりました。ご自身のケースに対応するための手順は以下の通りです:
-
現在のレビューキューに表示されている保留中のユーザーを承認または却下します
-
サイトのバックアップを取得します
-
サイトの Rails コンソールに入ります
cd /var/discourse
./launcher enter app
rails c
-
承認待ち状態にあるユーザーを取得します
pending_users = AdminUserIndexQuery.new(query: 'pending', stats: false).find_users_query
-
以下のコマンドを実行して承認します
pending_users.each do |u|
u.approved = true
u.approved_by = Discourse.system_user
u.approved_at = Time.zone.now
u.save!
end
これで完了です!
danb35
(Dan)
9
確かにそうなったようです。ありがとうございます。もしダメなら、すぐに分かるでしょう。
danb35
(Dan)
10
さて、3週間が経ちました(すみません)。そのメッセージは再び表示されませんでした。はい、その修正で解決しました。
Canapin
(Coin-coin le Canapin)
11
こんにちは!
ユーザーを一括で却下するコマンドは何ですか?
vBulletinからインポートしたところ、約100人の保留中のユーザーがおり、すべてスパムアカウントです。