Non visualizzare i nomi utente che detengono un badge specifico

C’è un modo per nascondere l’elenco degli utenti che hanno un badge specifico?

Ho consultato Don't list members having the same badges e Hide badge user list? ma non si adattano esattamente al nostro caso d’uso (o più probabilmente, al nostro caso limite).

I badge sono estremamente popolari nella nostra community, sono una risorsa fantastica per l’engagement.

Abbiamo alcune categorie premium sul nostro Discourse che sono disponibili solo per gli abbonati / membri paganti e vorremmo premiare quei membri paganti con un badge d’oro per il loro profilo, chiamiamolo “Membro Extra Speciale” in questo esempio.

Il numero di membri paganti che abbiamo è un numero commercialmente sensibile.

Quel numero verrebbe divulgato a chiunque possieda il badge “Membro Extra Speciale”, anche se è nascosto nella pagina dei badge, potrebbero semplicemente fare clic sul proprio badge e quindi vedere tutti gli altri membri che possiedono anche quel badge.

C’è un modo per impedire alle persone di vedere chi altro possiede solo un badge specifico? :thinking:

Potresti usare invece il flair?

Hmmm :thinking:

Molto probabilmente…

Questo avviso comporta il rischio di divulgare numeri di membri sensibili?

Dato che questo è un gruppo primario, il nome ‘hidden_group_test_2’ verrà utilizzato nelle classi CSS che possono essere visualizzate da chiunque.

Scusa per i colori sgargianti, sono solo per test:

1 Mi Piace

Non ho obiezioni alla divulgazione del nome del gruppo nascosto, purché l’elenco/conteggio dei membri non lo sia.

Ho eseguito alcuni test ma non sono sicuro che sia l’ideale neanche per il nostro caso d’uso.

Il flair (dal nostro gruppo nascosto) viene applicato all’utente, ma nel momento in cui entra in uno qualsiasi dei nostri altri gruppi, il suo flair viene sostituito da quello del gruppo a cui si è appena unito.

Sul loro profilo, sono quindi in grado di scegliere solo un flair di un gruppo pubblico, perdono completamente l’accesso al loro flair speciale da membro e non possono riapplicarlo :confused:

Hai questo impostato sugli altri gruppi:

Screenshot 2023-02-07 at 2.09.34 PM

Si trova sotto ‘Effetti’ su Gestisci/Iscrizione per ciascuno dei gruppi.

Se è impostato su quel gruppo e nessun altro, non dovrebbe sovrascrivere.

Il gruppo principale determinerà il flair e il titolo predefiniti per l’utente.

1 Mi Piace

Sì, è impostato su tutti i nostri gruppi, così ottengono il flair per il gruppo a cui si sono appena uniti.

Altri pensieri erano lungo la linea di forzare un titolo su tutti gli utenti, ad esempio “Ospite”, ma questo potrebbe essere semplicemente modificato da loro in uno qualsiasi dei titoli di badge che possiedono. Non credo di poter impedire alle persone di cambiare il loro titolo.

Sto cercando un modo per far sì che ospiti e membri si identifichino come tali (ad esempio, un badge) ma senza rivelare il numero di membri Extra Special che abbiamo.

Ci sarebbero altre soluzioni o soluzioni alternative innovative?

Potrei fare qualcosa di intelligente con i “Campi utente”?

Forse creare un campo utente chiamato “Stato”, renderlo visibile sul loro profilo, ma non modificabile da loro. Potrei quindi aggiornare questo campo utente “stato” automaticamente tramite una chiamata API? (inviamo una chiamata API per aggiungerli a un gruppo)

Potrei averci preso:\n\n[quote="Richie Rich, post:8, topic:254318, username:Richie"]\nMagari creare un campo utente chiamato “Stato”, renderlo visibile sul loro profilo, ma non modificabile da loro.\n[/quote]\n\nHo creato un campo utente chiamato "Membro" e non permetto loro di modificarlo:\n\n

\n\nSe modifico un utente per testarlo, posso vedere "Membro: Sì" sul loro profilo:\n\n\n\nQuesto è probabilmente il fattore decisivo, però:\n\n[quote="Richie Rich, post:8, topic:254318, username:Richie"]\nPotrei quindi aggiornare questo campo utente "stato" automaticamente tramite una chiamata API?\n[/quote]\n\nCome potrei fare? :thinking:\n\nHo già una chiamata API esistente che viene effettuata quando qualcuno diventa membro, invio una chiamata API a Discourse per aggiungerlo a un gruppo. Potrei anche inviare una seconda chiamata API per aggiornare quel campo utente?

Certamente :slight_smile:

Ogni volta che esegui un’azione in Discourse, puoi controllare la scheda di rete degli strumenti per sviluppatori del tuo browser per vedere la query che è stata effettuata.

Ad esempio, qui salvo il profilo di un utente:

Vedi l’URL della richiesta, che menziona il nome utente e il tipo di richiesta (PUT).
Nella scheda Payload, vedi i dati pertinenti:

I campi personalizzati sono elencati come user_fields[X] dove X è il numero del campo personalizzato.


Modifica: Ho visto che hai risolto su Dev, quindi, solo per cross-linkare… :slight_smile:

1 Mi Piace