ToddZ
2024 年10 月 2 日 07:56
1
我敢肯定 这在我早期的测试中是有效的,因为这是我工作流程的关键:我可以给现有帖子打标签,而对该标签设置了 watching_first_post 的用户会收到通知。
我现在发现它不再以这种方式工作了(…是吗?)。
或者,当该主题下已经有回复帖子时,它会被忽略?
我想象我可以将主题移动到一个每个人都“关注第一帖”的类别 中,但是……
通知只在主题创建 时触发吗?
我不确定回复帖子的存在是否会导致“第一帖”触发被忽略。
我真的很想将相关主题保留在一个类别中,并通过标签“升级”一些。
我愿意每次都运行一个脚本来触发通知,但是 Askbot 无法帮助我创建一个有效的脚本。
欢迎任何输入或变通方法……!
sam
(Sam Saffron)
2024 年10 月 2 日 08:26
2
但是这会如何运作?如果有一个带有该标签的 10,000 个旧主题,您会立即收到通知吗?
仅关注首帖仅在主题的绝对首帖上通知。
1 个赞
ToddZ
2024 年10 月 2 日 12:02
3
这相当明确,所以我一定是记错了,并且创建了带有跟踪标签的测试主题。
哦,不——我并不是建议通过标签将用户设置为“仅在第一篇帖子中观看”应该有任何追溯性的作用。
但工作人员后来为已发布的帖子添加标签肯定很常见。我一直以为,当“仅在第一篇帖子中观看”标签应用于现有主题时,它会为已经 WFP 该标签的用户生成该主题的通知。
我仍在与 Askbot 合作,为这些场合制定一个临时脚本……
ToddZ
2024 年10 月 2 日 15:40
4
经过大约 60 次迭代,Askbot 和我有一个 几乎 可以工作的 Rails 脚本。
下面的脚本——针对主题 239 和标签 ‘tagtest’——会生成预期的“新主题”通知,其中包含正确的主题标题,并生成相关的电子邮件。
有些元素似乎不起作用(message: 和 display_username: 不出现在任何输出中),但它几乎可以工作了。
最关键的问题是电子邮件的标题中没有实际的主题标题。它显示为“ %{topic_title} ”。topic_title 显然不是 Notification 方法的有效字段,所以我不知道需要最少的代码才能将其包含在电子邮件中。(Askbot 尝试添加越来越复杂的电子邮件方法,但错误也越来越多。)
如果有人能在这方面提供帮助,在我学会如何正确清理它之前,这将使我能够继续下去……!
topic_id = 239
Tag.where(name: 'tagtest').each do |tag|
TagUser.where(tag_id: tag.id, notification_level: TagUser.notification_levels[:watching_first_post]).each do |tag_user|
user = User.find(tag_user.user_id)
puts "Username: #{user.username}, ID: #{user.id}"
# Fetch the topic title
topic = Topic.find(topic_id)
topic_title = topic.title
# Create a notification for the topic
Notification.create!(
user_id: user.id,
notification_type: Notification.types[:watching_first_post],
topic_id: topic_id,
post_number: 1, # Assuming you want to notify about the first post of the topic
data: {
message: 'You have a new notification for a topic you are watching.',
display_username: 'system'
}.to_json
)
end
end
sam
(Sam Saffron)
2024 年10 月 2 日 22:06
5
在标记时也存在风险,例如批量标记 500 个主题,然后会有 500 条通知,你的通知就没了。
或者更糟的是,管理员在 10 秒内添加 100 个标签。
这是一个棘手的问题,我们需要非常小心地汇总通知来修改此功能。
Moin
2024 年10 月 2 日 22:13
6
将主题批量移动到另一个类别时,不也是同样的情况吗?将主题移动到另一个类别会触发“关注首帖”通知。
sam
(Sam Saffron)
2024 年10 月 2 日 22:34
7
是的,我认为总体而言,重新分类比重新标记要少见得多,因此问题的规模在一定程度上得到了缓解。您能否快速截屏展示一下当您将 3 个主题批量重新分类为“watch-first”时会发生什么?
ToddZ
2024 年10 月 2 日 22:39
8
我不会考虑批量标记 500 个主题,但想知道这是否会比发布到每个人都关注的“公告”类别造成更大的负担?
(编辑:哎呀,我写的时候 Moin 发布了。)
我自己的用例可能是一周发布一次到“升级”以通过通知邮件发送。
这似乎与之前关于重新分类主题的讨论相似:
(编辑:你已经知道了,抱歉。)
…这已通过 FIX: 主题被重新分类时,关注首帖用户的通知丢失 · discourse/discourse@147ea37 · GitHub 得到解决。
我只是想使用一个标签,而不是为相似的主题设置两个类别。(它们属于同一类,但有少数几个在发布后,被认为值得发送给那些不常上线、有时只通过电子邮件接收信息的用户的。)
1 个赞
ToddZ
2024 年10 月 3 日 03:27
10
出于好奇/比较的目的,我正在测试“在类别中 观看第一个帖子”的行为,它在重新分类时不会 通知。
我的 email time window mins 是 10,我会在步骤之间留出 15 分钟。
我现在已经重复了几次……
在未观看的沙盒类别中创建新主题。等待 15 分钟。
将主题移至用户正在观看的类别:立即触发通知,10 分钟后发送电子邮件。
在未观看的沙盒类别中创建另一个新主题。等待 15 分钟。
将主题移至用户“观看第一个帖子”的类别:永远什么都不做。
(自托管标准安装,3.4.0.beta2-dev (0c019b2e45),tests-passed。)
也许是我的流程有问题,但我无法想象是什么。2018 年已解决的功能是否可能已失效?
1 个赞
sam
(Sam Saffron)
2024 年10 月 3 日 04:15
11
很有可能,这是应用程序中一个特别复杂的部分。
关于重新标记/重新分类的通知需要很多保护措施。
我们应该通知一个8年前的主题吗?
我们应该一次推送50条通知吗?在1小时内?
我们需要从弄清楚期望的行为是什么以及保护措施应该是什么开始。
FWIW 给现有主题添加标签应向关注该标签的“关注首帖”的用户发送通知。
我刚刚在我的测试站点上进行了测试(3108e3a6b6 ),它似乎仍然正常工作。
只是为了确认一下,您是否在任何时候更改了 disable tags edit notifications 管理员设置?(以及类别版本的 disable category edit notifications)。
4 个赞
ToddZ
2024 年10 月 3 日 13:50
13
哦。
嗯。
天啊。
我要去钻进石头缝里了。
我忘了那些设置还存在。我想我禁用它们的时候,只想着像*“管理员添加了标签或更改了您主题的类别”*这样的通知——而不是像“关注”或“仅关注首帖”这样的操作。
我认为可能仍然存在一些不一致之处,因为“关注”类别似乎覆盖了禁用类别编辑修改,而“仅关注首帖”则没有。作为惩罚,我将更彻底地测试这一点,并跟进我之前就此问题联系过的另外几个人。
(另外,@sam 确实在某种程度上支持了我的结论 )
但感谢 @JammyDodger 将我从花费数小时摆弄 rails 脚本中解救出来。我的下一步是卖掉我的沙发,然后付钱给 @pfaffman 寻求帮助。
6 个赞
system
(system)
关闭
2024 年11 月 2 日 13:50
14
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.