Plugin per eliminare i topic senza risposte

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 Mi Piace

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

8 Mi Piace

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 Mi Piace

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

5 Mi Piace

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 Mi Piace

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 Mi Piace

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 Mi Piace

Ho appena notato che anche il tuo plugin non elimina gli argomenti bloccati, poiché l’atto di bloccare un argomento è considerato una risposta. Si scopre che questa è una buona cosa.

2 Mi Piace


Sai perchĂŠ compaiono questi messaggi di errore?

Quando questa opzione è abilitata, il plugin registrerà solo le sue azioni senza eseguirle effettivamente.

2 Mi Piace

Ciao,
questo plugin sembra essere esattamente quello che sto cercando, ma sono un po’ ansioso di installarlo poiché non c’è stata alcuna attività nel repository per 4 anni.
Pensi che dovrebbe ancora funzionare con la versione corrente di Discourse, o è probabile che rompa qualcosa?

1 Mi Piace

È stato scritto molto bene :sunglasses:

Ed è un plugin molto specifico. Sono sicuro al 99,9% che funzioni ancora correttamente.
Puoi prima impostarlo su “dry run” in modo che non rompa nulla, se questo ti conforta.

4 Mi Piace

Perfetto. Grazie per la rapida risposta!

1 Mi Piace

@RGJ in base a piĂš richieste da altri utenti:

non potrebbe essere utilizzato questo tuo plugin come base per un nuovo plugin che elimini gli argomenti in una particolare categoria se hanno più di N giorni, impostati dall’utente?

Se il tuo plugin sta giĂ  scansionando gli argomenti, non sarebbe possibile impostare delle regole che dicano:
Se la categoria è X, cerca argomenti in cui la data di creazione e la data corrente superano N giorni e, in tal caso, eliminali.

Non conosco i dettagli della creazione e modifica dei plugin, ma questa sarebbe una grande aggiunta.

Si tratterebbe di rimuovere una singola riga. (Oppure, ovviamente, creare un’impostazione max_replies, predefinita 0, che può quindi essere impostata su 99999 per ottenere l’effetto desiderato).

Detto questo, fatico a pensare a un buon caso d’uso per questo.

3 Mi Piace

Un caso d’uso che mi è venuto in mente potrebbe essere una lounge fuori tema che si resetta ogni mese. Pensata forse per un “sfogo” libero per tutti.

Per il resto, non sono sicuro di molti casi d’uso. Inoltre, al momento penso che sia solo manuale, a meno che non si possa creare un’automazione. Per applicare semplicemente un timer all’argomento con la funzione di eliminazione? Non ricordo se dà l’opzione di eliminare l’argomento o solo le risposte.

1 Mi Piace

C’è una discussione su diversi casi qui:

Per il mio caso particolare (simile a uno degli utenti nell’argomento sopra), vorrei avere una categoria chiamata “Annunci” per musicisti (ad esempio, cantanti che vogliono trovare produttori e viceversa), ma non voglio che gli argomenti siano disponibili per sempre, o che vengano rinnovati semplicemente aggiungendo una nuova risposta. Voglio impostare un timer, ad esempio, in cui tutti gli argomenti all’interno di quella categoria che hanno 2 settimane vengano eliminati, indipendentemente dalle risposte. In questo modo, gli utenti sanno che devono creare un nuovo argomento, invece di aggiungere semplicemente una risposta senza significato come un’emoji, altrimenti l’argomento si riempirà di risposte con 1 emoji, il che ha un brutto aspetto. Inoltre, costringe le persone che vogliono davvero trovare persone con cui lavorare, a impegnarsi e creare un nuovo argomento. Questo tipo di filtro esclude le persone troppo pigre per creare un nuovo argomento, salvare il loro testo sul computer o sul telefono, ecc.

Spero abbia senso?

Quindi, se questo dovesse diventare un plugin e sto usando Communiteq per il mio hosting, a quale piano dovrei aderire per poter installare il plugin?

Potresti impostare la chiusura automatica degli argomenti?

Sarebbe il piano Professional.

2 Mi Piace

Sarebbe meno efficace del tuo plugin, perchĂŠ consentirebbe ai vecchi topic di essere visibili quando non sono piĂš efficaci. PerchĂŠ dovrei volere topic di persone che cercano musicisti da 3 anni fa? Voglio che vengano eliminati.

Inoltre, chiudere il topic è come il tuo plugin: dipende dalle risposte, che non è quello che vorrei. Come ho detto, questo sarebbe incline ad avere utenti che aggiungono solo un commento emoji per mantenere attivo il topic.

Fondamentalmente, voglio solo che i topic vengano eliminati dopo N giorni/settimane, indipendentemente da tutto. E come puoi vedere dal topic che ho condiviso, altri utenti hanno la stessa esigenza. PoichÊ il tuo plugin sta già facendo qualcosa di simile, presumerei che creare una versione per eliminare indipendentemente dalle risposte non sarebbe un grosso problema e ogni amministratore potrebbe scegliere ciò che desidera per il proprio forum in base alle proprie esigenze.

Domanda sbagliata, tra l’altro. Quello che vuoi tu è totalmente irrilevante. Quello che vuole un utente è rilevante. E gli argomenti non costano nulla.

1 Mi Piace