Plugin di moderazione dell'OP dell'argomento

Continuando la discussione da Possibilità per gli utenti di agire come moderatori sui propri argomenti:

Questo plugin è stato fondamentalmente sviluppato e testato ora.

Funzionalità

Non mi piace molto spiegare le sue funzioni, quindi ho deciso di usare le immagini per illustrare cosa può fare.

Utenti

  • Aggiunge un pulsante che appare subito dopo il pulsante topic-admin per il creatore dell’argomento pubblico.
  • I messaggi privati non sono supportati poiché non penso siano necessari.
  • Tutti devono fare domanda prima di ottenere i permessi di moderazione, ma la domanda può essere approvata automaticamente.

  • Dopo la domanda, apparirebbero i pulsanti di moderazione.

Manipolazione dei Gruppi

Amministratori

Note importanti

Dopo l’installazione, seguire le istruzioni sottostanti prima di abilitare il plugin

  • Prima di abilitare questo plugin, è necessario creare un account da utilizzare come “bot assistente utente”. Sebbene questo plugin possa creare automaticamente un utente bot o utilizzare il @Discobot esistente, non lo consiglio, perché gli utenti bot creati dal plugin non possono essere modificati nel pannello di amministrazione. È possibile concedergli qualsiasi permesso si desideri, poiché in realtà il codice pertinente è stato appositamente scritto per far agire sempre il bot come Admin, ma suggerisco che sia meglio concedergli i permessi di Admin o moderatore. Durante lo sviluppo, a volte a causa di questo motivo si verificano bug sconosciuti che non riesco a riprodurre stabilmente.

  • Quindi, è necessario creare un argomento, che può essere un messaggio privato o un argomento pubblico. Inserire il suo topic_id in SiteSetting.topic_op_admin_logger_topic. Se topic_op_admin_enable_topic_log è attivato, il bot di cui sopra creerà post di log più dettagliati all’interno dell’argomento.

  • Dopo aver creato il robot assistente utente, annotare il suo user id e quindi inserirlo in SiteSetting.topic_op_admin_bot_user_id sopra.

  • Aprire determinate impostazioni senza seguire correttamente i passaggi precedenti può causare errori o persino bloccare il tuo sito web

18 Mi Piace

Hai preso in considerazione la possibilità di collegare il bot al gruppo di moderatori delle categorie? Come mod/admin completo, secondo me, potrebbe essere rischioso.

Ci sono alcuni plugin che sono stati contrassegnati come sperimentali nella categoria dei plugin fino a quando non sono stati considerati fuori dalla fase di sviluppo, come Who’s Online.

Forse @Canapin può dare un’occhiata alla categoria e discuterne con te.

Ottimo lavoro, buona fortuna con lo sviluppo!

Mi chiedo se dovremmo avere tag “Alpha” e “Beta” in Plugin? :thinking:

Ciò renderebbe più facile trovare nuovi plugin e rifletterebbe anche il rischio che si correrebbe installandoli…

3 Mi Piace

I plugin sono codice che viene eseguito insieme a Discourse. Non è un problema se il bot ha qualsiasi permesso, da Admin a TL0, perché in realtà è solo un oggetto di operazioni di codice e ha permessi illimitati.

In realtà ho finito di sviluppare questa parte del plugin. Ma sarei cauto nel pubblicare questo plugin su Plugin date le conseguenze più catastrofiche se un plugin (piuttosto che un componente tematico) dovesse andare storto.

Lo rilascerò ufficialmente dopo che il plugin sarà stato lanciato sul mio forum e dopo un periodo di verifica.

3 Mi Piace

