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.
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>
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
Ho inserito il tuo post nell’argomento esistente poiché sembrano domande molto simili. ![]()
Potresti voler bloccare l’altro argomento allora. Probabilmente avrei dovuto rispondere a questo argomento invece… ![]()
Mi sono affidato troppo agli strumenti automatici e non ho controllato.
Ho rimosso l’altro argomento. ![]()
Grazie! ![]()
Se stai usando await, la tua funzione deve essere async.
Non so come non me ne sia accorto! Grazie! Ora funziona ![]()
Va bene! Ogni tanto, tutti facciamo delle sviste del genere.
Prego! ![]()
tutte queste hack sono belle e tutto, ma questa dovrebbe essere una funzionalità integrata in un modo o nell’altro.