Come cambiare i livelli di notifica per tutti gli utenti su un argomento?

Qualcuno conosce un modo sicuro per impostare i livelli di notifica di tutti gli utenti su un argomento su un singolo valore? Immagino che sarebbe qualcosa nella console Rails.

Voglio impostare tutti gli utenti su un argomento su “Silenzia” o “Normale” invece di “Segui” o “Traccia”.

L’obiettivo è ridurre l’attività su un argomento di grandi dimensioni in una situazione di moderazione complessa.

1 Mi Piace

Menu amministratore
Impostazioni
Preferenze utente


Aspetta, scusa, intendevi solo 1 argomento. Sì, immagina che serva rails

1 Mi Piace

Che ne dici di abilitare la modalità lenta? Non aiuterebbe a ridurre l’attività? :thinking:

Questa situazione è complessa e non voglio un’indicazione visiva che inneschi una discussione pubblica al riguardo che potrebbe richiedere ore di moderazione. (Sono già completamente sopraffatto.) L’esito ideale è che le persone semplicemente non vengano ricordate dell’esistenza dell’argomento.

1 Mi Piace

Rimuoverei l’argomento dall’elenco. Quindi sarà nascosto dal forum, quindi probabilmente la maggior parte degli utenti non lo vedrà più lì. Ma quando avranno un link a quell’argomento (ad esempio, perché hanno ricevuto una notifica), potranno comunque aprirlo.

2 Mi Piace

Tuttavia, solo per informazione, se lo stanno guardando, riceveranno comunque notifiche quando sarà Non in elenco.

Penso che ora puoi usare l’endpoint /t/ID_ARGOMENTO/notifications per impostare il livello di notifica per un utente su un argomento specifico, se questa è una scelta più allettante rispetto alla console Rails?

Dettagli aggiuntivi
  • L’utente API dovrebbe essere un amministratore (quindi dovrebbe avere ambito globale) per poter modificare il livello di notifica di un altro utente.
  • URL endpoint: urlsito/t/<id_argomento>/notifications
  • Tipo di richiesta: POST
  • Parametri:
    • username o external_id dell’utente di destinazione. Se vuoto, verrà modificato il livello di notifica dell’amministratore per l’argomento.
    • notification_level: valore intero corrispondente al livello
      • muted: 0,
      • regular: 1,
      • normal: 1, # alias per regular
      • tracking: 2,
      • watching: 3,

Ma per la console Rails penso che sarebbe questo: (ricorda di fare un backup nel caso prima di provare a cambiare le cose in Rails :warning:)

TopicUser.where(topic_id: ID_ARGOMENTO).update(notification_level: 1)

(1 è normale, 0 è muto)

Ciò cambierebbe quelli a livello di argomento, ma potrebbero esserci quelli a livello di categoria e tag che potrebbero comunque influire su chi riceve un ping per nuove attività.

E una piccola query di esplorazione dati per controllare i livelli per gli utenti su un argomento, se utile:

SELECT 
    topic_id,
    user_id,
    notification_level
FROM topic_users
WHERE topic_id = ID_ARGOMENTO
3 Mi Piace

Grazie per la risposta dettagliata. Proverò l’API domani.

2 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.