Questo plugin è stato fondamentalmente sviluppato e testato. Ora puoi installarlo con fiducia!
(ma segui i passaggi scritti sopra:

5 Mi Piace

@Lhc_fl questo sembra super utile, ma consente all’OP di pubblicare sul proprio argomento mentre è chiuso, come potrebbero fare un moderatore o un amministratore? Per noi sembra un flusso molto migliore rispetto a doverlo sbloccare, pubblicare e poi bloccarlo di nuovo.

1 Mi Piace

Sto pianificando di aggiungere questa funzionalità, ma sono stato molto impegnato di recente e non ho molto tempo per occuparmi del mio plugin. Chiunque sia interessato può inviare una pull request.

2 Mi Piace

@Lhc_fl
Questo è un bel plugin,

  • è possibile renderlo un componente del tema? Più persone potranno usarlo,
    non abbiamo il permesso di installare plugin sull’istanza, ma potremmo installare un componente del tema.

  • si potrebbe aggiungere “Dividi e unisci argomenti” all’elenco delle autorizzazioni?
    grazie…

No, è impossibile perché deve interagire con il database.

Forse, ma è più difficile. Non ho energia per aggiungere nuove funzionalità di recente.

3 Mi Piace

Mi dispiace che questo plug-in sia incompatibile con la nuova versione di Discourse a causa dell’aggiornamento di ember.js, ma sono troppo impegnato ora per risolverlo. Se qualcuno è disposto a risolverlo, si prega di inviare una PR su Github.

3 Mi Piace

Ho aggiornato questo plugin oggi per adattarlo alla nuova versione di discourse. Ora il plugin non è più #rotto

9 Mi Piace

Ho attivato il plugin User autonomy enabled, ma si verifica un errore dopo l’invio della richiesta

questo è il log nel terminale del browser


chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:393
SyntaxError: Token inatteso '<', " <!DOCTYPE "... non è JSON valido
    at D.parse [as parseJSON] (<anonymous>)
    at l (chunk.7b3110aa5b5be8…1d8cd9.js:393:63167)
    at p (chunk.7b3110aa5b5be8…1d8cd9.js:393:63847)
    at k (chunk.7b3110aa5b5be8…41d8cd9.js:308:3688)
    at w (chunk.7b3110aa5b5be8…41d8cd9.js:308:3581)
    at f (chunk.7b3110aa5b5be8…41d8cd9.js:308:3077)
    at invoke (chunk.7b3110aa5b5be8…41d8cd9.js:121:10063)
    at m.flush (chunk.7b3110aa5b5be8…41d8cd9.js:121:9140)
    at g.flush (chunk.7b3110aa5b5be8…41d8cd9.js:121:11012)
    at q._end (chunk.7b3110aa5b5be8…41d8cd9.js:121:16062)
    at q.end (chunk.7b3110aa5b5be8…41d8cd9.js:121:13189)
    at q._run (chunk.7b3110aa5b5be8…41d8cd9.js:121:16576)
    at q.run (chunk.7b3110aa5b5be8…41d8cd9.js:121:13722)
    at c (chunk.7b3110aa5b5be8…41d8cd9.js:161:53419)
    at t.error (chunk.7b3110aa5b5be8…41d8cd9.js:302:131483)
    at l (chunk.7b3110aa5b5be8…1d8cd9.js:191:58317)
    at Object.fireWith [as rejectWith] (chunk.7b3110aa5b5be8…1d8cd9.js:191:59062)
    at C (chunk.7b3110aa5b5be8…41d8cd9.js:194:5783)
    at XMLHttpRequest.<anonymous> (chunk.7b3110aa5b5be8…41d8cd9.js:194:8211)
l	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:393
p	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:393
k	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:308
w	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:308
f	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:308
invoke	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
flush	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
flush	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
_end	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
end	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
_run	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
run	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
c	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:161
t.error	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:302
l	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:191
fireWith	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:191
C	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:194
(anonymous)	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:194
XMLHttpRequest.send		
send	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:194
ajax	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:194
o	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:302
(anonymous)	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:308
e	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:308
D	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:302
submit	@	request-op-admin-form.js:106
(anonymous)	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:421
invoke	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
flush	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
flush	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
_end	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
end	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
_runExpiredTimers	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
setTimeout		
setTimeout	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
_installTimerTimeout	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
_reinstallTimerTimeout	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
_later	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
later	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
T	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:161
_triggerAction	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:421
click	@	chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:421