是否有办法通过 API 编辑帖子而不通知用户?

我想通过 API 为某些帖子添加私有标签,而无需以任何方式通知用户。添加标签已经可以工作了,但它会在帖子中添加铅笔图标并通知用户该主题已被编辑。

看起来有一种方法可以手动隐藏铅笔,但用户仍然会收到主题/帖子已编辑的通知,即使修订被“隐藏”了。

有没有办法在不显示铅笔图标也不通知用户的情况下更新主题(标签、类别等)?(最好通过 API,但手动也可以)

到目前为止,我唯一找到的方法是进入 Rails 控制台来执行此操作:

ssh servername
cd /var/discourse
./launcher enter app
rails c

# 然后是一堆 rails 命令来查找
# 标签 ID、主题 ID 并将标签推送到
# 主题并手动保存主题

如果没有办法做到这一点,我将暂时编写一个 Ruby 脚本,我可以将其粘贴到 Rails 控制台中。

Bug 报告

另外,看起来铅笔图标存在一个错误。当我向主题添加私有标签(只有管理员才能看到的标签)时,它会在第一个帖子中添加铅笔图标,但当测试用户(TL1)单击橙色铅笔时,它会显示此消息:

1 个赞

我认为,如果您使用 system 用户,它不应该通知用户。

2 个赞

谢谢检查。我刚试了一下,似乎没有发送通知,但仍然添加了铅笔图标。

我认为使用“批量操作”中的“附加标签”选项会在不添加铅笔图标的情况下静默地将标签添加到主题中。您应该能够使用 API 来复制这一点(如果您使用 https://meta.discourse.org/t/reverse-engineer-the-discourse-api/20576,您可以看到您需要的端点和参数)。

6 个赞

好的,这似乎在 UI 中奏效了。我明天会用 API 试试。

如果将来还有人需要:

PUT https://forum.example.com/topics/bulk

从浏览器控制台复制的表单数据:

topic_ids%5B%5D=12345%26operation%5Btype%5D=append_tags%26operation%5Btags%5D%5B%5D=tagname

解码后:

topic_ids[]=12345&operation[type]=append_tags&operation[tags][]=tagname

更新: API 也奏效了。

3 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.