Создание системы перемещения тем на основе заданных критериев, таких как временная метка

Ну что ж, я снова здесь… с довольно заметным прогрессом. Я потратил на это около 6,5 часов.

Я начал с некоторых концепций, основанных на ваших предложениях, но столкнулся с несколькими недостатками, которые в итоге привели меня в другое русло, хотя, надеюсь, концептуально это всё ещё отличный вариант!

Изначально я планировал использовать шаблоны форм, но меня не устраивал отступ между каждым ответом в строке. Я искал формат, более похожий на мой текущий набор. Кроме того, меня отпугнуло необходимость вручную прописывать всё в коде.

Я перенёс свой Python-скрипт в плагин для Discourse (обратите внимание: большую часть переноса выполнил ИИ). Сначала у меня возникли некоторые трудности, и теперь, когда он работает, мне всё ещё нужно его доработать. Дизайн немного громоздкий, и, вероятно, есть ещё пара мелких недочётов. Я не очень хорошо владею Ruby, поэтому код там проверен по мере возможностей.

Итак, о самом плагине…

Концепция/цель: Возможность быстрее перемещать темы из одной категории в другую по определённым триггерам.

Плагин работает в двух режимах: ручной и автоматический (по расписанию).
Чтобы настроить триггер, вы можете выбрать категории «из» и «в», а затем уточнить условия, например, по тегам. Помимо фильтров, конечным условием (триггером) в текущей версии является: истечение срока (или начало), закрытие, решение или архивация темы.

Также есть функция ведения логов для перемещаемых тем, и вы можете решить, как долго эти логи будут доступны.

На момент написания этого ответа я ещё не полностью протестировал триггеры закрытия, решения и архивации.
Как только я немного приведу всё в порядок и проведу дополнительное тестирование, чтобы убедиться, что всё работает корректно, я с радостью опубликую плагин в категории плагинов для общего доступа. Но пока что он будет доступен только на GitHub. Также мне, вероятно, нужно вернуться к проверке прав доступа, чтобы убедиться, что запускать его может не каждый, или добавить возможность явно включать/выключать эту настройку.

Не стесняйтесь делиться своими мыслями или сказать, если я просто абсолютно сошёл с ума, занимаясь этим.

Источник: https://github.com/jdc20181/DiscourseTopicMigrationTool