Aggiungi automaticamente un avviso dello staff ai post degli utenti

Il nostro sistema genera account per la pubblicazione di annunci, ci stavamo chiedendo se ci fosse un modo per aggiungere una notifica separata per lo staff che abbia la propria icona che si aggiunge automaticamente a questi post in modo da poter spiegare che si tratta di un account generato automaticamente? Anche per ID utente/nome o gruppo funziona.

1 Mi Piace

Penso che tu possa ottenerlo con i componenti del tema. Ad esempio, questo codice fa quello che ti serve:

<script type="text/discourse-plugin" version="0.8">

const { iconHTML } = require("discourse-common/lib/icon-library");

const bot_id = 128856; // o qualcos'altro
api.decorateWidget("post:before", (helper) => {
    if (helper?.getModel()?.user_id !== bot_id) { return; }
    return helper.h("div.post-notice", [
        helper.rawHtml(iconHTML("shield-alt")), // nome icona
        helper.h("p", "questo è un bot"),  // testo
    ]);
});

</script>
3 Mi Piace

Ciao!

Ho provato a usare JS per aggiungere automaticamente un avviso allo staff a un account generato automaticamente se fa parte del gruppo “autogenerated”, ma non sono sicuro di dove sto sbagliando.

   <script>
     window.onload = function() {
       const { groupMembers } = await discourse.groups.getMembers({
         group_name: 'autogenerated'
       });

       if (groupMembers.includes(helper.getModel().user_id)) {
         return helper.h('div.post-notices', [
           helper.rawHtml(iconHTML('shield-alt')),
           helper.h('p', 'Questo account è generato automaticamente e dovrebbe essere considerato un bot. L\'account non è monitorato dallo Staff.')
         ]);
       }
     }
   </script>

Ho inserito il codice nella parte “Head” del nostro componente, tuttavia non viene eseguito. Non sono sicuro se non stia chiamando la funzione correttamente, o se la mia istruzione IF non venga soddisfatta.

Ciao @jhealey :slight_smile: Ho inserito il tuo post nell’argomento esistente poiché sembrano domande molto simili. :+1:

Potresti voler bloccare l’altro argomento allora. Probabilmente avrei dovuto rispondere a questo argomento invece… :sweat_smile:

1 Mi Piace

Mi sono affidato troppo agli strumenti automatici e non ho controllato. :slight_smile: Ho rimosso l’altro argomento. :+1:

Grazie! :blush:

Se stai usando await, la tua funzione deve essere async.

1 Mi Piace

Non so come non me ne sia accorto! Grazie! Ora funziona :slight_smile:

Va bene! Ogni tanto, tutti facciamo delle sviste del genere.

Prego! :heart:

tutte queste hack sono belle e tutto, ma questa dovrebbe essere una funzionalità integrata in un modo o nell’altro.