Plugin para eliminar temas sin responder

El plugin Eliminar Temas Sin Respuestas escanea las categorías designadas en busca de temas que existen desde hace más de x días y que no han recibido ninguna respuesta, y los elimina. Esto mantiene tu foro limpio de temas que, por cualquier motivo, no lograron ningún tipo de tracción.

Configuración:

  • delete_unreplied_topics_categories: las categorías en las que se trabajará
  • delete_unreplied_topics_days: la cantidad de días después de los cuales se eliminará un tema sin publicaciones
  • delete_unreplied_topics_dry_run: una medida de seguridad para probar y asegurar que el plugin no eliminará partes no deseadas de tu foro

El plugin registra sus acciones en /logs.

El repositorio se puede encontrar aquí.

Este trabajo ha sido patrocinado por @outofthebox.

14 Me gusta

¡Trabajo increíble, @RGJ! Tu hábil desarrollo de este plugin ahorra mucho tiempo y mejora enormemente nuestra comunidad.

8 Me gusta

Gracias por escribir esto.

Sería bueno que también registrara el título del tema además del ID (DeleteUnrepliedTopics eliminando el ID del tema #{t.id}).

Y sería más tranquilizador si delete_unreplied_topics_dry_run tuviera por defecto true :slight_smile:

2 Me gusta

Gracias, esas son sugerencias muy útiles. He realizado esos cambios.

5 Me gusta

Por fin he instalado este plugin, por ahora en modo de prueba. Parece identificar correctamente los temas que deben eliminarse.

En los registros, cada línea como DeleteUnrepliedTopics eliminaría el Tema ID *número* (*título del tema*) (modo de prueba) va precedida por el indicador X de un “Error”. Esperaba que fuera “Info” o incluso “Advertencia”.

@RGJ ¿Es esto esperado? Gracias. Estoy usando la última versión de Discourse.

1 me gusta

Sí, parece que es así por diseño. Recuerdo vagamente que hubo algún problema con los niveles de depuración, por lo que lo configuré como un error. ¡Disculpa cualquier confusión!

4 Me gusta

Gracias por aclarar eso. El plugin funciona como se esperaba, gracias; aunque, curiosamente, Discourse muestra los temas no listados como si tuvieran al menos una respuesta (es decir, el acto de no listarlos), lo que significa que tu plugin no los elimina.

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.

4 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