Интересно, можно ли искать и массово удалять личные сообщения по их заголовку или по другому признаку?
Я включил опцию «Первое решение принято» в автоматизации и думал, что уведомление будет отправлено только один раз, но оно отправляется с каждым решением (и/или повторно).
Ах, я неправильно прочитал: подумал «каждый PM», а не «группа PM, подходящих под шаблон». У вас есть доступ к серверу, чтобы что-то запустить через консоль Rails? Или, возможно, лучше воспользоваться API.
В Административных массовых операциях должны быть подсказки для взрослых. Если вы сможете найти пример с PostDestroyer и пример, который выбирает темы по совпадению заголовка, я думаю. Это при условии, что вы используете собственный хостинг и имеете доступ к Rails.
Подходит ли это вам, ребята? Можно ли это улучшить?
Topic.where("archetype = 'private_message' AND title ILIKE ?", "%something%").find_each do |t|
PostDestroyer.new(Discourse.system_user, t.ordered_posts.first).destroy
puts "Удалено ЛС: #{t.id} - #{t.title}"
end
Это должно быть возможно через интерфейс, на случай если это предпочтительный способ.
Если вы используете фильтр поиска in:all-pms вместе с заголовком или ключевыми словами из вашего автоматического сообщения, они должны появиться в результатах поиска. Затем вы можете применить массовые действия и удалить их со страницы результатов.