本指南说明如何通过控制台删除 Discourse 中的官方警告,尤其针对自托管用户。
所需用户级别:系统管理员
需要控制台访问权限
在某些情况下,需要撤销对用户的警告。此操作涉及通过控制台(有服务器访问权限的用户可访问)删除警告。如果您是托管客户,请联系 Discourse 团队 (team@discourse.org) 寻求此过程的帮助。
了解用户警告
官方警告在 Discourse 数据库中涉及两个数据项:
user_warnings表中一条将警告链接到用户和主题的记录。- 相关的私信主题的
subtype设置为\"moderator_warning\"。要完全撤销警告,需要解决这两点:必须删除
user_warnings记录,并且必须重置主题的subtype。删除官方警告
要删除警告,请执行以下步骤:
访问服务器控制台:
- 使用 SSH 连接到您的 Discourse 服务器。
- 使用以下命令进入控制台:
cd /var/discourse/ ./launcher enter app rails console删除最新警告:
如果您要删除的警告是最近的一个,请执行:warning = UserWarning.last warning.topic.update(subtype: TopicSubtype.user_to_user) warning.destroy查找并删除特定警告:
如果警告不是最新的,请使用user_id搜索特定警告:UserWarning.where(user_id: the_user_id)这将返回一个与该用户相关的警告数组。找到正确的
id后,使用以下命令删除它:warning = UserWarning.find(3) warning.topic.update(subtype: TopicSubtype.user_to_user) warning.destroy
删除警告记录并重置主题 subtype 将会从用户的警告计数中移除该警告,并将私信标记为非官方警告。私信本身不会被删除。