迁移后出现“用户等待审批”消息

大约 8 个月前,我从 Yahoo 下载了 .mbox 文件并将其导入到新的 Discourse 安装中,从而迁移了一个 Yahoo 群组。导入过程很顺利,尽管这个社区并不特别活跃,但用户似乎很喜欢新格式。不过,该旧群组已存在近 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
    

这样应该就解决了!

确实看起来起作用了,谢谢。如果不行,我很快就能知道。

现在已经是三周后了(抱歉),我没有再看到那条消息。是的,那个修复确实奏效了。

你好!
批量拒绝用户的命令是什么?
我导入了一个 vBulletin 论坛,目前有大约 100 个待审核用户,都是垃圾账号。:slight_smile: