Plugin para eliminar temas sin responder

The Delete Unreplied Topics plugin scans designated categories for topics that exist over x days which did not get any replies, and deletes them. This keeps your forum clean of topics that did not gain any traction for whatever reason.

Settings:

  • delete_unreplied_topics_categories the categories to work on
  • delete_unreplied_topics_days the amount of days before a topic without any posts will be deleted
  • delete_unreplied_topics_dry_run a safety net to test and make sure the plugin will not delete unwanted parts of your forum

The plugin logs its actions in /logs.

The repository can be found here.

This work has been sponsored by @outofthebox.

14 Me gusta

Amazing work @RGJ! Your skillful development of this plugin is a huge time saver and greatly improves our community.

8 Me gusta

Thank you for writing this.

It would be good if it would log the topic title as well as ID (DeleteUnrepliedTopics removing Topic ID #{t.id}).

And it would be more reassuring if delete_unreplied_topics_dry_run would default to true :slight_smile:

2 Me gusta

Thank you, those are very useful suggestions. I have made those changes.

5 Me gusta

I finally installed this plugin, so far in dry run mode. It seems correctly to identify the topics to delete.

In the logs each line like DeleteUnrepliedTopics would remove Topic ID *number* (*topic title*) (dry run mode) is preceded by the X indicator for an “Error”. I’d have expected it be “Info” or even “Warning”.

@RGJ Is that expected? Thanks. I’m using the latest version of Discourse.

1 me gusta

Yes, that seems to be by design. I vaguely remember that there was some issue with debug levels so I made it to be an error. Sorry for any confusion!

4 Me gusta

Thanks for clarifying that. The plugin works as expected, thanks - though, interestingly, unlisted topics are displayed by Discourse as having at least one reply (i.e. the act of unlisting) which means your plugin does not delete them.

1 me gusta

Acabo de notar que tu plugin tampoco elimina los temas fijados, ya que el acto de fijar un tema se considera una respuesta. Esto resulta ser algo bueno.

2 Me gusta


¿Sabes por qué aparecen estos mensajes de error?

Cuando esto esté habilitado, el plugin solo registrará sus acciones y no las ejecutará realmente.

2 Me gusta

Hola,
este plugin parece ser exactamente lo que estoy buscando, pero me da un poco de ansiedad instalarlo ya que no ha habido actividad en el repositorio en 4 años.
¿Crees que todavía debería funcionar con la versión actual de Discourse, o es probable que rompa algo?

1 me gusta

Estaba muy bien escrito :sunglasses:

Y es un plugin muy específico. Estoy 99,9% seguro de que sigue funcionando correctamente.
Puedes configurarlo primero en "dry run" para que no rompa nada, si eso te consuela.

4 Me gusta

¡Perfecto! ¡Gracias por la rápida respuesta!

1 me gusta

@RGJ basándonos en múltiples solicitudes de otros usuarios:

¿no se podría usar este plugin tuyo como base para un nuevo plugin que elimine temas en una categoría particular si tienen más de N días, establecido por el usuario?

Si tu plugin ya está escaneando temas, ¿no sería posible establecer algunas reglas que digan:
Si la categoría es X, escanea temas donde la fecha de creación y la fecha actual sea superior a N días, y si es así, elimínalos.

No conozco los entresijos de crear y modificar plugins, pero esta sería una gran adición.

Sería cuestión de eliminar una línea única. (O, obviamente, crear una configuración max_replies, por defecto 0, que luego se puede establecer en 99999 para lograr el efecto deseado).

Dicho esto, me cuesta pensar en un buen caso de uso para esto.

3 Me gusta

Un caso de uso que se me ocurre podría ser, quizás, un salón LN fuera de tema que se reinicia cada mes. Como si fuera para un tipo de desahogo libre para todos.

Por lo demás, tampoco estoy seguro de muchos casos de uso. Además, por el momento, creo que solo es manual a menos que se pueda crear una automatización. ¿Para aplicar simplemente un temporizador de tema con la función de eliminar? No recuerdo si da la opción de eliminar el tema o si solo son las respuestas.

1 me gusta

Hay una discusión sobre diferentes casos aquí:

Para mi caso particular (similar al de uno de los usuarios en el tema anterior), me gustaría tener una categoría llamada “Anuncios” para músicos (por ejemplo, cantantes que quieren encontrar productores y viceversa), pero no quiero que los temas estén disponibles para siempre, o que se renueven simplemente agregando una nueva respuesta. Quiero establecer un temporizador, por ejemplo, donde todos los temas dentro de esa categoría que tengan 2 semanas de antigüedad se eliminen, independientemente de las respuestas. De esa manera, los usuarios saben que necesitan crear un nuevo tema, en lugar de simplemente agregar una respuesta sin sentido como un emoji, de lo contrario, el tema se llenará de respuestas de 1 emoji, lo que se ve mal. También obliga a las personas que realmente quieren encontrar personas con las que trabajar, a esforzarse y crear un nuevo tema. Esto filtra a las personas que son demasiado perezosas para crear un nuevo tema, guardar su texto en su computadora o teléfono, etc.

¿Tiene sentido?

Entonces, si esto se convierte en un plugin y estoy usando Communiteq para mi alojamiento, ¿en qué plan necesitaría estar para poder instalar el plugin?

¿Podrías configurar el cierre automático de los temas?

Ese sería el plan Profesional.

2 Me gusta

Esto sería menos efectivo que tu plugin, porque permitiría que los temas antiguos fueran visibles cuando ya no son efectivos. ¿Por qué querría temas de personas que buscan músicos de hace 3 años? Quiero que se eliminen.

Además, cerrar el tema es lo mismo que tu plugin: depende de las respuestas, que no es lo que me gustaría tener. Como mencioné, esto sería propenso a que los usuarios simplemente agregaran un comentario tipo emoji para mantener el tema activo.

Básicamente, solo quiero que los temas se eliminen después de N días/semanas, sin importar nada. Y como puedes ver en el tema que compartí, otros usuarios tienen la misma necesidad. Dado que tu plugin ya está haciendo algo similar, supondría que crear una versión para eliminar independientemente de las respuestas no sería un gran problema y cada administrador podría elegir lo que quiere para su foro según sus necesidades.

Pregunta incorrecta, por cierto. Lo que quieres es totalmente irrelevante. Lo que quiere un usuario es relevante. Y los temas no cuestan nada.

1 me gusta