マイグレーション後の「承認待ちユーザー」メッセージ

約8か月前、Yahoo グループからダウンロードした .mbox ファイルを Discourse へインポートすることで、新しい Discourse インストールへ移行しました。インポートは順調に進み、特に活発なコミュニティではありませんが、ユーザーは新しい形式を気に入っているようです。しかし、旧グループはほぼ20年にわたって存在していたため、それ自体がいくつかの問題を引き起こしています。

グループの存続期間中に所属していた多くのメンバーのメールアドレスが無効になっています(場合によっては、故人も含まれます)。そのため、定期的に「承認を待っているユーザーが約385人います」というシステムメッセージが表示されているのかもしれません。


しかし、「それらを確認してください」というリンクをクリックすると、次のような表示になります。

これは大きな問題ではありませんが、やや煩わしいです。これを解決する方法はありますか?

@tshenry コマンドラインでこれらを削除する方法はありますか?

ここでいくつかのオプションがあります。最も簡単な方法は、以下のサイト設定を -1 に設定することです。

唯一の欠点は、指定された時間以上待機している承認待ちのユーザーがいる場合、リマインダーが送信されなくなることです。通常、新しいユーザーの承認を行える人が常時いるのであれば、問題ないはずです。

もう一つの選択肢は、コマンドラインからユーザーを削除するか承認することです。どちらのアプローチを希望するかお知らせください。どちらの場合でも、必要なコマンドを作成してご案内できます。

一括承認の方が良いかもしれません。サイトがさほど活発ではないため、新しいユーザーの承認のために毎日ログインしているわけではないのです。お手伝いいただきありがとうございます。

はい、わかりました。ご自身のケースに対応するための手順は以下の通りです:

  1. 現在のレビューキューに表示されている保留中のユーザーを承認または却下します

  2. サイトのバックアップを取得します

  3. サイトの Rails コンソールに入ります

    cd /var/discourse
    ./launcher enter app
    rails c
    
  4. 承認待ち状態にあるユーザーを取得します

    pending_users = AdminUserIndexQuery.new(query: 'pending', stats: false).find_users_query
    
  5. 以下のコマンドを実行して承認します

    pending_users.each do |u|
      u.approved = true
      u.approved_by = Discourse.system_user
      u.approved_at = Time.zone.now
      u.save!
    end
    

これで完了です!

確かにそうなったようです。ありがとうございます。もしダメなら、すぐに分かるでしょう。

さて、3週間が経ちました(すみません)。そのメッセージは再び表示されませんでした。はい、その修正で解決しました。

こんにちは!
ユーザーを一括で却下するコマンドは何ですか?
vBulletinからインポートしたところ、約100人の保留中のユーザーがおり、すべてスパムアカウントです。:slight_smile: